我在交易级别有一张包含销售信息的表格。如果客户在休眠一年以上后进行购买,我们希望建立一个新模型来补偿销售代表。为了弄清楚这在历史上会花多少钱,我想添加一个带有标志的列,以确定每次购买是否是买方过去365天的第一次购买。我想做的是Powerpivot中的行数,用于该客户在过去365天内所做的所有销售,并将其包装在IF中以将结果设置为0或1。
示例:
Order Date Buyer First Purchase in Year?
1/1/2015 1 1
1/2/2015 2 1
2/1/2015 1 0
4/1/2015 2 0
3/1/2016 2 1
5/1/2017 2 1
非常感谢任何协助。
答案 0 :(得分:1)
优秀的商业用例!它在商业世界中非常重要。
为了解决这个问题,我将创建3列:2列有一些计算,1列有结果。一旦您了解我是如何做到这一点的,您可以组合所有3列公式,并为您的数据集创建一个列,如果您愿意。
所以这里是我创建的3列:
上次购买 - 为了运行此计算,您需要知道买家何时上次购买。
CALCULATE(MAX([Order Date]),FILTER(Table1,[Order Date]<EARLIER([Order Date]) && [Buyer]=EARLIER([Buyer])))
上次购买后的天数 - 现在您可以将上次购买日期与当前订单日期进行比较。
DATEDIFF([Last Purchase],[Order Date],DAY)
首次购买1年 - 最后,结果列。这只是检查自上次购买后是否超过365天或者上次购买列是否为空白(这意味着它是第一次购买),并创建您想要的标志。
IF([Days Since Last Purchase]>365 || ISBLANK([Days Since Last Purchase]),1,0)
现在,您可以轻松地将这3列的逻辑组合到一个列中,并获得您想要的内容。希望这有帮助!
我要添加的一个注意事项是,对于这种类型的分析,按照您最初建议的方式进行行计数并不明智,因为您的数据集可以在以后轻松扩展(如果您想要添加,该怎么办?更多属性列?)然后你会遇到问题。因此,我与您分享的此解决方案更加强大。