需求

实现如下图的周同比环比分析

实现

日期表  = -- 创建一个日期表
addcolumns(addcolumns(calendar auto(),"年度“,year(date),“季度”,“q”&format([date],"q"),“月份”,format([date],"mm"),“日”,format([date],"dd"),“年度季度”,format([date],"yyyy")&"q"&format([date],"q"),“年度月份”,format([date],"yyyy-mm"),“周几”,weekday([date],2) ,-- 周从星期一(1)开始,到星期天(7)结束“周数”,weeknum([date],2) -- 周数指此周在一年中的数值,1-52),"年度周数",[年度]*100+[周数])-- 返回如下日期表


日期表

WEEKDAY(<date>, <return_type>)

WEEKNUM(<date>[, <return_type>])

有两个系统用于此函数:

系统 1 - 包含 1 月 1 日的周是一年的第一周,编号为“第 1 周”。
系统 2 - 包含一年第一个星期四的周是一年的第一周,编号为“第 1 周”。 此系统是 ISO 8601 中指定的方法,通常称为欧洲周编号系统

度量值 上周销售额 =
var curyear = selectedvalue('日期表'[年度]) -- 返回当前上下文的唯一取值
var curweeknum = selectedvalue('日期表'[周数]) -- 返回当前上下文的唯一取值
returncalculate([销售金额],filter(all('日期表'),'日期表'[年度]=curyear&&'日期表'[周数]=curweeknum-1))
度量值 去年同周销售额 =
var curyear = selectedvalue('日期表'[年度]) -- 返回当前上下文的唯一取值
var curweeknum = selectedvalue('日期表'[周数]) -- 返回当前上下文的唯一取值
returncalculate([销售金额],filter(all('日期表'),'日期表'[年度]=curyear-1&&'日期表'[周数]=curweeknum))
度量值 本周至今WTD =
var curyearweek = selectedvalue('日期表'[年度周数]) -- 获取当前周
return calculate([销售金额],filter( -- 计算当前周截止到当前天有几天all('日期表'), --从取消了所有筛选的日期表中筛选'日期表'[年度周数]=curyearweek &&'日期表'[date]<=max('日期表'[date]) --取到年度周数为当前周,且小于等于当前上下文最大的那天的日期

上面的代码中涉及到了selectedvalue,附上官方文档
SELECTEDVALUE文档例子

DEFINE
MEASURE DimProduct[Selected Color] =SELECTEDVALUE(DimProduct[Color], "No Single Selection")
EVALUATESUMMARIZECOLUMNS  (ROLLUPADDISSUBTOTAL(DimProduct[Color], "Is Total"),  "Selected Color", [Selected Color])ORDER BY [Is Total] ASC,  [Color] ASC

7.6 PowerBI系列之DAX函数专题-周的同比环比与周聚合相关推荐

  1. 6.1 PowerBI系列之DAX函数专题 - filter,calculate,calculatetable

    filter 一.一些知识点 1.filter可以作为表函数(返回表)或筛选器函数(作为calculate等函数条件).返回特定筛选条件下的数据: 2.filter不能接受多个参数作为条件,多条件时用 ...

  2. 7.7 PowerBI系列之DAX函数专题-指定月份的同比环比和季度环比

    需求 实现如下结构的报表 基础日历表如下 实现 度量值 销售额 = sum(order_2[订单金额]) -- 算出当前上下文的销售额 度量值 上月销售额 = calculate(sum(order_ ...

  3. 6.6 PowerBI系列之DAX函数专题 -调节器TREATAS动态建立关系

    treatas treatas可用于动态建立关系,并返回一个根据关系列匹配的数据表,并参与calculate的计算 产品表2 的订单计数 = var v_product_code = selectco ...

  4. 6.14 PowerBI系列之DAX函数专题-重点之集合函数UNION、INTERSECT、 except、crossjoin、generate

    集合函数 表1 表2 union 并集 = union('表1',表2'') intersect 交集=intersect('表1','表2') --(图1) 图1 except 差集 = excep ...

  5. 7.4 PowerBI系列之DAX函数专题-期初期末库存分析

    需求描述 商品库存的数量,每天将不同的商品数量汇总在一起,但是月汇总不能将每天的库存都加在一起,我们应取月末的库存余额. 使用lastdate和closingbalancemonth等函数实现. 实现 ...

  6. 6.20 PowerBI系列之DAX函数专题 -重点之error和iferror函数

    一些知识 error函数用于发生异常情况时的自定义错误提示信息 iferror函数判断当前表达式是否出现错误,如果出现错误就进行其他操作 实例 error message = if(hasoneval ...

  7. DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N)

    DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N) 难度: ★☆☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况:此文为DAX/PowerBI系 ...

  8. DAX/PowerBI系列 - 玩转阿里云 Alicloud Pricing

    DAX/PowerBI系列 - 玩转 阿里云主机 Ali Cloud ECS 难度: ★★☆☆☆(1星) 适用范围: ★★★☆☆(3星) 欢迎交流与骚扰 这是啥: 双十一就到了,码农门,程序猿们有没有 ...

  9. dax powerbi 生成表函数_Power BI表连接的几个DAX函数,一次全掌握!

    原标题:Power BI表连接的几个DAX函数,一次全掌握! ​ 编写DAX代码进行业务分析时,经常会用到表与表之间的连接计算,比如在之前的产品关联分析一文中(如何用Power BI分析产品关联度?) ...

最新文章

  1. 和为s的连续正数序列java_剑指Offer41:和为S的连续正数序列(Java)
  2. 2013年蓝桥杯省赛C/C++A组真题解析
  3. Struts2框架的学习遇到的问题
  4. 2020 年微服务项目活跃度报告
  5. 透过现象看本质,如何设计一款病毒式裂变产品?
  6. 【渝粤题库】国家开放大学2021春2528监督学题目
  7. rgb颜色查询工具_Web前端页面重构之工具篇(Photoshop)
  8. spgwr | R语言与地理加权回归(Ⅰ-1):线性地理加权回归
  9. Python核心编程朱红庆_Python编程语言的核心是什么?
  10. iZotope RX 9 for Mac(数字音频修复工具)
  11. 【车间调度】基于matlab灰狼优化算法求解柔性作业车间问题【含Matlab源码 661期】
  12. 安装vc6出现couldn't find acme setup的解决办法
  13. gitter 卸载_最佳Gitter频道:Rust
  14. Windows下安装Golang开发环境-SDK安装
  15. Oracle连接pg,pg连接oracle.sql
  16. 获取嵌入式Linux设备下的触摸设备节点
  17. 正则表达式校验身份证号带出出生日期,年龄,性别
  18. 使用Breeze快速搭建GUI方式K8S集群操作手册
  19. 【JAVASCRIPT】正则表达式用于定义
  20. python-web-下载所有xkcd漫画

热门文章

  1. 寻求一个兼职的安卓开发工程师
  2. 常用DOS命令参数的中文详解1
  3. 写一个打开cmd窗口并执行cmd命令的Windows脚本(.bat文件)
  4. 新手如何快速入门IT行业
  5. Alternate Realities大赛作品引发的思考(一)——用通俗的语言解释shader的渲染过程
  6. 国产化下jmeter的适配
  7. 2022软件质量与管理-考题复习
  8. “软到不行”的WWDC2018
  9. 程序员的浪漫——欲寄彩笺兼尺素,山长水阔知何处
  10. 【leecode 剑指offer】 1~n整数中1出现的次数