有没有办法在 Power BI DAX 中创建动态聚合函数?
Is there a way to create dynamic aggregate function in Power BI DAX?
我在使用 Power BI 时遇到问题,我想获得帮助。我的table是这样的
分支机构
年
销售额
销售份额
玛卡
2019
13K
阿卜杜
2019
10K
韦托
2020
15K
滚滚
2020
30K
滚滚
2019
10K
在“销售额份额”列中,我将用销售额除以销售额总和。但我需要它是动态的,因为当我在视觉切片器上选择 2019 时,该列应该将销售额除以过滤到 2019 年的销售额列的总和。同样,当我在切片器上选择 2019 和 Roro 分支时,数字需要除以过滤到 2019 年和 Roro 分店的销售额总和。简而言之,分母应该是动态的,带有视觉切片器。我使用了 ISFILTERED 函数的方法和总和聚合度量,但它对我不起作用。如果你能帮我解决这个问题,我会很高兴。提前致谢。
您需要这样的度量(其中 Table
是您的 table 的名称):
Share of Sales = SUM('Table'[Sales]) / SUMX(ALLSELECTED('Table'), 'Table'[Sales])
所以如果没有应用过滤器,它将看起来像这样:
按年份过滤时,像这样:
然后按年份和分支过滤时,像这样:
ALLSELECTED 函数将删除上下文过滤器,但会保留显式过滤器(例如切片器),因此 SUMX(ALLSELECTED('Table'), 'Table'[Sales])
将为您提供此刻显示的所有数据的总销售额。另一方面,SUM('Table'[Sales])
将计算当前上下文中的总销售额,即数据行或总计行。
我在使用 Power BI 时遇到问题,我想获得帮助。我的table是这样的
分支机构 | 年 | 销售额 | 销售份额 |
---|---|---|---|
玛卡 | 2019 | 13K | |
阿卜杜 | 2019 | 10K | |
韦托 | 2020 | 15K | |
滚滚 | 2020 | 30K | |
滚滚 | 2019 | 10K |
在“销售额份额”列中,我将用销售额除以销售额总和。但我需要它是动态的,因为当我在视觉切片器上选择 2019 时,该列应该将销售额除以过滤到 2019 年的销售额列的总和。同样,当我在切片器上选择 2019 和 Roro 分支时,数字需要除以过滤到 2019 年和 Roro 分店的销售额总和。简而言之,分母应该是动态的,带有视觉切片器。我使用了 ISFILTERED 函数的方法和总和聚合度量,但它对我不起作用。如果你能帮我解决这个问题,我会很高兴。提前致谢。
您需要这样的度量(其中 Table
是您的 table 的名称):
Share of Sales = SUM('Table'[Sales]) / SUMX(ALLSELECTED('Table'), 'Table'[Sales])
所以如果没有应用过滤器,它将看起来像这样:
按年份过滤时,像这样:
然后按年份和分支过滤时,像这样:
ALLSELECTED 函数将删除上下文过滤器,但会保留显式过滤器(例如切片器),因此 SUMX(ALLSELECTED('Table'), 'Table'[Sales])
将为您提供此刻显示的所有数据的总销售额。另一方面,SUM('Table'[Sales])
将计算当前上下文中的总销售额,即数据行或总计行。