PowerBi 测量总计基于图例的位置,并调整所选切片器的总计

问题描述 投票:0回答:1

我在 PBI 中有一个表格,如下所示:

身份证 姓名 日期 性能 国家 地区
1 2023年12月31日 英国 欧洲
2 安娜 2023年12月31日 需要改进 西班牙 欧洲
3 罗伯特 2023年12月31日 日本 亚洲
4 内特 2023年12月31日 超出预期 英国 欧洲
5 艾玛 2023年12月31日 日本 亚洲
1 2024 年 12 月 31 日 优秀 英国 欧洲
2 安娜 2024 年 12 月 31 日 西班牙 欧洲
3 罗伯特 2024 年 12 月 31 日 日本 亚洲
4 内特 2024 年 12 月 31 日 英国 欧洲
5 艾玛 2024 年 12 月 31 日 超出预期 日本 亚洲

我正在尝试用它构建一个折线图,以便我可以可视化绩效百分比的钟形曲线(例如,x% 表现良好,y% 需要改进等),并比较多年来曲线的变化。

图片供参考

所以对于X轴我添加了Performance,图例是基于Date的。

对于 Y 轴,我尝试了这个措施:

Total % = 
DIVIDE(
    COUNT('Data'[Performance]),
    CALCULATE(
        COUNT('Data'[Performance]),
        ALLEXCEPT('Data', 'Data'[Date])
    ),
    0 
)

这是有效的,因为总数现在基于日期,但如果我添加基于国家或地区的切片器,我希望总数根据切片器适当更改。 例如,如果我在切片器中过滤英国,我希望总数是第一年,然后是英国。

但按照现在的运作方式,总数仍然仅基于日期列,因此当我在切片器上选择英国时,我得到的百分比非常低,因为“良好”表现者可能占全球的 10%。

选择切片器后,总计仅基于日期,不会被切片器降低

重申一下,我想要实现的是,当我在切片器上选择其他内容时,总数应基于年份和切片器。

我有什么办法可以实现这一目标吗?非常感谢!

powerbi dax measure
1个回答
0
投票

ALLEXCEPT
正在删除所有其他列上的过滤器。
ALLSELECTED
通常用于%。在您的情况下,您还想维护日期上的过滤器上下文(通过
VALUES
DISTINCT
,所以您可以这样做:

Total % = 
  DIVIDE(
    COUNT('Data'[Performance]),
    CALCULATE(
      COUNT('Data'[Performance]),
      ALLSELECTED('Data'), DISTINCT('Data'[Date])
    ),
    0 
  )
© www.soinside.com 2019 - 2024. All rights reserved.