基于切片器选中产品,统计购买全部选中产品的客户数量
统计购买全部选中产品的客户数量
需求说明
现有包含客户、产品、销售等字段的数据表,需实现:基于切片器选中的产品,统计出购买了所有选中产品的客户数量。
比如下面的示例数据中,若选中全部三个产品,仅客户B购买了所有选中产品,因此统计结果为1。
示例数据
| 客户 | Product a | Product b | Product c |
|---|---|---|---|
| A | 1 | 1 | |
| B | 1 | 1 | 1 |
| C | 1 | ||
| D | 1 | 1 | |
| E | 1 | 1 |
实现方法(Power BI + DAX)
可以通过以下DAX度量值实现需求:
购买全部选中产品的客户数 = VAR SelectedProducts = COUNTROWS(ALLSELECTED('产品表'[产品名称])) VAR CustomerProductCount = ADDCOLUMNS( VALUES('销售表'[客户ID]), "已购选中产品数", CALCULATE(COUNTROWS('销售表'), ALLSELECTED('产品表')) ) RETURN COUNTROWS( FILTER(CustomerProductCount, [已购选中产品数] = SelectedProducts) )
补充说明
如果你的数据表是示例中的宽表结构(每个产品单独一列),建议先将数据逆透视转换为标准长表(客户ID、产品名称、购买状态),再使用上述度量值,这样更符合Power BI的建模规范,计算逻辑也更稳定。
内容的提问来源于stack exchange,提问作者DENDENNIE
相关产品推荐
相关产品推荐

