我有一个包含订单和相关信息的 Excel 文件。我这次需要的是时间上一张订单与上一张订单之间的时间间隔。 多个订单可以具有相同的交货日期。 我只在查看日期本身时就成功了,如下所示:
一旦我只引入订单号,或者甚至只是尝试平均间隙测量,它只会输出 0,如下所示:
间隙设置为查找重复列中的最高值,条件是它低于dates_measure 值。它工作得很好,我可以打乱行而不会弄乱值。我不明白为什么添加重复项(或实际上不是)会阻止它工作。
以下是与之前最高日期相关的代码:
Date la plus élevée inférieure =
VAR CurrentDate = 'Excel du Report'[Date_measure]
VAR HigherDate =
CALCULATE (
MAX ( 'Excel du Report'[Jour calendaire] ),
FILTER (
ALL('Excel du Report'[Jour calendaire]),
'Excel du Report'[Jour calendaire] < CurrentDate
)
)
RETURN
IF (
ISBLANK(HigherDate),
CurrentDate,
HigherDate
)
这是差距一:
Gap_between_dates =
VAR CurrentDeliveryDate = [Date_measure]
VAR PreviousDeliveryDate = [Date la plus élevée inférieure]
-- Calculer la différence entre les dates de livraison
VAR Difference = CurrentDeliveryDate - PreviousDeliveryDate
-- Calculer la somme du numéro de jour dans la semaine de ARGH et de la différence
VAR TotalDays = WEEKDAY(PreviousDeliveryDate, 2) + Difference
-- Vérifier si le total dépasse 5, indiquant un week-end
VAR AdjustedTotalDays =
IF(
TotalDays > 5,
Difference - (FLOOR(TotalDays / 7,1) * 2),
Difference
)
RETURN
AdjustedTotalDays * 1
该东西的最终用途是全球平均值,可以通过接收客户端进行切片。比如,我们平均每 X 天向该客户交付一次,平均每 Y 天向该客户交付一次,并且在全球范围内,每 Z 天向该客户交付一次......好吧,你明白了。 不知道我将如何处理重复的日期(它们会显示相同的间隙/间隔 N 次),但我相信日期上的不同应该可以解决问题。
感谢您的阅读,希望得到任何指导!
我尝试在网上查找。 我尝试用另一种方式进行计算。 没有任何效果。
抱歉这部分有点空,我的脑袋也基本上空了,精疲力尽了。
如果已经在某个地方得到了答案,我会感到非常愚蠢,但我一生都找不到它。
我还不能发表评论,但我想开始针对第一个和第二个要求采取这一措施,然后在此基础上使一切正确(您可以对我的帖子发表评论,我也可以对此发表评论)。如果我完全错了,请说出来,我可以编辑这篇文章。
对于每个客户的平均差距,您可以这样做:
Measure 8 =
VAR AverageGapByCustomer = AVERAGEX(
'Table (2)',
VAR CurrentDate = 'Table (2)'[Order Date]
VAR PreviousDate = MAXX(
FILTER('Table (2)', [Order Date] < CurrentDate),
[Order Date]
)
VAR GAP = DATEDIFF(PreviousDate, CurrentDate, DAY)
RETURN GAP
)
RETURN AverageGapByCustomer
(!):我在添加了 CustomerID 的简单表格视觉效果上使用此度量 作为列来创建过滤器上下文。
样本数据(包括用于验证结果的计算列): |订购日期 |客户 ID |差距| |------------------------|------------|------| | 2024 年 3 月 1 日星期五 | 1 | | | 2024 年 3 月 2 日星期六 | 2 | | | 2024 年 3 月 15 日星期五 | 2 | 13 | | 2024 年 3 月 28 日星期四 | 3 | | | 2024 年 4 月 1 日星期一 | 1 | 31 | | 2024 年 4 月 3 日星期三 | 3 | 6 | | 2024 年 4 月 3 日星期三 | 1 | 2 |
结果: |客户 ID |测量 | |-------------|---------| | 1 | 16,50 | 16,50 | 2 | 13,00 | 13,00 | 3 | 6,00 |
全球平均水平为 13。
也许更简单的方法是创建一个计算列并计算那里的间隙?
Gaps =
VAR CurrentCustomer = 'Table (2)'[CustomerId]
VAR CurrentDate = 'Table (2)'[Order Date]
VAR _table = MAXX(
FILTER('Table (2)', [CustomerId] = CurrentCustomer && [Order Date] < CurrentDate),
[Order Date]
)
VAR GAP = DATEDIFF(_table, CurrentDate, DAY)
RETURN GAP