Forum Discussion

Samwise's avatar
Samwise
New Contributor II
4 days ago

FDX filter not working

I am trying to extract cube data using FdxExecuteDataUnit however, the filter does not seem to be filtering any data. Any ideas what the issue could be? I am seeing multiple flow members in the data table. 

Is there also a way to do all base members for a dimension?

         Dim dt As DataTable
 
		     Dim cbName As String = "FinConsol"
             Dim ent As String = "E#124"
             Dim cons As String = "C#Local"
             Dim scen As String = "S#Actual"
             Dim time As String = "T#2025M1"
			 Dim view As String = "V#YTD"
			 Dim filter As String = "Origin='Import' AND Flow='EndBalInp' AND Account = 'NetInc' AND UD7 = 'GL_Load'"
						
						
            dt = BRApi.Import.Data.FdxExecuteDataUnit(si, cbName, ent, cons, ScenarioTypeId.Actual, scen, time, view, True, filter, 1, False)

 

2 Replies

  • Stefano's avatar
    Stefano
    New Contributor II

    Hi Samwise​ 

    You should remove dimension prefixes in e.g. cons (just use "Local") and view (just use "YTD") as these fields are not "member filters".
    If you check the help you see which fields are MFs and which ones aren't. 
    Dim dt As DataTable = BRApi.Import.Data.FdxExecuteDataUnit(si, cubeName, entityMemFilter, consName, scenarioTypeId, scenarioMemFilter, timeMemFilter, viewName, suppressNoData, filter, parallelQueryCount, logStatistics)

    Regards
    Stefano

  • sameburn's avatar
    sameburn
    Contributor III

    Hi Samwise

    The FDX filter filters the original FDX result. So that means it will only apply if the filter conditions are met e.g those values exist in the dataset returned from your original data unit FDX call.

    If the filter criteria is not met. The filter does not apply. 

    So I suspect there is something awry with your filter. Maybe run the original data set without filters. Check if these values you are filtering by exist and then slowly build your filter (where clause) e.g start with Flow on its own

    The behaviour you are describing sounds like one of your filter conditions is not met.  Since your filter is using AND it implies that all of your filters need to be valid in order to invoke the filter

    Hope this helps

    Sam