【问题标题】:Compare totals for the same partial date range year-over-year in DAX / Power BI在 DAX / Power BI 中逐年比较相同部分日期范围的总计
【发布时间】:2018-03-21 19:12:47
【问题描述】:

我正在尝试创建一个表格,显示一年的月度值与去年的总数相比的总和(结构如下面的屏幕截图): Monthly Comparison

但是,我要注意的是,将始终包含部分月份数据(除非它是该月的最后一天)的最新月份与上一年的同一日期范围进行比较。在我附上的屏幕截图中,我们 2018 年 1 月的数据只到 1 月 22 日。但是,它将它与 2017 年 1 月的 完整 月份进行比较,而我们希望总数为 2017 年 1 月 1 日至 22 日:Value That Needs to be Updated

我尝试过处理各种 MTD 和累积总计,但在将聚合保持在每月级别的同时,我似乎无法让逻辑正常工作。知道需要使用什么类型的逻辑来比较全年总计,但只对当前正在进行的一个月的同一日期范围进行部分求和吗?

提前致谢。

【问题讨论】:

  • 你能多谈谈这个模型吗?结构是什么,有日期维度吗?此外,其他月份呢,它们是否“完全”填满了每天的金额?
  • 当然可以。对于上面显示的表格视觉效果,我基本上使用了两个表格:其中一个是包含日期和展示量的源表格,另一个表格是日历表格。日历表是使用源表中的日期字段构建的,然后它构建了一堆其他与日期相关的字段,例如日期(去年)、月份(去年)等。正在从日历表中提取月份,并从源表中提取印象量。其他月份也“完全”充满了金额。
  • 再澄清一点 - 我正在使用日历表作为日期(去年的月份和月份),并使用源表来获取展示次数的总和,并进行总和具有 DATEADD 函数的展示次数 -1 年以带来上一年/月的展示量。

标签: powerbi dax date-range


【解决方案1】:

在我的简短示例中,这似乎可行:

Total Sales LY 2 = 
VAR MaxDate = EDATE(CALCULATE(MAX(Sales[Date]);ALL(Sales));-12)
RETURN
CALCULATE(
    [Total Sales];
    FILTER(SAMEPERIODLASTYEAR('Date'[Date]);'Date'[Date]<=MaxDate)  
)

我用今年最后一个可用销售日期的最大值计算去年同期的总销售额。

  • 总销售额 LY = 与去年整月比较(错误)
  • Total Sales LY 2 = 与上一月比较,最后一个销售日期的最大值

PBIX file

【讨论】:

  • 哇,看起来成功了。非常感谢您的帮助和如此快速的周转!这将非常有用!
猜你喜欢
  • 1970-01-01
  • 2022-06-10
  • 2022-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-29
  • 2020-06-12
  • 1970-01-01
相关资源
最近更新 更多