当表格模型中的自定义日历变得奇怪时

自 2025 年 9 月以来,我们在 Power BI 和 Fabric 表格模型中引入了基于日历的时间智能。虽然这个功能提供了巨大的可能性,但我们必须意识到它的陷阱。以下是其中的一些。当表格模型中的自定义日历变得奇怪时,这篇文章首先出现在走向数据科学上。

来源:走向数据科学

简介

在对新的基于日历的时间智能感到最初的欣喜之后,我开始更深入地研究新功能,看看这些新的可能性在现实世界中意味着什么。

您将在本文末尾的参考部分中找到有关它的几个链接,其中包括一篇 SQLBI 文章,它可带您深入了解该主题。

我强烈建议阅读这些文章以获得更好的理解。

但随着时间的推移,我意识到这个闪亮的新功能也有阴暗的一面。

现在我将向您展示四个示例,我在其中发现了有趣的效果。

我将尽可能为每个问题提供变通方法或解决方案。

日历设置

在这篇文章中,我使用了两个 Power BI 报表,每个报表都有两个日期表,以避免干扰。所有日期表都有相同的源表。

此处描述了日历之间可能存在的干扰。

对于公历,我使用了以下配置:

对于基于周的日历,我使用了以下配置:

周日历包括年份类别的 YearOfWeek 列。

此列包含此类日历所需的按周对齐的年份。本专栏基于 ISO 周定义。每年从第一周的星期一开始。

您可以在此处找到 ISO 周的说明。

两个 Power BI 数据模型使用相同的配置。

前几个月和不同的月份长度

好的,首先,让我们看看不同长度的月份。

我描述这个案例是为了让您意识到与经典时间智能逻辑的差异。

我创建了两个度量:

在线销售额 (PM) =

计算([在线销售额]

,DATEADD('日期'[日期],-1,月份)

)

这个使用公历:在线销售额(PY 公历)=计算([在线销售额],DATEADD('公历',-1,年))我将两者都添加到了表格视觉效果中。现在看看这两项措施在 3 月份的差异:虽然这个结果非常有趣,但看看这个:这是不正确的。结论