Forum Discussion

lcfaria's avatar
lcfaria
Helper II
2 years ago
Solved

ALL function for variable table

Hi everyone,   I need to use the ALL function for a variable table that is calculating rankings.   This is what I am doing: VAR _Table1 = FILTER(ALLSELECTED(Table1[Info]), NOT(ISBLANK([Measure]...
  • AlexisOlson's avatar
    AlexisOlson
    2 years ago

    I think what's tripping you up is the column you are sorting data[Info] by isn't getting cleared out.


    I've written about this before here

    https://www.linkedin.com/feed/update/urn:li:linkedInArticle:7023407171707015168/

    The SQLBI guys wrote about it first.
    https://www.sqlbi.com/articles/side-effects-in-dax-of-the-sort-by-column-setting/

     

    I'm not sure exactly if this is what you're after but it might be a good starting place:

    VAR _MyInfoNeeded = "My info needed"
    VAR _Avg_MyInfoNeeded = [Avg $ My info needed only]
    VAR _AllSelectedInfos_ = ALLSELECTED ( data[Info] )
    VAR _AllRelevantInfos_ =
        FILTER (
            ALL ( data[Info], data[Location Order] ),
            data[Info] IN _AllSelectedInfos_ || data[Info] = _MyInfoNeeded
        )
    VAR _Avgs_ = ADDCOLUMNS ( _AllRelevantInfos_, "@Avg", [Average $] )
    VAR _Rank = RANKX ( _Avgs_, [@Avg], _Avg_MyInfoNeeded, ASC, DENSE )
    RETURN
        _Rank

    The key part is that you need to include both data[Info] and data[Location Order] when using ALL or ALLSELECTED.