Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hi,
I want to create a table containing (independent of the context) all rows of a table, but filtered on a column. A straighforward way is to use FILTER:
MyFilteredTable = FILTER(ALL(MyTable), MyColumn = "MyValue")
My undrstanding is that I could have used CALCULATETABLE with similar results:
MyCalculatedTable = CALCULATETABLE(ALL(MyTable), MyColumn = "MyValue")
However, the resulting table is not filtered, which might be indeed correct if one consider that the filter is applied before the evaluation of ALL(MyTable).
Now using a variable should solve that, as I'm sure it will be evaluated before the CALCULATETABLE
VAR AllMyTable = ALL(MyTable) MyCalculatedTable = CALCULATETABLE(AllMyTable, MyColumn = "MyValue")
That is not the case: MyCalculateTable still return on non-filtered table.
Am I missing anything ?
Note: I want to use CALCULATETABLE because I have actually a set of values to filter on (like VALUES(MyColumn)), which is not supported by FILTER.
Solved! Go to Solution.
The filter portion of calculatetable always gets applied first, then the first parameter. It is not important if the first parameter is a variable or a native formula inside calculatetable in this case. You are first applying a filter and then removing it with all.
Maybe this
calculatetable(mytable,filter(all(mytable),mytable[mycolumn]=“myvalue”))
@TL5866 wrote:Thanks. I was expecting that.
Then how would you suggest to do something like this, which is not supported by FILTER ?
MyFilteredTable = FILTER(ALL(MyTable), VALUES(MyColumn))
MyFilteredTable = calculatetable(mytable,ALL(MyTable), VALUES(MyColumn))
The filter portion of calculatetable always gets applied first, then the first parameter. It is not important if the first parameter is a variable or a native formula inside calculatetable in this case. You are first applying a filter and then removing it with all.
Maybe this
calculatetable(mytable,filter(all(mytable),mytable[mycolumn]=“myvalue”))
Thanks. I was expecting that.
Then how would you suggest to do something like this, which is not supported by FILTER ?
MyFilteredTable = FILTER(ALL(MyTable), VALUES(MyColumn))
@TL5866 wrote:Thanks. I was expecting that.
Then how would you suggest to do something like this, which is not supported by FILTER ?
MyFilteredTable = FILTER(ALL(MyTable), VALUES(MyColumn))
MyFilteredTable = calculatetable(mytable,ALL(MyTable), VALUES(MyColumn))
Aaah, right...
Thanks !!
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
113 | |
105 | |
99 | |
39 | |
30 |