我有两个简单的数据集:
表格订单:
ID,客户,日期,价格
表客户:
ID,名称
我想创建2个指标,每个月会返回OldActive
和Dormant
个客户的数量(例如计算报告月份的当前快照)。
OldActive
客户是客户,其首次订单不在报告月份,并且在报告月份也有订单
Dormant
客户是客户,自上次订购后3个月或更长时间内没有订购。
所以例如: 客户1将于2015年1月首次亮相。
在报告中,它应该在2015年4月被视为休眠
然后,如果他将在2015年6月进行第二次订购,他将被视为OldActive,并且将清除休眠状态。
指标的结果输出应如下所示:
Date Dormant OldActive
2015/Jan 0 0 <- firs order
2015/Feb 0 0
2015/Mar 0 0
2015/Apr 1 0 <- become dormant, because hi didnt made order for 3 or more months
2015/May 1 0
2015/Jun 0 1 <- second order, status changed to OldActive
2015/Jul 0 0 <- status OldActive cleared, because he did not made any other order in this month
2015/Aug 0 0
2015/Sep 0 0
2015/Oct 1 0 <- become dormant again
....
在MAQL中是否可以这样?
答案 0 :(得分:0)
如果没有准确查看数据结构,尤其是日期结构的方式,则很难回答这些问题。 如果您在支持中得到答案,请在此处发布,MAQL在线提供的文档很少。
如果有人比我更了解,他可以编辑这篇文章,我在这里做的许多肯定是由于缺乏文档。
以下是一些您可以启发的MAQL代码示例:
对于休眠:
SELECT MAX((SELECT DateDimension BY SalesId))BY MemberID,ALL OTHER
将为您提供会员订单的最后日期
您必须对其进行调整才能考虑在“日期”列之前进行的销售。由于日期维度的定义方式,在MAQL中这样做非常棘手。 使用先前定义的度量标准作为中介,您可以定义“休眠”度量标准
对于“OldActive”,您将使用相同类型的中间变量:
SELECT MAX((SELECT DateDimension BY SalesId))BY MemberID,ALL OTHER
和
SELECT MIN((SELECT DateDimension BY SalesId))BY MemberID,ALL OTHER
通过第一个变量在当前月份,第二个变量在另一个变量中来定义OldActive。
同样,在这个答案中没有解决很多困难的部分,因为你的问题没有说明你的日期是如何构建的,以及时间数据的处理是MAQL文档的一个黑点