前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PowerBI CRM 同时购买某几个产品的客户有多少

PowerBI CRM 同时购买某几个产品的客户有多少

作者头像
BI佐罗
发布2021-05-27 10:32:01
7350
发布2021-05-27 10:32:01
举报
文章被收录于专栏:PowerBI战友联盟PowerBI战友联盟

继续 CRM 的专题,本次解决一个问题:如题。

同时购买某几个产品的客户有多少。

业务意义

在某月的活动中,可能会硬推某些产品组合,或当月主打产品,并为此投入资源。

所以,业务人员希望看到,选择某些 SKU 后,称这个集合为:重点产品集合。希望系统可以动态计算出某段时间内,客户购买重点产品集合内所有商品(可以超过重点集合范畴),这样的客户有多少。

仔细分析过后,会发现该问题的解法并不简单,那下面给出简单解法。

效果

DAX 实现

新建一个度量值:

代码语言:javascript
复制
Customer.Count.Product = 
// 购买过某几类(个)商品的客户数
VAR _product_list = VALUES( 'Product'[Subcategory] )
VAR _user_product_set = 
    GROUPBY(
        SUMMARIZE( 'Order' , Customer[CustomerID] , 'Product'[Subcategory] ) ,
        Customer[CustomerID] ,
        "Value" ,
        SUMX( CURRENTGROUP( ) , IF( [Subcategory] IN _product_list , 1 ) )
    )
RETURN COUNTROWS( FILTER( _user_product_set , [Value] >= COUNTROWS( _product_list ) ) )

完成。

这里用了 3 个重要 DAX 技巧:

1、'Order' 在此通过扩展表特性伸展到 Customer[CustomerID]'Product'[Subcategory]

2、SUMMARIZE 提取仅仅需要的列,刚刚好。

3、GROUPBY 基于分组做再次分组。(该技巧在此前文章彻底刨析过,此处不再说明。)

在完全精通上述三个技巧后,设计了这样的计算模式,上图还给出了检验效果。

总结

不难分析,这个问题本身有一定复杂度,而且还涉及到性能问题,但本实现几乎兼顾了这些方面。大家可以自行尝试。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI战友联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 业务意义
  • 效果
  • DAX 实现
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档