Power BI疑问:SWITCH函数为何无法直接引用列?
问题原因解析
- Power BI的度量值依赖上下文环境计算,SWITCH作为DAX函数,要求每个分支必须返回单个标量值(比如聚合后的总和、平均值)。
- 直接引用原列(如
[costInPricingCurrency])时,返回的是该列所有行的数值集合,并非聚合后的单个结果,SWITCH无法处理这种集合类型的输出,因此会失效。 - 你创建的
Cost_in_Dollars = SUM('Currency'[costInPricingCurrency])和Cost_in_Francs = SUM('Currency'[costInBillingCurrency])是聚合度量值,通过SUM将列值集合转换成了单个标量,完全符合SWITCH对返回值类型的要求,所以能正常运行。
补充:正确的切换度量值示例
切换成本 = SWITCH( SELECTEDVALUE('货币切换表'[类型]), // 假设你有一个用于切换的单列表 "USD", Cost_in_Dollars, "CHF", Cost_in_Francs, Cost_in_Dollars // 设置默认显示USD )
内容的提问来源于stack exchange,提问作者Francesco Mantovani
相关产品推荐
相关产品推荐

