【问题标题】:Using a Date Table to dynamically calculate a measure in PowerBI在 PowerBI 中使用日期表动态计算度量
【发布时间】:2019-09-10 15:43:53
【问题描述】:

我正在尝试使用日期表,称为日期,格式如下

Date         Month   Day   Year
01/01/2019   01      01    2019
01/02/2019   01      02    2019
....

与另一个表格,称为 A,格式如下

ID    DateStarted   Type
01    12/30/2018    apple
02    12/30/2017    apple
03    12/31/2018    carrot
...

我想创建一个度量或其他东西,所以我可以在图表中动态显示苹果/胡萝卜的数量,其中开始日期在日期表中某个随机日期的 12 个月内(​​我想在图表上将日期表 ['Date'] 字段显示为我的轴,例如,计算出的“12 个月内”作为我的值,然后能够使用“类型”字段作为我的图例值。所以对于上面的例子,我会在图表上看到 2019 年 1 月至 12 月,然后在 2019 年 1 月看到苹果和胡萝卜的值 1 和 1(因为另一个苹果在此之前 24 个月发货。)然后,在 2 月图表上的 2019 年,这两个值都是 0。

我尝试过使用 Countax,但我似乎无法让它工作,因为 Date 表中有多个值,powerbi 希望我将它们聚合起来。

Shipments in past 12 months = COUNTAX(MDBEQUIP,(DATEDIFF(Dates[Date],MDBEQUIP[Tag added date],MONTH)<12))

这是最好的方法吗?我的另一个想法是尝试动态创建一个包含所有计算列的新表,例如

Month    Type    Calculated column for above

但不确定是否有其他方法。

【问题讨论】:

  • 你能在绘画中展示你的想法的预期结果吗?因为我认为你可能能够做到。创建一个以年和月为轴的条形图,ID 产品的不同计数和图例中的产品名称。然后您可以向下钻取或扩展年份并检查这些值

标签: powerbi dax


【解决方案1】:
A Count = COUNTROWS ( 'A' )
A Count Rolling 12 months =
VAR CurrentEndOfMonth = EOMONTH ( MAX ( 'Date'[Date] ), 0 )
RETURN
  CALCULATE (
    [A Count],
    DATESINPERIOD ( 'Date'[Date], CurrentEndOfMonth, -11, MONTH )
  )

假设关系“日期”-1:N->“A”。

另外,我不完全确定您的预期输出是什么。 2018 年 12 月比 2019 年 2 月早 2 个月。因此,根据滚动 12 个月的逻辑,我预计“苹果”和“胡萝卜”的计数均为 1。因此,如果上述措施不是您所期望的,您需要进一步说明您要达到的目标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-07
    • 1970-01-01
    • 2022-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多