销售需求丨优质客户判定法

file

最开始在接触PowerBI的时候,记得有个小伙伴曾经和白茶说过这么一句话:“PowerBI的意义到底是什么,难道只是炫酷的图表么?实际用途就是看报表忽悠人?”

当时的白茶哑口无言,可是越深入学习PowerBI,越能知道它的用途是多么强大,可能DAX很多人都在诟病它,但是存在就是有价值,就是合理的。

开始今天的话题,IF的灵活运用。假如,我有一份不同客户的销售清单,我想知道这些客户在我这消费购买了什么。想以此来判断哪些客户是普通客户,哪些客户是优质客户,哪些是潜在客户。

示例如图:
file

(小伙伴请忽略单价,白茶图省事,瞎填的。)

涉及到的函数有VALUES,CONCATENATES。

之前的文章有提及到VALUES,它的作用是返回表格中的唯一值,这里就不赘述了。我们来看看CONCATENATES:

DAX=
CONCATENATEX(<表>, <表达式>, [分隔])

表:要对其进行计算的表,可以是直接的表,也可以是函数表。

表达式:计算表达式。

分隔:分隔符,可选项。

这个就是这次我们需要用到的新函数了。话不多说,编写代码:

购买物品 =
CONCATENATEX ( VALUES ( Sheet1[物品类型] ), 'Sheet1'[物品类型], "," )

结果如图:
file

会发现,符合我们预期的效果。很清楚的知道了每个客户在我这里购买过的物品,但是好像总计栏有瑕疵啊,没关系,IF+HASONE!

这里有两种写法:

优化购买物品1=

IF(

    HASONEVALUE ( Sheet1[客户] ),

    CONCATENATEX ( VALUES ( Sheet1[物品类型] ),'Sheet1'[物品类型],",")

)

结果如图:
file

第二种写法:

优化购买物品2=

IF(

    HASONEFILTER ( Sheet1[客户] ),

   CONCATENATEX ( VALUES ( Sheet1[物品类型] ),'Sheet1'[物品类型],",")

)

结果如图:
file

在这里HASONEVALUE与HASONEFILTER函数的作用差不多,如果硬说二者的区别的话,就是前者受跨筛选器影响,后者受直接筛选影响。具体的区别小伙伴可以自行测试,这里就不赘述了。

继续我们的话题,我现在知道每个客户的购买物品了,我还想知道购买的数量,咋办?继续,编写如下代码:

购买数量 =
IF( HASONEVALUE ( Sheet1[客户] ), COUNTROWS ( VALUES ( Sheet1 ) ) )

结果如图:
file

(同理,这里的HASONEVALUE也可以替换成HASONEFILTER)

现在我知道了数量,按照咱中国式企业的需求,是不是还得知道总金额啊?继续:

消费金额 =
SUMX ('Sheet1','Sheet1'[单价] *'Sheet1'[数量] )

这里不能使用SUM,因为涉及到整个表进行运算,所以选择SUMX进行迭代循环。如果单价和数量不在一个表,记得白茶之前提到过的RELATED函数。结果如下:

file
很符合我们的需求,那么可以进行最后一个问题了,进行优质判定。

这里小伙伴们可以自行根据自身标准进行调整,方法都差不多,白茶这里用消费金额进行判定,小于100是一般客户,100~200是中等客户,200以上是优质客户。编写如下代码:

优质客户 =
IF ( [消费金额] > 100, IF ( [消费金额] > 200, "优质客户", "中等客户" ), "一般客户" )

结果如图:
file

当然,这里也可以使用SWICH进行判定:

优质客户2 =
SWITCH ( TRUE (), [消费金额] <= 100, "一般客户", [消费金额] < 200, "中等客户", "优质客户" )

结果如图:

file
小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球[PowerBI丨需求圈])

这里是白茶,一个PowerBI的初学者。

下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。

请在PC端查看,有部分图片无法在移动端显示。
PowerBI丨白茶