Power BI中非关联表间计算:软件许可证统计难题
解决跨表计算许可证已分配数的分段问题
问题核心是表间关系未正确建立或度量值未响应筛选上下文,导致计算时忽略了部门和许可证的分段筛选。以下是具体解决步骤:
1. 修正表间关系
- 统一关联字段名:已分配许可证表的
License Name建议重命名为License,与部门购买许可证总表的License字段名保持一致,避免匹配错误。 - 建立多对一关系:将已分配许可证表(多端,对应多个分配记录)与部门购买许可证总表(一端,对应一条购买记录)通过
Department和License字段关联,确保筛选方向支持从购买表到已分配表的上下文传递。
2. 编写正确的度量值
已分配数度量值
用DISTINCTCOUNT统计每个部门-许可证组合下的唯一用户数(避免重复统计同一用户),自动响应筛选上下文实现分段计算:
已分配数 = DISTINCTCOUNT(已分配许可证表[UserId])
若关系存在筛选传递异常,可强制限定筛选范围:
已分配数 = CALCULATE( DISTINCTCOUNT(已分配许可证表[UserId]), ALLEXCEPT(已分配许可证表, 已分配许可证表[Department], 已分配许可证表[License]) )
剩余数度量值
基于购买总数和已分配数直接计算:
剩余数 = SELECTEDVALUE(部门购买许可证总表[Total]) - [已分配数]
3. 配置表格可视化
- 行字段选择部门购买许可证总表的
Department和License; - 值字段依次添加
Total(购买总数)、已分配数、剩余数。
完成以上配置后,表格会自动按部门和许可证分段,每行显示对应组合的购买、已分配和剩余数量。
内容的提问来源于stack exchange,提问作者Japert Lommers
相关产品推荐
相关产品推荐

