7.6 PowerBI系列之DAX函数专题-周的同比环比与周聚合
需求
实现如下图的周同比环比分析
实现
日期表 = -- 创建一个日期表
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函数专题-周的同比环比与周聚合相关推荐
- 6.1 PowerBI系列之DAX函数专题 - filter,calculate,calculatetable
filter 一.一些知识点 1.filter可以作为表函数(返回表)或筛选器函数(作为calculate等函数条件).返回特定筛选条件下的数据: 2.filter不能接受多个参数作为条件,多条件时用 ...
- 7.7 PowerBI系列之DAX函数专题-指定月份的同比环比和季度环比
需求 实现如下结构的报表 基础日历表如下 实现 度量值 销售额 = sum(order_2[订单金额]) -- 算出当前上下文的销售额 度量值 上月销售额 = calculate(sum(order_ ...
- 6.6 PowerBI系列之DAX函数专题 -调节器TREATAS动态建立关系
treatas treatas可用于动态建立关系,并返回一个根据关系列匹配的数据表,并参与calculate的计算 产品表2 的订单计数 = var v_product_code = selectco ...
- 6.14 PowerBI系列之DAX函数专题-重点之集合函数UNION、INTERSECT、 except、crossjoin、generate
集合函数 表1 表2 union 并集 = union('表1',表2'') intersect 交集=intersect('表1','表2') --(图1) 图1 except 差集 = excep ...
- 7.4 PowerBI系列之DAX函数专题-期初期末库存分析
需求描述 商品库存的数量,每天将不同的商品数量汇总在一起,但是月汇总不能将每天的库存都加在一起,我们应取月末的库存余额. 使用lastdate和closingbalancemonth等函数实现. 实现 ...
- 6.20 PowerBI系列之DAX函数专题 -重点之error和iferror函数
一些知识 error函数用于发生异常情况时的自定义错误提示信息 iferror函数判断当前表达式是否出现错误,如果出现错误就进行其他操作 实例 error message = if(hasoneval ...
- DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N)
DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N) 难度: ★☆☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况:此文为DAX/PowerBI系 ...
- DAX/PowerBI系列 - 玩转阿里云 Alicloud Pricing
DAX/PowerBI系列 - 玩转 阿里云主机 Ali Cloud ECS 难度: ★★☆☆☆(1星) 适用范围: ★★★☆☆(3星) 欢迎交流与骚扰 这是啥: 双十一就到了,码农门,程序猿们有没有 ...
- dax powerbi 生成表函数_Power BI表连接的几个DAX函数,一次全掌握!
原标题:Power BI表连接的几个DAX函数,一次全掌握! 编写DAX代码进行业务分析时,经常会用到表与表之间的连接计算,比如在之前的产品关联分析一文中(如何用Power BI分析产品关联度?) ...
最新文章
- 和为s的连续正数序列java_剑指Offer41:和为S的连续正数序列(Java)
- 2013年蓝桥杯省赛C/C++A组真题解析
- Struts2框架的学习遇到的问题
- 2020 年微服务项目活跃度报告
- 透过现象看本质,如何设计一款病毒式裂变产品?
- 【渝粤题库】国家开放大学2021春2528监督学题目
- rgb颜色查询工具_Web前端页面重构之工具篇(Photoshop)
- spgwr | R语言与地理加权回归(Ⅰ-1):线性地理加权回归
- Python核心编程朱红庆_Python编程语言的核心是什么?
- iZotope RX 9 for Mac(数字音频修复工具)
- 【车间调度】基于matlab灰狼优化算法求解柔性作业车间问题【含Matlab源码 661期】
- 安装vc6出现couldn't find acme setup的解决办法
- gitter 卸载_最佳Gitter频道:Rust
- Windows下安装Golang开发环境-SDK安装
- Oracle连接pg,pg连接oracle.sql
- 获取嵌入式Linux设备下的触摸设备节点
- 正则表达式校验身份证号带出出生日期,年龄,性别
- 使用Breeze快速搭建GUI方式K8S集群操作手册
- 【JAVASCRIPT】正则表达式用于定义
- python-web-下载所有xkcd漫画