Forum Discussion

frigus's avatar
frigus
Regular Visitor
6 years ago
Solved

How to use SelectedValue when no selection is made

This works while SelectedBranch and SelectedCompany have a value selected from each corresponding slicer. The issue arises when either SelectedBranch or SelectedCompany is selected or none at all. I've tried writing a nested if to cater for it but there has got to be a simplier method.

 

Active = VAR SelectedBranch = SELECTEDVALUE(Companies[cBranch])
VAR SelectedCompany = SELECTEDVALUE(Companies[coid])
Return
CALCULATE(countrows(messages), Messages[mMessageType]<>1, FILTER(ALL(Messages), Messages[coid]=SelectedCompany), FILTER(ALL(Messages), Messages[mRegion]=SelectedBranch), FILTER(ALL(Messages), [mtimeofmsg]<=MIN(DateKey[Date])), FILTER(ALL(Messages), [DateCompleted]>=MIN(DateKey[Date])))
  • AlB's avatar
    AlB
    6 years ago
    Active =
    VAR SelectedBranch = SELECTEDVALUE ( Companies[cBranch] )
    VAR SelectedCompany = SELECTEDVALUE ( Companies[coid] )
    RETURN
        CALCULATE (
            COUNTROWS ( messages ),
            Messages[mMessageType] <> 1,
            FILTER (
                ALL ( Messages ),
                IF ( ISBLANK ( SelectedCompany ), TRUE (), Messages[coid] = SelectedCompany )
            ),
            FILTER (
                ALL ( Messages ),
                IF ( ISBLANK ( SelectedBranch ), TRUE (), Messages[mRegion] = SelectedBranch )
            ),
            FILTER ( ALL ( Messages ), [mtimeofmsg] <= MIN ( DateKey[Date] ) ),
            FILTER ( ALL ( Messages ), [DateCompleted] >= MIN ( DateKey[Date] ) )
        )
    

     

    Please mark the question solved when done and consider giving kudos if posts are helpful.

    Cheers  Datanaut

3 Replies

  • AlB's avatar
    AlB
    Icon for Community Champion rankCommunity Champion

    Hi frigus 

    I cannot help much cause you don't explain what exactly you would want to do in that case

    SELECTEDVALUE( ) has a second parameter that you can use to return a value when there's multiple or no selections.

    VAR SelectedBranch = SELECTEDVALUE(Companies[cBranch], ReturnValue when multiple selection here)

     

    Please mark the question solved when done and consider giving kudos if posts are helpful.

     

    Cheers  Datanaut

    • frigus's avatar
      frigus
      Regular Visitor

      Thanks for your assistance.

       

      If there is multiple or no selections, I'd like no filter to be applied at all e.g. in theory, this portion of the dax would be excluded.

       

      FILTER(ALL(Messages), Messages[coid]=SelectedCompany)

      Thanks.

       

       

      • AlB's avatar
        AlB
        Icon for Community Champion rankCommunity Champion
        Active =
        VAR SelectedBranch = SELECTEDVALUE ( Companies[cBranch] )
        VAR SelectedCompany = SELECTEDVALUE ( Companies[coid] )
        RETURN
            CALCULATE (
                COUNTROWS ( messages ),
                Messages[mMessageType] <> 1,
                FILTER (
                    ALL ( Messages ),
                    IF ( ISBLANK ( SelectedCompany ), TRUE (), Messages[coid] = SelectedCompany )
                ),
                FILTER (
                    ALL ( Messages ),
                    IF ( ISBLANK ( SelectedBranch ), TRUE (), Messages[mRegion] = SelectedBranch )
                ),
                FILTER ( ALL ( Messages ), [mtimeofmsg] <= MIN ( DateKey[Date] ) ),
                FILTER ( ALL ( Messages ), [DateCompleted] >= MIN ( DateKey[Date] ) )
            )
        

         

        Please mark the question solved when done and consider giving kudos if posts are helpful.

        Cheers  Datanaut