PowerBI 帮你跟踪客户在产品之间的流动

2020-12-11 11:01:06 浏览数 (1)

企业的商品有很多,客户的选择也有很多。

客户放弃选择某个产品,并不表示客户离开这个品牌本身,因此,我们需要跟踪客户在品牌中的品类或者产品中的流动情况,如下:

这反应的业务逻辑是,在开始购买区间购买了复印机的客户在流向区间没有购买复印机,转而购买其他产品的情况。

设计要点

数据模型,以原始的情况呈现。

为了设计流向可视化以及给出用户区间选择,同时不破坏业务数据模型,采用非侵入式设计,构建:

  • 两个日期表,分别提供两个日期轴,用于用户可以拖拽
  • 两个产品表,分别提供流向图的来源和去向以支持可视化

业务逻辑

基于这样的流向的业务逻辑,用度量值给出复杂计算。

用 PowerBI DAX 表示,如下:

代码语言:javascript复制
CRM.UserNumber.Flow = 

// 1.选择日期,和交易的产品,计算客户集合

VAR _users_source = 
    CALCULATETABLE( 
        VALUES( 'Order'[CustomerID] ) , 
        TREATAS( VALUES( 'Calendar.Source'[Date] ) , 'Calendar'[Date] ),
        TREATAS( { SELECTEDVALUE( 'Product.Source'[Subcategory] ) } , 'Product'[Subcategory] )
    )

// 2.选择日期,和交易的产品,计算客户集合

VAR _users_dest = 
    CALCULATETABLE( 
        VALUES( 'Order'[CustomerID] ) , 
        TREATAS( VALUES( 'Calendar.Dest'[Date] ) , 'Calendar'[Date] ),
        TREATAS( { SELECTEDVALUE( 'Product.Dest'[Subcategory] ) } , 'Product'[Subcategory] )
    )

// 3.计算 1 中的客户集合,流动到 2 中的数量

RETURN COUNTROWS( INTERSECT( _users_source , _users_dest ) )

使用 TREATAS 进行动态挂载,将辅助数据挂入数据模型完成计算。

0 人点赞