博客:www.jiaopengzi.com

焦棚子的文章目录

请点击下载附件

一、背景

最近在做下一年度的预算,做出来需要月度、季度、半年度、全年都展示出来,在做测算的是时候,默认的透视表已经无法满足需求。于是自定义一个满足需求的格式,效果如下图数据透视表1。

二、数据源

1、日期表:Calendar需要说明的是成功的关键在于日期表的设计,注意M、Q、H、FY。

2、关键辅助维度:Dimension把月度、季度、半年度、全年维度设置在同一个维度展示。

3、事实表:Data测试数据表,value都是1方便测试展示。

4、关系视图:关系视图的实线和虚线关系都是关键。

三、上DAX

total:基础度量,也是透视表2中的层级显示的度量。

Measure:月度、季度、半年度、全年同维度展示的关键度量。

Measure:=
VAR N=SUM('Dimension'[Index])
VAR RESULT=SWITCH(
TRUE(),
N<13,'Dimension'[total],
N<17,CALCULATE('Dimension'[total],USERELATIONSHIP('Calendar'[Q],'Dimension'[MQHY])),
N<19,CALCULATE('Dimension'[total],USERELATIONSHIP('Calendar'[H],'Dimension'[MQHY])),
CALCULATE('Dimension'[total],USERELATIONSHIP('Calendar'[FY],'Dimension'[MQHY]))
)
RETURN
RESULT

四、总结

1、原理其实很简单,根据需求创建对应的筛选上下文即可;

2、关键点1:辅助维度的设计,月度、季度、半年度、全年;

3、关键点2:虚实线的关系搭配USERELATIONSHIP的使用;

4、日期表的设计也是至关重要的,一份好的日期表起到事半功倍的作用。

by焦棚子

焦棚子的文章目录

143_Power BI&Power Pivot月度、季度、半年度、全年同维度展示的更多相关文章

  1. 151-模型-Power BI&Power Pivot模型DAX函数使用量分析

    151-模型-Power BI&Power Pivot模型DAX函数使用量分析 1.背景 我们在 Power BI 或者 Power Pivot 项目中会写很多的 DAX 表达式.在最后项目交 ...

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

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

  3. 138_Power BI&Power Pivot特殊半累加度量

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 半累加度量(semi-additive measure),在DAX建模分析的时候经常遇见:应用场景诸如银行存款. ...

  4. 140_Power BI&Power Pivot之降维展示同类型比较

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 最近一段时间比较忙,几乎没有时间更新网站内容,今天刚好周末,更新一个简单的需求. 上效果图: 在我们日常做对比分 ...

  5. Power BI for Office 365(三)Power Pivot

    在Power Pivot中可以从各种数据源中根据你的需求来创建数据模型,并且可以根据需要随时刷新这些数据.在上一篇中,Anna已经准备好了加载到Power Pivot中的数据.Power Pivot就 ...

  6. SQL中获取最近的N个半年度

    直接上代码: --获取往前推的N个半年度 CREATE FUNCTION F3_GetRecentNHalfYear ( @N INT ) RETURNS @Result TABLE ( Year S ...

  7. C#根据当前时间获取周,月,季度,年度等时间段的起止时间

    最近有个统计分布的需求,需要按统计本周,上周,本月,上月,本季度,上季度,本年度,上年度等时间统计分布趋势,所以这里就涉及到计算周,月,季度,年度等的起止时间了,下面总结一下C#中关于根据当前时间获取 ...

  8. Power Pivot表属性无法切换回表预览模式的问题

    近期Office365用户升级后解决了在Power Pivot中输入中文的问题,但是同时也带来了一个新的问题就是表属性窗口默认为“查询编辑器”模式,且无法切换回“表预览”模式. 本文和您分享在这种情况 ...

  9. (转)C#根据当前时间获取周,月,季度,年度等时间段的起止时间

    DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Convert.ToInt32(dt.DayOfWeek.T ...

随机推荐

  1. python学习笔记(六)——程序调试

    在我们平时编写程序时,常常会遇到各种错误,俗称BUG.而我们程序猿的工作常常需要对程序进行调试,也就是所谓的debug. 程序调试是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法 ...

  2. 在小程序中Tabbar显示和隐藏的秘密

    其实对Tabbar 的用法的理解总结下来分这几个阶段: 第一阶段:在 app.json 中配置 "tabBar": { "list": [{ "pag ...

  3. CCF201403-2窗口

    问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域.窗口的边界上的点也属于该窗口.窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的 ...

  4. js手机号隐藏中间四位

    var tel = "13122223333"; var reg = /^(\d{3})\d{4}(\d{4})$/; tel = tel.replace(reg, "$ ...

  5. webpack 4.0 配置方法以及错误解决

    选取一个空目录来试验 全局安装webpack4.1之后 创建目录 mkdir webpacktest && cd webpacktes 初始化package.json npm init ...

  6. iOS开发 将html 富文本文字 转换成oc 的富文本

    - (NSMutableAttributedString *)mf_htmlAttribute:(NSString *)htmlString{ htmlString = [NSString strin ...

  7. equals 与 == 区别

    1.对于==: 基本数据类型:byte,short,char,int,long,float,double,boolean. 基本数据类型之间的比较,对于==,比较的是他们存储的"值" ...

  8. 聊聊UI自动化的PageObject设计模式

    当我们开发UI自动化测试用例时,需要引用页面中的元素(数据)才能够进行点击(动作)并显示出页面内容.如果我们开发的用例是直接对HTML元素进行操作,则这样的用例无法"应对"页面中U ...

  9. 学习打卡day14&&构建之法阅读笔记第二篇

    对于书中所提到的结对编程我还是有些许感受的,在大二上学期我就有和同学合作,共同完成编码.有时候可能是我来做非常非常简易的前端页面部分,然后给同学一个基础框架,让同学往框架里面填充,时而遇到问题我再来沟 ...

  10. uniapp-scroll-view纵向(竖向)滑动当scrollTop为0时卡顿问题

    这个问题目前遇到的人少,所以找到答案不容易,我也是各种细节亲测才发现的解决方案.记录下来 当uniapp用scroll-view竖向滚动时,在scrollTop为0时,下拉会卡顿. 解决方法(只需要在 ...