概述

  • 了解时间智能功能在 Power BI 中的重要性

  • 通过简单示例在 Power BI 中实现时间智能函数

介绍时间是企业的资产,就像资源、材料和资金一样。企业使用累积时间计算(年到日期、月到日期或季度到日期),这些计算在常用用法中称为 YTD、MTD、QTD。它们是分析趋势或比较销售和财务绩效的有用指标。然而,在 Microsoft Excel 中使用数据透视表和公式计算这些指标可能是一场噩梦。

虽然与时间相关的计算并不复杂,但它们可能很乏味。这里有一个给业务分析师的问题:"您花了多少时间准备基于 Excel 的仪表板来分析一段时间的业务绩效?答案很不理想,不是吗?

Power BI 中的Time 智能功能可帮助用户执行可实时评估业务性能的计算,而无需将其显式存储在单独的工作表中并引用它们。Microsoft Power BI 提供称为数据分析表达式 (DAX) 的计算等公式,可帮助用户从数据中开发新功能。时间智能函数是 Power BI 开发人员衡量业务指标模式的必用表达式(与去年相比,按年、按季度、按季度计算等)。

本文讨论了 Power BI 时间智能功能的重要性和用途,这些功能可以使仪表板开发过程顺利进行。

注:我们假设您以前使用过 Power BI,并且有使用 DAX 的经验。有关 Power BI 的初学者友好介绍,请查看博客:

  • 10 个有用的数据分析表达式 (DAX) 函数,适用于 Power BI 初学者

目录

  1. 了解数据

  2. 时间智能功能的重要性

  3. 在 Power BI 中使用 DAX

  4. 创建日期引用表

  5. 必需的计算列和度量值

  6. 使用时间智能功能分析业务绩效

了解数据

在深入探讨 Power BI 中时间智能功能如何轻松高效地实现之前,我们先概述示例数据。我们使用包含 2017 年和 2018 年企业直接利润数字的数据。

下文提供了数据的屏幕截图。数据也可以从Github下载练习。

数据包含几个产品的直接利润编号。产品描述、业务细分、品牌和其他特征已被掩盖。每个月运行几个活动。在7月和12月,只有一个竞选活动。因此,我们可用的数据不是连续日期格式。

时间智能功能的重要性

要比较趋势,企业依赖于在一个时间窗口内评估市场活动的性能。通常,业务利益干系人希望了解其关键绩效指标 (KPI),并将其与年度目标进行比较。

例如,他们可能希望评估年度至今 (YTD) 利润,并制定战略以填补与年度目标有关的差距。此外,与上一年或月份或季度相比,绩效可能是需要评估的另一个指标。这将有助于他们分析业务业绩是否与去年同一时期相匹配。

Power BI 提供的功能可以通过简单的计算高效地实现这些比较。尽管 Excel 中这些基于时间的指标的计算并不困难,但它们可能涉及使用数据透视表。

Power BI 中使用 DAX

让我们使用"从 Microsoft Excel 工作簿导入数据"功能按钮将数据导入 Power BI。Power BI 数据视图中导入的数据为:

请注意,没有表示每个"市场活动编号"列的日历日期的列。因此,我们将使用"表工具"菜单下的"新列"按钮创建一个计算列。我们将使用我们的第一个数据分析表达式 (DAX) 来达成此结果。DAX 是 Excel 的公式,可以在数据中创建新列。

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

Power BI 中的 DATE 函数使用"数据"中的"年"和"月"和"日期"列创建日历日期列。但是,请注意,表示与双月市场活动对应的日期的"日历日期"列不是连续的。尽管这不一定构成挑战,但利用 Power BI 中时间智能功能的更简单方法是创建一个包含一系列连续日期的新表。

创建日期引用表

若要在数据模型中创建新表,请转到"主页"选项卡,然后单击"新表"按钮。

我们使用称为 CALENDAR 函数的 DAX,该函数创建一个名为"Date"的表,其中包含一个"Date"列,给定特定的开始日期和结束日期分别是 2017 年 1 月 1 日 1 和 12 月 31 日。

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

创建"日期"表后,我们必须在数据模型中将此表标记为正式日期表。这可以通过在右侧的"字段"窗格中查找"日期"表并单击"标记为日期表"来完成。Power BI 将要求您选择表示日期的列。现在,您知道它是"Date"列。此步骤可确保进一步的 DAX 公式将此"日期"表作为最可靠的日期源。

除非我们在"Date"表和"Data"表之间创建关系,否则我们不能将创建的表用于 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 创建。最重要的是,"直接利润"将使我们能够灵活地从"Data"表中捕获数字,并使其在任何细节级别上可用,包括每年、每季度、每月或按天提供。

DirectProfit = SUM(Data[Direct Profit])

使用 Power BI 中的时间智能功能分析业务性能

可以使用表和图表在数据模型的"报表"视图中查看最后一节中创建的度量值。这为我们提供了直接利润的月对比视图。

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

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

DirectProfit YTD = TOTALYTD(SUM(Data[Direct Profit]), 'Date'[Date])

此公式计算"Data"表中某些"直接利润"值的表达式,并返回"Date"列的累计 YTD 编号。

面积图表示直接利润 YTD 数字,在两年内具有可比性。两年的本年趋势与2月至6月的年数趋势相当可比。然而,2018年的趋势与上一年相比,7月至10月的趋势不同。2018年7月至10月的直接利润年数远远低于2017年的相应时期。

此外,2018 年 11 月和 12 月的直接利润也大幅跃升。然而,它在2017年同一时期趋于平缓。除了 TOTALYTD 之外,还有一些函数,如 TOTALMTD 和 TOTALQTD,可以为任何业务指标提供月到日期和季度到日期的值。

另一个在 Power BI 中最常用的时间智能函数是 SAMEPERIODLASTYEAR。它评估当前期间的业务绩效与上一年同一期间。

结束备注

在这篇文章中,我们了解了时间智能如何在评估业务绩效方面发挥重要作用。此外,我们还查看了计算 Power BI 中给定 KPI 的 YTD 数字的动手示例。

总之,Power BI 提供了许多时间智能功能,可帮助报告业务绩效。此外,与 Excel 中基于单元格的计算不同,我们可以在 Power BI 中创建度量值。度量值可以在任何详细级别上评估给定的时间计算。

转载出处:https://www.analyticsvidhya.com/blog/2020/08/time-intelligence-power-bi/

作者:Kaushik

bi power 两个日期挑较早的日期_功率 BI 中的时间智能:利用时间相关推荐

  1. 麦咭早教机器人_麦咭机器人什么价位(麦咭智能早教机器人测评)

    在众多人工智能产品中,儿童智能机器人是一个比较特殊的存在.很多家长希望小小的机器人既能陪伴孩子,又能帮助孩子边玩边学.它们除了陪孩子聊天.给孩子讲故事,还得教孩子学英语.学语文. 近年来,儿童智能产品 ...

  2. C语言中编写一个程序,提示用户输入两个日期,然后显示哪一个日期更早

    文章目录 编写一个程序,提示用户输入两个日期,然后显示哪一个日期更早 #include<stdio.h> int main(){ int a,s,d; int z,x,c; scanf(& ...

  3. 如何获取当日日期_Power BI时间智能函数如何处理2月29日的?

    ​今年是闰年,有星友问我,在Power BI中,2月29日的上年同期是怎么计算的? 这是个好问题,正好梳理一下,PowerBI时间智能函数是如何处理不规则日期的对比数据的. 以一个模拟的订单表数据为例 ...

  4. 155_模型_Power BI Power Pivot 进销存之安全库存

    155_模型_Power BI & Power Pivot 进销存之安全库存 一.背景 谈进销存的概念时,我们也需要提及另外一个概念:安全库存. 库存周转在理想的状态下是做到零库存,但是在内部 ...

  5. 计算两日期之间差多少天----日期格式为:yyyy-mm-dd

    计算两日期之间差多少天 日期格式为yyyy-mm-dd //计算日期差值的方法: //计算日期差值的方法: function getDaysBetween(dateString1, dateStrin ...

  6. Power BI+Power Apps联动初尝试

    我们知道Power BI是用来制作报表和仪表板的工具,也就是Power BI是数据分析结果的输出,一般操作上这些分析结果很难再输入到一些业务流程中.在下面这个例子里,我们会引入Power Apps,将 ...

  7. 用Power BI (Power query)高效做IPO上市项目账务梳理(财务总监CFO必看)

    IPO上市项目账务梳理,是指公司针对即将上市的目标,把公司历年来账务做全面梳理,把金蝶,用友等各类财务系统数据经过一系列处理转换成全新的套账,把old会计凭证的附件撤下来重新附在新凭证上,整理归档,账 ...

  8. 请用两种java方式显示今天的日期_日期时间显示格式的两种设置方法

    在国内行业的各类报表中日期和时间可以算是最长见的一个数据单位了,几乎所有的报表都可以和时间拉上关系,而且报表浏览者也大都要求报表中有时间日期,这样才能让报表信息更清晰明了.但是时间和日期在数据库中的存 ...

  9. Oracle 计算两个日期之间的年月、日期,月份数、天数

    目录 Oracle 计算两个日期之间的月份数.月份列表.天数.日期列表 Oracle 计算两个日期之间的月份数.月份列表.天数.日期列表 获取日期之间的月数(包括自身) 时间:2019-05-30 至 ...

最新文章

  1. android微博客户端下载,iBeebo微博客户端
  2. 10万现金+高薪offer!新网银行智能语音大赛火热进行中
  3. 附录5:TensorFlow基础(一)
  4. 第十七届智能车竞赛英飞凌专题培训 ——英飞凌无刷电机驱动专题
  5. CPU的基本结构和功能
  6. Viterbi 算法无线通信信号处理Demo
  7. 微众WeCross 跨链平台(6)UBI通用区块链接口
  8. MySQL—相关子查询
  9. Python培训:学完Python可以做什么?
  10. cf1561D Up the Strip(D1D2)
  11. java api限流_Java 9:流API的增强
  12. php试题与答案(二),php面试题附答案二
  13. Android 存储路径浅析
  14. mysql的dockerfile_dockerfile构建mysql镜像
  15. 优秀的人都有一个共同点
  16. 如何避免开源安全噩梦?
  17. 2022-2028全球与中国卫星地面网络科技市场现状及未来发展趋势
  18. 【电子电路】电子基础基本知识和面试要点
  19. 开源微信小程序源码新版及教程
  20. 关于EF Core中同一个实体被多次tracked的问题

热门文章

  1. 自动推荐图表、智能分析,这个新出的分析工具有点酷!
  2. D5SJ醴陵 2013最新版
  3. 用API OleLoadPicture通过IStream来加载JPG、GIF格式的图片
  4. c/c++永不过时的编程语言
  5. 情人节找个程序员当男朋友,一般都不会太差
  6. 第八节:实战前必须掌握的10个指令(下)
  7. el table 固定表头和首行_表头太太太复杂了,如何批量打印?简单!
  8. mysql写入 cpu飙升_分析MySQL中索引引引发的CPU负载飙升的问题
  9. STM32嘀!嘀!嘀!点触式发报机
  10. 优化算法笔记|萤火虫算法理解及实现