Power BI中如何根据所选筛选器类型动态切换奶牛数量计算逻辑?
解决方案:使用DAX度量值实现动态计算
你的原始数据表格如下:
| Filter_Type | Filter | Number of Cows |
|---|---|---|
| Country | USA | 4 |
| City | Stuttgart | 2 |
| City | Cheyenne | 5 |
| Country | GER | 100 |
| City | Cheyenne | 7 |
| Country | USA | 1 |
可以通过创建DAX度量值实现需求,无需新建列,具体步骤如下:
- 在Power BI的「数据」视图中选中目标数据表
- 点击「新建度量值」,输入以下DAX代码(将
'表名'替换为你实际的数据表名称):
动态奶牛计算 = IF( // 判断当前筛选的类型是否为City ISFILTERED('表名'[Filter_Type]) && SELECTEDVALUE('表名'[Filter_Type]) = "City", COUNT('表名'[Number of Cows]), SUM('表名'[Number of Cows]) )
逻辑说明
ISFILTERED('表名'[Filter_Type]):检测Filter_Type列是否处于筛选状态SELECTEDVALUE('表名'[Filter_Type]) = "City":确认当前筛选的类型为City- 满足条件时执行
COUNT计数,否则执行SUM求和
适配直接筛选城市/国家的场景
如果你的报表是直接筛选Filter列(比如选择具体的城市或国家名称),可以使用以下优化后的度量值,自动识别筛选值对应的类型:
动态奶牛计算 = VAR CurrentFilterType = CALCULATE( SELECTEDVALUE('表名'[Filter_Type]), ALLSELECTED('表名'[Filter]) ) RETURN IF( CurrentFilterType = "City", COUNT('表名'[Number of Cows]), SUM('表名'[Number of Cows]) )
内容的提问来源于stack exchange,提问作者ynwkm
相关产品推荐
相关产品推荐

