Power BI中的时间智能功能

在商业领域,时间如同资源、材料和金钱一样宝贵。企业常常使用累积的时间基础计算(年初至今、月初至今或季初至今),这些通常被称为YTD、MTD、QTD。这些指标有助于分析趋势或比较销售和财务绩效。然而,使用Microsoft Excel中的透视表和公式来计算这些指标可能是一场噩梦。尽管与时间相关的计算并不复杂,但它们可能非常繁琐。这里有一个商业分析师的问题:“花多少时间准备基于Excel的仪表板来分析随时间变化的业务性能?”答案可能相当令人不满意,不是吗?

Power BI中的时间智能功能

Power BI的时间智能功能帮助用户执行可以即时评估业务性能的计算,而无需显式地将它们存储在单独的工作表中并回溯引用。Microsoft Power BI提供了一种称为数据分析表达式(DAX)的公式,可以帮助用户从数据中得出新的特征。时间智能功能是Power BI开发人员衡量业务指标随时间变化(年对年、季对季、与去年相比等)的必备表达式。

理解数据

在深入探讨如何在Power BI中轻松高效地实施时间智能功能之前,先对样本数据进行概述。使用的数据包括2017年和2018年某企业的直接利润数字。下面提供了数据的截图。数据也可以从Github下载以供实践。数据包含一些产品的直接利润数字。产品描述、业务部门、品牌和其他特征已被掩盖。每个月都会进行几次活动。对于7月和12月,只有一个活动。因此,拥有的数据不是连续的日期格式。

时间智能功能的重要性

为了比较趋势,企业依赖于评估一定时间窗口内活动的性能。通常,业务利益相关者想了解他们的关键绩效指标(KPIs)并与他们的年度目标进行比较。例如,他们可能想要评估年初至今(YTD)的利润,并制定策略来填补与年度目标的差距。此外,与去年同期或上个月或上个季度相比的性能可能是另一个评估指标。这将帮助他们分析业务性能是否与去年同期相同。Power BI提供了可以通过简单计算有效实现这些比较的函数。尽管在Excel中计算这些基于时间的指标并不非常困难,但它们可能涉及使用透视表。

在Power BI中使用DAX

让使用“从Microsoft Excel工作簿导入数据”功能按钮将数据导入Power BI。导入的数据将在Power BI的数据视图中显示:请注意,没有代表每个“活动编号”列的日历日期列。因此,将使用“新建列”按钮在表工具菜单下创建一个计算列。将使用第一个数据分析表达式(DAX)来实现这一点。DAX是类似Excel的公式,可以创建数据中的新列。

CalendarDate = DATE(Data[Year], Data[Month], Data[Date])

要在数据模型中创建一个新表,转到“主页”选项卡并点击“新建表”按钮。使用一个称为CALENDAR函数的DAX,它创建一个名为“Date”的表,其中包含一个“Date”列,给定一个特定的开始日期和结束日期,分别是2017年1月1日和2018年12月31日。

Date = CALENDAR(DATE(2017,1,1), DATE(2018,12,31))

一旦“Date”表创建完成,必须将此表标记为数据模型中的官方日期表。可以通过在右侧的“字段”窗格中找到“Date”表并点击“标记为日期表”来完成。Power BI将要求选择代表日期的列。现在知道它是“Date”列。这一步确保进一步的DAX公式将此“Date”表作为日期的最可靠来源。

必要的计算列和度量

为了根据用户的方便查看时间序列,在“Date”表中使用以下DAX创建新列。这些列代表年份、月份编号、日、月份名称、季度。

Year = YEAR('Date'[Date]) MonthNum = MONTH('Date'[Date]) Day = DAY('Date'[Date]) MonthName = FORMAT('Date'[Date], "MMM") Quarter = "Q" & FORMAT(QUARTER('Date'[Date]), "")

创建了这些计算列之后,下一个重要的方面是在“Date”表中创建第一个度量。使用以下DAX创建的实际直接利润数字的度量。最重要的是,“DirectProfit”将使能够从“Data”表中捕获数字,并使其在任何详细程度上都可用,无论是年度、季度、月度还是日度。

DirectProfit = SUM(Data[Direct Profit])

在上一节中创建的度量可以在数据模型的“报告”视图中使用表格和图表查看。这为提供了直接利润逐月比较的视图。

最广泛使用的业务KPI之一是年初至今(YTD)值。年初至今显示了从年初开始直到选定日期的累积性能指标(本例中为直接利润)。将使用Power BI中的TOTALYTD函数来计算直接利润YTD数字。

要创建直接利润YTD视图,将使用以下公式创建一个新的度量。

DirectProfit YTD = TOTALYTD(SUM(Data[Direct Profit]), 'Date'[Date])
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485