Power BI DAX CALENDAR 函数

Power BI CALENDAR 函数是 DAX 日期和时间函数之一,用于返回一个包含连续日期集的单列表。此函数使用 start_date 和 end_date 在名为“Date”的列中打印连续日期范围。本文介绍了 POWER BI DAX CALENDAR 函数用于打印日历日期,其语法如下:

CALENDAR(<start_date>, <end_date>)

此函数从 <start_date> 开始,并在 <end_date> 停止打印日期,包含这两个日期。如果开始日期大于结束日期,则会返回错误。

Power BI DAX CALENDAR 函数示例

要演示 DAX CALENDAR() 函数,请转到“建模”选项卡,单击“新建表”按钮,并将其重命名为“May 2024”。下面的表达式使用 DATE 函数为 <start_date> 和 <end_date> 参数创建从年份、月份和日期构成的日期。该公式将返回一个包含 2024 年 5 月 1 日至 2024 年 5 月 31 日之间日期的表。接下来,请将此新的“May 2024”表添加到报表设计器中。

May 2024 = CALENDAR(DATE(2024, 5, 1), DATE(2024, 5, 31)
POWER BI DAX CALENDAR Function 1

同样,我们创建了一个额外的数据 表报告 来显示 Order 表中从最小到最大的 Order 日期范围。如您所见,日历表从 2019 年 1 月 3 日开始,到 2022 年 12 月 30 日结束。

OrdersCal = CALENDAR(MINX(Orders, MIN(Orders[Order Date])), MAXX(Orders, MAX(Orders[Order Date])))
POWER BI DAX CALENDAR Function 2

如果您有多个表来比较实际销售额与预测值,请使用以下代码。有关剩余的 Power BI 方法,请参考 DateTime函数 文章。更多图表 >> 点击此处

OrdersCal = CALENDAR(MINX(SalesTable, [Order Date]), MAXX(ForecastTable, [Order Date]))

CALENDAR 示例 2

创建一个名为 CalendarTable 的新表,其表达式如下:最小 Order Date 作为开始日期,最大 Order Date 作为结束日期。

CalendarTable = CALENDAR(MIN(FactInternetSales[OrderDate]), MAX(FactInternetSales[OrderDate]))

接下来,转到“模型视图”,单击任意表上的“:”(更多选项)符号,然后选择“管理关系”选项。在这里,我们的任务是在 FactInternetSales Order Date 和 CalendarTable 中的 Date 列之间创建关系。因此,选择“多对一”关系来建立关系。您可以使用 CalendarTable 和 Adventure Works 数据库来执行计算。

Choosing the Relationship