Forum Discussion

rxt's avatar
rxt
Helper I
4 years ago
Solved

Return table with condition function

DAX conditional functions such as IF SWITCH RETURNS scalar value.

I am converting SSRS reports to Paginated Report and publishing in powerBI Report Server(PBIRS) using PowerBI Dataset. I am passing two parameters not tie to dataset table. example from dax studio. 

1. first parameter has the list and 2. parameter has the lanlogin. 

 

if lanlogin is found in the list different table values needed to be return otherwise another table values needed to be return. Like below, since limitation of IF SWITCH conditional DAX function I couldn't achieve what I was looking for example below:

 

DEFINE
var _SecurityList = row("HasAccess",@HasAccess)
var _IsMGR = if(ISBLANK(FILTER(_SecurityList, search(LEFT(RIGHT(@LanLogin,len(@LanLogin)-9),len(@LanLogin)-1),[HasAccess],1,0) >= 1)),"0","1")

if(ROW("fullAccess",_IsMGR)="1", table1, table2)

where table1 and table2 are from dataset and can be manipulated.

 

is there some idea  if this can be achievable in DAX so that I can return table or at least 1 columns with multiple rows using combination of table return functions and conditional functions.

 

 

 

  • rxt's avatar
    rxt
    4 years ago

    Many thanks Greg, that did the trick to me. Appriciated your Assistance

3 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    rxt If they have the same number of columns you could do this:

    Table 2 = 
        VAR __table1 = 'Table5'
        VAR __table2 = 'Table6'
        VAR __truefalse = IF(TRUE(),1,2)
        VAR __table1a = ADDCOLUMNS(__table1,"truefalse",__truefalse)
        VAR __table2a = ADDCOLUMNS(__table2,"truefalse",__truefalse)
        VAR __table1b = EXCEPT(__table1a,FILTER(__table1a,[truefalse]=1))
        VAR __table2b = EXCEPT(__table2a,FILTER(__table2a,[truefalse]=2))
    RETURN
        UNION(__table1b, __table2b)
    • rxt's avatar
      rxt
      Helper I

      Many thanks Greg, that did the trick to me. Appriciated your Assistance

      • CElzinga's avatar
        CElzinga
        Regular Visitor

        You appear to have marked your response to the answer as the accepted answer. I don't know if it's too late, but you should mark his answer as the solution so that he gets credit for it.