使用CONCATENATEX聚合文本时如何同步拼接对应数值字段的分组求和结果
透视表自定义文本+数值聚合实现方案
需求背景
现有原始数据如下:
| SiteName | Agency | Staff Numbers |
|---|---|---|
| Site1 | A1 | 10 |
| Site1 | A1 | 12 |
| Site1 | A1 | 11 |
| Site1 | A2 | 5 |
需要按SiteName分组聚合得到如下结果:
| SiteName | 聚合后Agency | 聚合后Staff Numbers |
|---|---|---|
| Site1 | A1/A2 | 33/5 |
实现方法
你已经通过CONCATENATEX实现了Agency字段的去重拼接,仅需要调整Staff Numbers字段的聚合度量值即可,适配Power Pivot/Power BI透视表场景的DAX代码如下:
1. 可保留现有Agency聚合度量值(供参考)
聚合_Agency = CONCATENATEX( VALUES('你的数据表名称'[Agency]), '你的数据表名称'[Agency], "/" )
2. 新增Staff Numbers聚合度量值
聚合_Staff Numbers = CONCATENATEX( VALUES('你的数据表名称'[Agency]), CALCULATE(SUM('你的数据表名称'[Staff Numbers])), "/" )
逻辑说明
VALUES('你的数据表名称'[Agency])会提取当前透视表行上下文(即对应SiteName分组)下所有不重复的Agency值,作为遍历的基础列表- 每一轮遍历对应一个Agency,
CALCULATE会将当前Agency作为筛选条件,先对该Agency下的所有Staff Numbers求和 - 最后用
/作为分隔符,把所有Agency对应的求和结果拼接,即可得到33/5的预期效果
内容的提问来源于stack exchange,提问作者DullesTower
相关产品推荐
相关产品推荐

