Here are Top “This vs That” DAX Function Comparisons with explanation
Topic | Function 1 | Function 2 | Key Difference |
---|---|---|---|
1. Standard Deviation | STDEV.S | STDEV.P | Sample vs Population (n-1 vs n) |
2. SUM vs SUMX | SUM() | SUMX() | Simple aggregation vs row-by-row evaluation |
3. AVERAGE vs AVERAGEX | AVERAGE() | AVERAGEX() | Aggregation vs iteration over rows |
4. CALCULATE vs CALCULATETABLE | CALCULATE() | CALCULATETABLE() | Returns scalar vs table |
5. FILTER vs ALL vs REMOVEFILTERS | FILTER() | ALL() | Filtering in vs removing filters |
6. EARLIER vs SELECTEDVALUE | EARLIER() | SELECTEDVALUE() | Row context vs filter context |
7. VALUES vs DISTINCT | VALUES() | DISTINCT() | VALUES returns blank if no value; DISTINCT never returns blank |
8. ALL vs ALLEXCEPT vs ALLSELECTED | ALL() | ALLEXCEPT() | Clear all filters vs keep selected filters |
9. RELATED vs RELATEDTABLE | RELATED() | RELATEDTABLE() | Returns single value vs a table of related rows |
10. ISFILTERED vs HASONEVALUE | ISFILTERED() | HASONEVALUE() | Check if filtered vs check for exactly one value |
11. CONTAINS vs LOOKUPVALUE | CONTAINS() | LOOKUPVALUE() | Boolean check vs value retrieval |
12. DIVIDE vs / Operator | DIVIDE() | / | Handles divide-by-zero errors |
13. NOW vs TODAY | NOW() | TODAY() | DateTime vs only Date |
14. RANKX vs TOPN | RANKX() | TOPN() | Ranking vs filtering top N rows |
15. MAX vs MAXX | MAX() | MAXX() | Aggregation vs iteration |
16. IF vs SWITCH | IF() | SWITCH() | Simple condition vs multiple logical branches |
17. GENERATE vs CROSSJOIN | GENERATE() | CROSSJOIN() | GENERATE can flatten results |
✅ Example Use Case
Topic: SUM
vs SUMX
Function | Example |
---|---|
SUM(Sales[Revenue]) | Just adds values from the column |
SUMX(Sales, Sales[Quantity] * Sales[UnitPrice]) | Calculates line total per row, then sums Read Full Article SUM vs SUMX in DAX |
Useful when you need row-wise logic before summing.