有没有办法在 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]) 将计算当前上下文中的总销售额,即数据行或总计行。