博客: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. C++ | 虚函数产生条件

    虚函数产生的条件 能否成为虚函数主要有以下两种判断依据,如果以下两种条件均满足,则具有成为虚函数的条件. 1.虚函数机制为动多态提供支持,而虚函数表中存放着虚函数的地址.因此虚函数必须是可以取地址的函 ...

  2. .NET Best Practices: Architecture & Design Patterns (5 Days Training)

    .NET Best Practices: Architecture & Design Patterns (5 Days Training) .NET最佳实践:架构及设计模式 5天培训课程 课程 ...

  3. input 弹起数字键盘的那些坑

    input ios 踩的大坑 前言:最近有个需求要将全平台的交易密码由原来的 6-16位 复杂密码改为6位纯数字交易密码,涉及到非常多的业务场景,但修改起来也无非两种:设置交易密码,使用交易密码 设置 ...

  4. the compatibility problem of ie

    ie8hack ie8下的兼容问题处理:背景透明,css3圆角,css3和jquery支持部分css3选择器(例如:nth-child),支持html5的语义化标签,媒体查询@media等. 在htm ...

  5. android SQLite数据库(转)

    Android数据库 之 SQLite数据库   Android数据库  一.关系型数据库SQLIte 每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的.与操作系统无 ...

  6. Spark周总结(一)

    本周学习内容: 1.搭建虚拟机Spark环境 2.idea编写Scala脚本并在yarn上运行 总结: 这周是回家第一周,虽然没啥事,但是还是想放松放松,也是万事开头难,跟着教程做,但总有几步跟教程上 ...

  7. 写入MySQL中文乱码问题

    相信使用数据库进行存储的大家都遇到过中文乱码问题,如何彻底解决?我百度了很多资料与博客,想把自己的经历总结起来给大家参考一下,接下来我先罗列一下大部分修改乱码问题的方法: 1.   修改MySQL数据 ...

  8. linux mysql导入导出sql文件

    导出 导出单独数据库:mysqldump -uroot -p 数据库名 > 数据库名.sql 例:mysqldump -uroot -p database1 > database1.sql ...

  9. Lumia1520 手机刷 Windows10 arm双系统

    注意问题 升级到Windows 10 Mobile 的需重新刷回WP8.1,否则解锁会失败 部分手机刷机win10arm后出现屏幕卡死现象,目前除了换屏或重新焊接暂无其他解决方案,请谨慎刷机(当然如果 ...

  10. Python学习报告及后续学习计划

    第一次有学习Python的想法是源于寒假在家的时候,高中同学问我是否学了Python(用于深度学习),当时就到b站收藏了黑马最新的教学视频,但是"收藏过等于我看了",后续就是过完年 ...