博客:www.jiaopengzi.com

焦棚子的文章目录

请点击下载附件

一、背景

在群里看到有人在交流周维度同环比,同时又好多天都没有更新文章了,最近没有什么好的素材,就硬生生的写一个吧。

先来看看结果图(ps:实现功能,美化靠天赋,反正我没什么天赋。)

关于中国式报表,有人喜欢方式一,也有人喜欢方式二,如果喜欢方式三就自己写吧。

二、数据源

数据源用M写的随机数据,共三张表。

1、【周几】

2、【calendar】

3、【data】

4、三张表的M

5、数据源M源码

/*data*/
let
D = #table(
type table[
date=date
,value=number
]
,List.Transform(
{0..364}
,(d)=>
{
Date.From(Number.From(#date(2018,1,1))+d)
,Number.Round(Number.RandomBetween(1,1000),2)
}
)
)
in
D /周几/

let

源 = #table(

type table [

ID=Int32.Type

,周几=text

]

,List.Transform(

{0..6}

,(d)=>

{

d

, {"一","二","三","四","五","六","日"}{d}

}

)

)

in

/calendar/

let

D = #date(2018,1,1),

N = Number.From(D),

C = #table(

type table [

date=date

,weeknumber=Int32.Type

,weekday=Int32.Type

]

,List.Transform(

{0..364}

,(d)=>

let

r=Date.From(N+d)

in

{

r

, Date.WeekOfYear(r,1)

,Date.DayOfWeek(r,1)

}

)

)

in

C

6、关系

三、上DAX

1、周同比

周同比 :=
var w =
average ( 'calendar'[weeknumber] ) - 1
return
divide (
'calendar'[total]
- calculate ( 'calendar'[total], 'calendar'[weeknumber] = w ),
calculate ( 'calendar'[total], 'calendar'[weeknumber] = w )
)

2、日环比

日环比 :=
var dc =
lastdate ( 'calendar'[date] )
var dl =
dateadd ( dc, -1, day )
var vl =
calculate ( 'calendar'[total], 'calendar'[date] = dl )
return
divide ( 'calendar'[total] - vl, vl )

3、result

result :=
VAR v =
FORMAT ( 'calendar'[total], "0.00" )
VAR t =
SWITCH (
TRUE (),
'calendar'[周同比] > 0, "同比:▲" & FORMAT ( 'calendar'[周同比], "0%" ),
'calendar'[周同比] < 0, "同比:▼" & FORMAT ( 'calendar'[周同比], "0%" ),
"同比:▁" & FORMAT ( 'calendar'[周同比], "0%" )
)
VAR h =
SWITCH (
TRUE (),
'calendar'[日环比] > 0, "环比:▲" & FORMAT ( 'calendar'[日环比], "0%" ),
'calendar'[日环比] < 0, "环比:▼" & FORMAT ( 'calendar'[日环比], "0%" ),
"环比:▁" & FORMAT ( 'calendar'[日环比], "0%" )
)
RETURN
SWITCH (
TRUE (),
'calendar'[周同比] = BLANK ()
&&'calendar'[日环比] = BLANK (), v,
'calendar'[周同比] = BLANK (), CONCATENATE ( v, "|" & h ),
'calendar'[日环比] = BLANK (), CONCATENATE ( v, "|" & t ),
CONCATENATE ( v, "|" & t & "|" & h )
)

四、总结

1、dax没有什么难度,主要是上周和前一天的筛选上下创建;

2、中国式报表:主要是利用文本连接(度量值:result);

3、本案例中只体现了2018年一年的周,如果需要多年的话,只需要创建weeknumber的索引即可。

by焦棚子

焦棚子的文章目录

118_Power Pivo周维度度同比、环比相关的更多相关文章

  1. 再谈Cognos利用FM模型来做同比环比

    很早之前已经讲过 <Cognos利用DMR模型开发同比环比>这篇文章里说的是不利用过滤器,而是采用 except (lastPeriods (-9000,[订单数据分析].[日期维度].[ ...

  2. cognos report同比环比以及默认为当前月分析

    现在的需求是按月份分析不同时期的余额数据,.(报表工具:cognos report:建模工具:FM) ------------------------------------------------- ...

  3. Hive之同比环比的计算

    Hive系列文章 Hive表的基本操作 Hive中的集合数据类型 Hive动态分区详解 hive中orc格式表的数据导入 Java通过jdbc连接hive 通过HiveServer2访问Hive Sp ...

  4. 111_Power Pivot 24小时维度:累计、同比、环比相关

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 今天有朋友讨论怎么做每天24小时维度的工作量计算(运营类企业,每天24小时都在运营)需求如下: 1.从0时到23 ...

  5. MySQL统计同比环比SQL

    大体思路: MySQL没有类似oracle方便的统计函数,只能靠自己去硬计算:通过时间字段直接增加年份.月份,然后通过left join关联时间字段去计算环比.同比公式即可 原始表结构: 求同比SQL ...

  6. 数据可视化之DAX篇(十二)掌握时间智能函数,同比环比各种比,轻松搞定!

    https://zhuanlan.zhihu.com/p/55841964 时间可以说是数据分析中最常用的独立变量,工作中也常常会遇到对时间数据的对比分析.假设要计算上年同期的销量,在PowerBI中 ...

  7. Oracle分析函数/排名函数/位移函数/同比环比

    分析函数 作用:分析函数可以在数据中进行分组,然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值.统计函数:MAX(字段名).MIN(字段名).AVG(字段名).SUM(字段名).CO ...

  8. MDX 占比同比环比

    http://blog.csdn.net/hero_hegang/article/details/9072889

  9. Q:判断链表中是否存在环的相关问题

    问题:如何判断一个单向链表中是否存在环? 例如: 链表中存在环(B-->D): <-- <--^ | | v | A-->B-->C-->D 链表中不存在环: A- ...

随机推荐

  1. TL431常用电路整理

    熟悉电路制作的人大多对TL431并不陌生.由于TL431的动态抗阻的特性,其经常在电路设计当中被用于替代稳压二极管.不仅如此,TL431的开态响应速度快输出噪音低,并且价格低廉.因此受到电源工程师和初 ...

  2. 从零开始:微信小程序新手入门宝典《一》

    为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习: 一:微信小程序的特点 张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使 ...

  3. 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)

    概述 最近,有客户向我们请求开发一个前端下拉控件,需求是显示了一个列表,其中包含可由用户单独选择的项目控件,该控件将在下拉列表中显示多选TreeView(树形图). 如今WijmoJS已经实现了该控件 ...

  4. Mybatis实现批量添加操作

    Mybatis实现批量添加操作 学习内容: 1. 使用 2. 代码实现 2.1 UserMapper.java 接口 2.2 UserMapper.xml 总结: 学习内容: 1. 使用 这里通过动态 ...

  5. Jar 包下载以及 maven jar 包配置

    学习内容: jar包下载是我们必须掌握的一个内容,不管是使用Maven项目还是其他项目,一般都需要引入外部的 jar 包 jar包下载 下载地址(打不开网址的直接百度搜索 maven reposito ...

  6. css使Img图片居中显示

    <div class="flex-center listing-img"> <img v-if="item.imgUrl" v-bind:sr ...

  7. C语言-操作符与表达式

    C语言入门之操作符与表达式 前言 本篇文章主要包括各种操作符的介绍与表达式求值,欢迎各位小伙伴与我一起学习. 一.操作符 分类 算术操作符 移位操作符 位操作符 赋值操作符 单目运算符 关系操作符 逻 ...

  8. ssm整合-ssmbuild

    目录 项目结构 导入相关的pom依赖 Maven资源过滤设置 建立基本结构和配置框架 Mybatis层编写 Spring层 Spring整合service层 SpringMVC层 Controller ...

  9. 阿里云-部署-服务-Docker

    目录 ♫ MusicPlayer Naiveboom - 比较安全 个人阿里云部署的小服务,欢迎使用,服务器资源有限,如果遇到卡顿还请谅解~ 索引: 在线音乐播放器 阅后即焚 ♫ MusicPlaye ...

  10. canvasToTempFilePath: fail SecurityError: The operations is insecure

    我这里报这个错是因为canvas用到的图片有跨域问题.解决了跨域就对了. 值得一提的是:我用hbuilderX开发的h5.在内置浏览器调试时一切正常.到了部署上线后才报的这个错.