工坊的小伙伴们,周五好啊!关于同期的计算是一个老生常谈的问题,今天我们来看一下计算上年值的几个DAX函数吧~
# ** 数据准备**

我们虚拟从2018年1月至2019年4月的数据,如下:

构造日期表,可采用如下DAX语句构建:

Calendar =
ADDCOLUMNS (CALENDAR ( DATE ( 2017, 1, 1 ), DATE ( 2020, 12, 31 ) ),"年", YEAR ( [Date] ),"季度", "第"& ROUNDUP( MONTH ( [Date]) / 3, 0) & "季度","月", MONTH ( [Date] ),"月份", MONTH ( [Date] )& "月","年月", FORMAT ( [Date], "YYYY/MM" )
)

使用此表达式构造的日期表如下:

此表达式友友们可以研究下用到的几个函数,但无需深究,存起来到时直接使用即可。

# **DATEADD**

将日期表与事实表建立关系,如下:

计算当前年的实际销售金额:

Sales =
SUM ( 'Fact'[订单金额] )
计算上年同期销售金额,我们可以写如下的度量值
Sales_同期 =
CALCULATE ( [Sales],DATEADD ( 'Calendar'[Date],-1, YEAR ))

在报表视图呈现结果如下,与2018年同期数据是吻合的:

而当表中字段为年时,得到的结果不是截至去年同期四月的销售额,而是去年全年的销售额:

同期显示的是全年的数据。

# **PREVIOUSYEAR**

如果使用PREVIOUSYEAR来写上年值的话,那么度量值应该写成:

Sales_PY =
CALCULATE ( [Sales],PREVIOUSYEAR ( 'Calendar'[Date]) )

报表视图中呈现的结果如下:

无论表格中当前行是哪个月,Sales_PY均计算上年一整年的销售额。

# **SAMEPERIODLASTYEAR**

如果使用SAMEPERIODLASTYEAR函数来写上年值的话,那么度量值应该写成:

Sales_SP =
CALCULATE ( [Sales],SAMEPERIODLASTYEAR ( 'Calendar'[Date]) )

报表视图中呈现的结果是:

当表格中放置的列是年时,结果与使用DATEADD计算结果是相同的。

# **PARALLELPERIOD**

如果使用PARRELLPERIOD函数来写上年值的话,那么度量值应该写成:

Sales_PP =
CALCULATE ( [Sales],PARALLELPERIOD ( 'Calendar'[Date],-1, YEAR ))

根据验证,呈现结果与DATEADD函数计算结果相同:

# **总结**

计算上年(同期)值,可使用如下几个函数:
DATEADD,PREVIOUSYEAR,SAMEPERIODLASTYEAR,PARRELLPERIOD。
以下几个表达式从今天的实验结果来看是等价的:

Sales_同期 =
CALCULATE ( [Sales],DATEADD ( ‘Calendar’[Date],-1, YEAR ))
Sales_SP =
CALCULATE ( [Sales],SAMEPERIODLASTYEAR ( ‘Calendar’[Date]) )
Sales_PP =
CALCULATE ( [Sales],PARALLELPERIOD ( ‘Calendar’[Date],-1, YEAR ))

以下表达式总是返回上年一整年的销售额:

Sales_PY =
CALCULATE ( [Sales],PREVIOUSYEAR ( ‘Calendar’[Date]) )

当选择的不是完整的月份而是一个日期段时,这些函数又会有怎么样的表现呢?敬请期待~

** PowerPivot工坊原创文章,转载请注明出处!*


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


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

如何使用 DAX 函数计算上年值相关推荐

  1. R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来

    R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值.plot.roc函数绘制ROC曲线.添加置信区间.为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来 目录

  2. R语言difftime函数计算时间差值实战

    R语言difftime函数计算时间差值实战 目录 R语言difftime函数计算时间差值实战 #基础语法 #获取difftime语法帮助

  3. 【OpenCV4】使用 magnitude() 函数计算幅值(c++)

    计算公式: d s t ( I ) = x ( I ) 2 + y ( I ) 2 dst(I)=\sqrt{x(I)^2+y(I)^2} dst(I)=x(I)2+y(I)2 ​ 表示两个矩阵对应元 ...

  4. pandas使用nunique函数计算dataframe每个数据列的独特值的个数(count number of unique values in each column of dataframe)

    pandas使用nunique函数计算dataframe每个数据列的独特值的个数(count number of unique values in each column of dataframe) ...

  5. pandas使用groupby函数和cumsum函数计算每个分组内的数值累加值、并生成新的dataframe数据列( cumulative sum of each group in dataframe

    pandas使用groupby函数和cumsum函数计算每个分组内的数值累加值.并生成新的dataframe数据列( cumulative sum of each group in dataframe ...

  6. R语言编写自定义函数基于ggsumarystats函数计算每个分组的统计值、自定义可视化分组分面条形图,并在X轴标签下方添加分组对应的统计值(样本数N、中位数median、四分位数的间距iqr)

    R语言编写自定义函数基于ggsumarystats函数计算每个分组的统计值.自定义可视化分组分面条形图,并在X轴标签下方添加分组对应的统计值(样本数N.中位数median.四分位数的间距iqr) 目录

  7. R语言使用lm构建线性回归模型、并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型预测中系统误差的一个例子 、自定义函数计算R方指标和均方根误差RMSE

    R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型预测中系统误差的一个例子 .自定义函数计算R方指标和均方根误差RMSE 目 ...

  8. c语言调用函数计算分段函数值,输入x,计算并输出下列分段函数f(x)的值(保留2位小数) c语言...

    计算分段函数输入 x ,计算并输出 y 的值.公式如下 当x >= 0时,f(x) = x^0.5,当x小于0时,f(x #include#include//[1{intmain()//你所写的 ...

  9. c语言学习-编写函数计算式子:S=2*1*1!+2*2*2!+……+2n*n!的值。要求编写自定义函数分别求解2n和n!,在编写求解S的函数。

    编写函数计算式子:S=2 * 1 * 1!+2 * 2 * 2!+--+2n * n!的值.要求编写自定义函数分别求解2n和n!,在编写求解S的函数. 程序流程图: 代码: #include<s ...

最新文章

  1. [推荐]Angular File Changer (Supporting Touch Bar and NgRx)→用于快速切换同名HTML/SCSS/TS文件,非常的实用
  2. 用飞桨做自然语言处理:神经网络语言模型应用实例
  3. python3 签名 sha md5
  4. 深度学习核心技术精讲100篇(三十四)-智能化搜索,旅行场景下的个性化营销平台揭秘
  5. QT学习:Qt操作数据库
  6. [排序][二分][dp]JZOJ 2747 捡金子
  7. HTTP 200 OK和HTTP 304 Not modified的由来
  8. 高考学文的能报计算机吗,高考志愿填报时,文科生能申报计算机类相关专业吗?...
  9. Dying In The Sun
  10. 在线的代码托管平台 coding.net ===中国扩展版github
  11. Daily Scrum 10.28
  12. Git提交代码的处理流程(转)
  13. Spring揭秘(一)spring框架的由来
  14. 知识答题小程序功能总结
  15. bp神经网络算法原理公式,bp神经网络算法推导
  16. 电脑的脉搏---时钟频率的来龙去脉
  17. dell服务器全系列手册,DELL服务器 RAID配置中文手册.pdf
  18. Timer 和TimerTask分析
  19. 国家集训队论文分类整理[转]
  20. 《决胜B端》读书笔记04:互联网领域常见产品方向、盈利模式、盈利模式对产品方向的诉求

热门文章

  1. Nacos分级存储模型,权重配置,环境隔离
  2. 苹果电脑M1可以用mysql吗_千万不要试图在macbook m1上安装SQL server
  3. AM Property Holding为20万平方英尺长岛技术中心取得融资
  4. java idea 常用快捷键
  5. HDUOJ 2255 奔小康赚大钱
  6. 如何编出一个大型游戏代码
  7. 计算机网络:网段划分
  8. 招商证券有色金属行业数据库周报目录
  9. 基于fs_11c14开发板的项目实践
  10. 【Windows】运维:Windows 远程桌面无法复制粘贴