使用DAX函数在Power BI中创建日历表

原创:      2023-08-07 14:55


本文翻译自Cndro的文章—《How to Create Power BI Calendar Table using DAX Functions》来源:Medium 本教程将展示如何使用DAX函数在Power BI报告中创建日历表。


日期在数据中至关重要;它帮助我们获取有关事件、销售报告和许多其他有用参考的信息。有两种不同的函数可以用于创建Power BI日历。它们分别是:CALENDAR DAX函数和CALENDARAUTO函数。

CALENDAR函数

我们可以使用CALENDAR函数在数据中设置日期范围。编写这个函数可以给我们一个日期范围:我们设置的起始日期和结束日期。

语法

CALENDAR(<start_date>, <end_date>)

start_date指定开始日期,而end_date指定日期结束。

让我们看下面的一个例子;

我们在这里指定的日期范围应该是从2014年5月1日至2021年1月1日。

CALENDAR (DATE (2014, 5, 1), DATE (2021, 1, 10))


CALENDARAUTO函数

CALENDARAUTO函数生成包含所有数据模型日期的日期列表。在这里需要的参数是财年结束的月份。

语法是这样的;

CALENDARAUTO([fiscal_year_end_month])

[fiscal_year_end_month]:这是一个DAX表达式,返回1到12之间的整数。如果省略,则默认为当前用户在日历表模板中指定的值(如果存在);否则,默认为12。

让我们看看下面的例子;

在本例中,我们单击新建表并在空框中写入CALENDARAUTO函数。写完之后,Power BI将通过查看表日期的日期范围来创建开始和结束日期日历。


现在我们已经研究了可以使用的两种不同的函数,我们可以讨论如何使用DAX向日期表添加列。

ADDCOLUMNS函数

使用ADDCOLUMNS函数,我们可以在表中创建新列。

语法是这样的;

ADDCOLUMNS ( <Table>, <Name>, <Expression> [, <Name>, <Expression> [, … ] ] )

让我们来看一下下面的例子。这个例子向我们展示了如何创建多个列。我们创建了年份列、月份编号列、星期列、季度列、年度季度列等等。我们使用Format函数来指定日期的格式。

Calendar =
ADDCOLUMNS (
CALENDAR (DATE(2014,5,1), DATE(2021,1,10)),
"DateAsInteger", FORMAT ( [Date], "YYYYMMDD" ),
"Year", YEAR ( [Date] ),
"Monthnumber", FORMAT ( [Date], "MM" ),
"YearMonthnumber", FORMAT ( [Date], "YYYY/MM" ),

"YearMonthShort", FORMAT ( [Date], "YYYY/mmm" ),
"MonthNameShort", FORMAT ( [Date], "mmm" ),
"MonthNameLong", FORMAT ( [Date], "mmmm" ),
"DayOfWeekNumber", WEEKDAY ( [Date] ),
"DayOfWeek", FORMAT ( [Date], "dddd" ),
"DayOfWeekShort", FORMAT ( [Date], "ddd" ),
"Quarter", "Q" & FORMAT ( [Date], "Q" ),
"YearQuarter", FORMAT ( [Date], "YYYY" ) & "/Q" & FORMAT ( [Date], "Q" )
)

我们的表格应该类似于下面的表格;


本期内容就是这些,希望您可以喜欢!




如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。




长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~


客户案例

按行业 按部门

线上课程

课程直通 讲师介绍

官方微信

联系我们

北京

13811982114
agileex@agileex.com

北京市朝阳区博雅国际中心A座601

上海

13811982114
agileex@agileex.com

上海市静安区沪太路453号302室

Copyright © 2022 北京敏捷艾科数据技术有限公司agileex.com - 京ICP备16008845号-1