我在 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%。
重申一下,我想要实现的是,当我在切片器上选择其他内容时,总数应基于年份和切片器。
我有什么办法可以实现这一目标吗?非常感谢!
ALLEXCEPT
正在删除所有其他列上的过滤器。 ALLSELECTED
通常用于%。在您的情况下,您还想维护日期上的过滤器上下文(通过 VALUES
或 DISTINCT
,所以您可以这样做:
Total % =
DIVIDE(
COUNT('Data'[Performance]),
CALCULATE(
COUNT('Data'[Performance]),
ALLSELECTED('Data'), DISTINCT('Data'[Date])
),
0
)