PowerBI开发 第十二篇:钻取
钻取是指沿着层次结构(维度的层次)查看数据,钻取可以变换分析数据的粒度。钻取分为下钻(Drill-down)和上钻(Drill-up),上钻是沿着数据的维度结构向上聚合数据,在更大的粒度上查看数据的统计信息,而下钻是沿着数据的维度向下,在更小的粒度上查看更详细的数据。举个例子,当前的粒度是月份,按照年份查看数据是上钻,而按照日期来查看数据是下钻,日期的数据是详细的数据,而每天的数据是高度聚合的数据。
我的PowerBI开发系列的文章目录:PowerBI开发
一,层次结构
钻取数据,离不开层次结构,最常用的层次结构数据是日期维度,日期维度是自然层次结构,下层的结点只有一个父结点,如下表所示:

在PowerBI的Report视图中创建Date Hierarchy,该层次结构由三个级别组成,从上至下依次是Year,Month和Date:

PowerBI没有内置层次结构切片,设计人员需要从Marketplace中下载自定义的HierarchySlicer,用于显示Date Hierarchy:

二,Chart级别的钻取
在同一个Chart上,通过钻取操作,导航到不同的层次结构上查看数据,
例如,如下数据是某数据仓库中包含的创建于2018年的所有Post的数据,

在Relationship视图中,通过CreatedDateKey和Date维度的DateKey关联起来,在Report视图中,通过Line Chart查看不同Date层次结构上Post数量,Line Chart的属性设置如下图所示:

默认的级别是顶层的Year,在该级别上,Line显示的数据是2018年的所有Post的总数,由于只有2018这一个年份,因此Line Chart只显示一个点。

通过下钻按钮(两个向下的箭头),导航到Month级别查看Post的数据,在该级别上,可以看到2018年的所有月份的Post数量和增长趋势:

上钻按钮是一个向上的箭头,可以从Month级别返回到Year级别。上钻和下钻是按照层次结构,逐层钻取的。
三,把钻取关联到其他图表
钻取过滤默认时启用的,钻取会对其他的图表(Visual)进行过滤,这就意味着,当你在一个Visual上进行钻取操作时,其他Visual上的数据也会被过滤。

三,钻透
钻透(Drillthrough)允许你在报表中创建一个Page,该Page(称作钻透Page)提供模型中单个实体的详细信息,然后在其他Page中引用该实体列,通过使用数据点(Data Point)从当前Page导航到钻透Page上,并把过滤上下文传递到钻透Page上。
过滤上下文分为钻透过滤器和Page级别的过滤器上下文,钻透过滤上下文是指拖放到DrillThrough中的字段。当启用 Keep all filters 时,PowerBI把当前Page中所有过滤器的上下文应用到钻透Page上;当禁用Keep all filters时,PowerBI只把钻透过滤器的上下文应用到钻透Page上。Keep all filters的默认设置是Off,不把当前Page级别的过滤器上下文传递到钻透Page。
当设置Keep all filters为On时,导航到钻透Page时,您可以从Drillthrough中查看到传递到钻透Page的所有过滤上下文。
钻透过滤的用法:钻透是通过相同的字段实现的,在设计钻透时,用户需要在钻透Page上设置钻透过滤的字段,源Page上的数据点(Data Point)也包含该字段。
1,类别钻透
设计人员可以在Fields中设置钻透过滤器,在钻透Page上把MonthKey字段设置为钻透字段,用作类别(Used as category)。

选中一个数据点(Data Point),该数据点的轴是MonthKey(用作钻透的字段),右击选中Drillthrough,导航到钻取Page(本例中是Page2),过滤器的上下文会被引用到钻透Page,用户看到的实体的详细信息是被过滤之后的数据。

2,度量钻透
度量钻透(Measure drillthrough)是指把独立或汇总数字列传递到钻透Page中,在把数字列用作类别或汇总时允许钻透。
例如,对PostID进行钻透,设置当对PostID进行聚合时允许钻透。

选中一个数据点(Data Point),右击选中Drillthrough,导航到钻取Page,从DRILLTHROUGH列表中查看所有传递到钻透Page的过滤上下文。

参考文档:
Power BI Desktop May Feature Summary
Power BI Desktop September Feature Summary
PowerBI开发 第十二篇:钻取的更多相关文章
- PowerBI开发 第十四篇:使用M公式添加列
PowerBI的查询编辑器使用Power Query M公式语言来定义查询模型,它是一种富有表现力的数据糅合(Mashup)语言,一个M查询可以计算(Evalute)一个表达式,得到一个值. 对于开发 ...
- PowerBI开发 第十五篇:Power BI的行级安全
Power BI支持行级安全(Row-Level Security,RLS)的权限控制,用于限制用户对Dashboard.报表和DataSet的访问.用户浏览的报表是相同的,但是看到的数据却是不同的. ...
- PowerBI开发 第十六篇:PowerBI Service基本概念
从总体上来看,PowerBI Service 有4个主要的构建模块,分别是dashboards.reports.workbooks 和 datasets,这四个模块都是目录,位于workspaces目 ...
- PowerBI开发 第十八篇:行级安全(RLS)
PowerBI可以通过RLS(Row-level security)限制用户对数据的访问,过滤器在行级别限制数据的访问,用户可以在角色中定义过滤器,通过角色来限制数据的访问.在PowerBI Serv ...
- Swift开发第十二篇——protocol组合&static和class
本篇分为两部分: 一.Swift 中 protocol 组合的使用 二.Swfit 中 static和class 的使用 一.Swift 中 protocol 组合的使用 在 Swift 中我们可以使 ...
- PowerBI开发 第十五篇:DAX 表达式(时间+过滤+关系)
DAX表达式中包含时间关系(Time Intelligence)相关的函数,用于对日期维度进行累加.同比和环比等分析.PowerBI能够创建关系,通过过滤器来对影响计算的上下文. 一,时间关系 DAX ...
- PowerBI开发 第十九篇:基于Page创建Tooltip
在PowerBI 报表中,常规的Tooltip是一段文本,当光标悬停在Visual上,Visual上方会自动显示Tooltip的文本.PowerBI 支持用户自定义内容丰富的Tooltip,用户通过创 ...
- Python开发【第二十二篇】:Web框架之Django【进阶】
Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 ...
- 解剖SQLSERVER 第十二篇 OrcaMDF 行压缩支持(译)
解剖SQLSERVER 第十二篇 OrcaMDF 行压缩支持(译) http://improve.dk/orcamdf-row-compression-support/ 在这两个月的断断续续的开发 ...
随机推荐
- Python3部分Print输出格式
print("Hello World!") #直接打印字符串 print('Hello World!') #对于python,单引号也可以表示字符串 name = 'Tom' #自 ...
- Qt与PyQT中设置ToolBar在AllowedArea的显示
因为个人对传统的软件GUI界面不是太喜欢,最近又在学习Qt和PyQt5,所以就有了设置ToolBar在窗口的不同地方的想法,经过浪里淘沙,最终在Qt官网里找到了,原来再添加toolBar的时候是由设置 ...
- 学习笔记:ALTERing a Huge MySQL Table - 对一个超大表做alter调整
Table of Contents The ProblemFuture SolutionsOverview of SolutionShortcutAssumptions/Restrictions/Co ...
- Configure network bonding on RHEL (Red Hat Enterprise Linux)
Question: Recently I have to use the RHEL and need to config the network with a few NICs. Here comes ...
- JVM学习笔记-JVM模型
JVM学习笔记 == 标签(空格分隔): jvm 学习笔记全部来自于<深入理解java虚拟机>总结 jvm内存示意图 虚拟机栈(Java Virtual Machine Stacks): ...
- TiDB数据库 mydumper命令导出数据报错:(mydumper:1908): CRITICAL **: Couldn't acquire global lock, snapshots will not be consistent: Access denied for user 'super'@'%' (using password: YES)
今天想使用Tidb官方提供的mydumper来备份AWS上的RDS集群中mysql数据库的某个表,发现报错了 [tidb@:xxx /usr/local/tidb-tools]$ -t -F -B x ...
- Spirng MVC 重定向传递对象
在 Spring MVC 中我们会经常遇到重定向. @RequestMapping("/order/saveorder.html") public String saveOrder ...
- SQLServer 删除表中的重复数据
create table Student( ID varchar(10) not null, Name varchar(10) not null, ); insert in ...
- 1001.A+B Format(10)
1001.A+B Format(20) github链接:[example link](https://github.com/wgc12/object-oriented 1.对题目的理解: 首先这道题 ...
- [BUG] python实例化N次类,调用类函数log会输出N遍的bug 解决办法
最近再写DOU用例时,采用的是 unittest测试框架,就涉及到将其它所有模块需要全部在一个 .py文件中进行实例化,然后再运行时发现在控制台中同一个日志信息会打印多次(实例化几次,同一消息就会打印 ...