DAX conditional sum

若如初见. 提交于 2019-12-11 16:54:39

问题


How to construct a DAX measure which returns sum of either A or B. The logic is take B if A is empty. So expected results looks like this:

+---+---+----------+
| A | B | Expected |
+---+---+----------+
| 1 |   |        1 |
| 1 |   |        1 |
|   | 2 |        2 |
| 1 | 2 |        1 |
|   | 2 |        2 |
+---+---+----------+
| 3 | 6 |        7 |
+---+---+----------+

When I use measure:

Measure = IF(ISBLANK([SUM(tab[A])]), SUM(tab[B]), SUM(tab[A]))

I get 3 for total which is logical but not what I expect.


回答1:


I'd recommend using a SUMX iterator in this case.

Measure = SUMX ( tab, IF ( ISBLANK ( tab[A] ), tab[B], tab[A] ) )

You might be able to do the following as well:

Measure = 
    CALCULATE ( SUM ( tab[A] ) ) +
    CALCULATE ( SUM ( tab[B] ),
        FILTER ( tab, ISBLANK( tab[A] ) )
    ) 


来源:https://stackoverflow.com/questions/57693531/dax-conditional-sum

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!