Power BI跨维度表关联聚合经销商销售额的DAX查询实现问询
华盛顿地区经销商销售总额DAX编写方案
前提:你描述的三张表的关联关系已经在Power BI数据模型中正确配置完成,以下两种方案可实现需求:
方案1:默认上下文传递(性能最优、写法最简洁,推荐使用)
模型关联正常的情况下,筛选上下文会自动沿着DimGeography→DimReseller→FactResellerSales的一对多关系传递,直接写如下度量值即可:
华盛顿经销商销售总额 = CALCULATE( SUM(FactResellerSales[SalesAmount]), DimGeography[StateProvinceName] = "华盛顿" )
注意:如果你的
DimGeography表中州份字段存储的是英文值,把筛选条件里的「华盛顿」替换为 Washington 即可。
方案2:显式匹配关联(适合模型存在多关联路径的场景)
如果你的数据模型中存在其他关联路径可能导致上下文传递异常,可以手动过滤出符合条件的经销商再统计销售额:
华盛顿经销商销售总额 = // 第一步:筛选出华盛顿地区对应的所有GeographyKey VAR 华盛顿地理Key集合 = SELECTCOLUMNS( FILTER(DimGeography, DimGeography[StateProvinceName] = "华盛顿"), "GeoKey", DimGeography[GeographyKey] ) // 第二步:筛选出归属华盛顿地区的所有经销商ResellerKey VAR 华盛顿经销商Key集合 = SELECTCOLUMNS( FILTER(DimReseller, DimReseller[GeographyKey] IN 华盛顿地理Key集合), "ResellerKey", DimReseller[ResellerKey] ) // 第三步:统计对应经销商的销售额总和 RETURN CALCULATE( SUM(FactResellerSales[SalesAmount]), FactResellerSales[ResellerKey] IN 华盛顿经销商Key集合 )
补充说明
- 两种方案的统计结果完全一致,优先使用方案1即可
- 如果需要搭配其他维度(如年份、产品分类)统计,直接把对应维度字段拖入可视化组件,度量值会自动适配筛选上下文
内容的提问来源于stack exchange,提问作者Techchamp Pgm
相关产品推荐
相关产品推荐

