如何创建按大洲筛选欧洲和非洲国家的DAX度量值
筛选欧洲和非洲国家的DAX度量值解决方案
没问题,我来帮你搞定这个需求!针对你要从Countries table中筛选出欧洲(Europe)和非洲(Africa)国家的场景,我分两种常见使用情况给出具体的DAX写法,你可以根据实际需求选择:
场景1:统计符合条件的国家数量
如果你的目标是计算欧洲和非洲的国家总数,这个度量值完全适用:
Count_Europe_Africa_Countries = CALCULATE( DISTINCTCOUNT('Countries table'[Country]), 'Countries table'[Continent] IN {"Europe", "Africa"} )
代码说明:
CALCULATE:DAX里的核心筛选函数,用来修改当前的筛选上下文,只保留我们指定大洲的行DISTINCTCOUNT:计算不重复的国家数量(如果你的表中没有重复的国家记录,也可以换成COUNT)IN {"Europe", "Africa"}:这种写法比用多个OR条件更简洁,直接匹配指定的大洲值
场景2:返回包含目标国家的表(用于视觉对象筛选)
如果需要一个度量值返回符合条件的国家列表(比如作为切片器、表格的数据源),可以用CALCULATETABLE来实现:
Europe_Africa_Countries = CALCULATETABLE( VALUES('Countries table'[Country]), 'Countries table'[Continent] IN {"Europe", "Africa"} )
代码说明:
CALCULATETABLE:返回经过筛选后的结果表,这里我们提取的是符合条件的国家列VALUES:确保返回的国家列表没有重复项,避免出现冗余数据
小提示
- 注意检查
Continent列的文本拼写是否和筛选条件完全一致(DAX是大小写敏感的,比如"Europe"和"europe"会被视为不同值) - 如果只是在单个视觉对象中筛选,也可以直接在Power BI的筛选面板里添加大洲筛选,但用度量值的好处是可以在多个视觉对象或计算中复用这个筛选逻辑,更高效
内容的提问来源于stack exchange,提问作者edwrdcodeu
相关产品推荐
相关产品推荐

