【发布时间】:2021-06-07 18:48:17
【问题描述】:
我有 2 张桌子。
A.客户表。 键列包括 1. 客户 ID(主键)和 2. 首次购买日期(在日期字段中)和 3. 首次购买日期年份和月份(在文本中,如 Jul 01)。
B.销售表。 键列包括 1. 客户 ID(外键)和 2. 销售订单日期(在日期字段中)。
两个表都是一对多的关系。我想知道有多少客户在首次购买后 60 天内退货,按首次购买日期年份和月份分组。例如,
- 7 月 1 日将有 2 位回头客,他们在首次购买后 60 天内退货
- 01 年 8 月 60 天内没有回头客
- Sep-01 在 60 天内有 1 位回头客
然后我将在数据透视表中计算每个第一个购买月的回头客百分比,如下所示。
我想要的结果是下面的数据透视表: enter image description here
我可以通过在客户表中添加一个计算列并在 dax 下面作为过滤器添加到 1(客户在 60 天内重新订购)或 0,然后在数据透视表字段中计算:
IF(CALCULATE(COUNT(Sales[ProductKey]),FILTER(Sales,Sales[OrderDate]>Customers[DateFirstPurchase] && Sales[OrderDate] - Customers[DateFirstPurchase] 0,1,0)
但由于销售量很大,在这种情况下使用过滤器不是最佳做法。因此,这可以通过以下方式实现吗:
- 未在计算列中使用过滤器功能?即检查客户表中的匹配记录?或其他方式?或者,理想情况下
- 使用 Dax 而不是添加计算列。
非常感谢您的帮助。 谢谢。
【问题讨论】:
标签: powerbi