我试图确定每个客户在上一次约会后的设定时间范围内有多少次退款约会。我需要确定每一行是否特定的约会是“返回”。他们在48小时内预约离开他们的最后一次预约(即他们的预约开始时间是在他们的预约结束时间的48小时内)?
我试图找到答案,但我并不确定我在寻找什么,而且对于dax来说相对较新,所以如果这是基本的话就道歉。我可以做相对于最新约会的第一部分,因为它只是该客户所有约会的最大部分。
=CALCULATE(max([End Time]),ALLEXCEPT(Table,Table[Customer ID]))
我正在努力解决的问题是如何将额外的过滤器合并到仅查看先前的约会(相对于每一行)。我假设如果我可以返回一个被过滤的表,只显示那些先前的记录,那么我可以获得最大值并进行比较但不确定如何在dax中编写它。
非常感谢您的帮助。
干杯, 克里斯。
答案 0 :(得分:0)
想想我破解了它,虽然我不确定这个公式是如何运作的,所以如果有人可以分解它并向我解释那将非常感激!
第1步:计算(在行上下文级别)最近的预约结束时间
=CALCULATE(Max([end time]),ALLEXCEPT(Table1,Table1[customer ID]),EARLIER(Table1[start time])>Table1[start time])
第二步:计算当前约会与最近结束时间之间的时差
=IF(NOT(ISBLANK([Most Recent Prior End Time])),1.*[end time]-[Most Recent Prior End Time],BLANK())
我知道时差是如何工作的,但实际上并不是早期函数在计算最近一次约会的结束时间方面的效果。