Power BI中平方市场份额总计错误问题求助
解决Power BI中赫芬达尔-赫希曼指数(HHI)总计错误问题
问题原因
你的Market Share Square度量值在单个发行商行计算正确,但总计行结果错误——因为默认总计会在全局数据集上下文执行度量值逻辑,算出的是整体市场份额的平方(即100²=10000),而非各发行商市场份额平方后的总和(这才是HHI的正确计算逻辑)。
修正方案
1. 修正Market Share Square度量值(保留*100优化可读性)
Market Share Square = SUMX( VALUES('Publisher'[Publisher]), VAR Volume = SUM('Sales - Global'[Sales]) VAR AllVolume = CALCULATE(SUM('Sales - Global'[Sales]), ALL('Publisher')) VAR MarketShare = DIVIDE(Volume, AllVolume)*100 RETURN MarketShare * MarketShare )
2. 直接计算HHI指数(一步到位,可选)
如果不需要单独的Market Share Square列,可直接创建HHI度量值:
HHI指数 = SUMX( VALUES('Publisher'[Publisher]), VAR 单发行商销量 = SUM('Sales - Global'[Sales]) VAR 总销量 = CALCULATE(SUM('Sales - Global'[Sales]), ALL('Publisher')) VAR 市场份额占比 = DIVIDE(单发行商销量, 总销量)*100 RETURN 市场份额占比^2 )
代码说明
SUMX函数会迭代每个独立发行商,在单个发行商的上下文下计算其市场份额的平方,再将所有结果求和,完全匹配HHI的计算逻辑。VALUES('Publisher'[Publisher])用于获取当前筛选条件下的所有发行商(若有其他筛选器如年份、地区,会自动适配)。ALL('Publisher')确保总销量计算不受发行商筛选器干扰,保证全局总销量的准确性。
内容的提问来源于stack exchange,提问作者Constantin Marguier
相关产品推荐
相关产品推荐

