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/ 在这两个月的断断续续的开发 ...
随机推荐
- 【python】python之tuple元组
tuple特性 python的tuple与列表类似,不同之处在于tuple的元素不能修改. tuple使用小括号,列表使用方括号. tuple创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. ...
- hibernate数据库操作基础
1.根据主键查询 2.getSession().createSQLQuery(sql)和session.createQuery(sql) 3.Seeion的其他方法 4.Hibernate Crit ...
- SqlServer 全文索引指令大全(转载)
-- 创建测试表 -- DROP TABLE FullTextIndexing CREATE TABLE FullTextIndexing ( ID ,) NOT NULL, Sentence VAR ...
- SQLSERVER文件组误脱机后如何联机
场景:在学习文件组的恢复过程中,通过 ALTER DATABASE TEST MODIFY FILE(NAME = SUBF,OFFLINE) 把文件组给弄脱机了.这时却发现脱机之前忘记备份了. 这时 ...
- python基础之os.system函数
前言 os.system方法是os模块最基础的方法,其它的方法一般在该方法基础上封装完成. os的system原理 system函数可以将字符串转化成命令在服务器上运行:其原理是每一条system函数 ...
- python Anaconda
转载自 https://blog.csdn.net/program_developer/article/details/79677557 目录: Anaconda是什么? 如何安装? 如何管理包? ...
- 按ctrl+shift切换不了输入法
解决方法: 1.在任务栏上的输入法图标上点右键选择设置2.选择键设置,双击第一个“在不同的输入语言之间切换”先勾选“切换输入语言”下面选择左手ALT.取消右边“切换键盘布局”前的勾3.进入“中文(简体 ...
- SQL SERVR 逻辑函数
IIF: 根据布尔表达式计算为 true 还是 false,返回其中一个值. IIF 是一种用于编写 CASE 表达式的快速方法. 它将传递的布尔表达式计算为第一个参数,然后根据计算结果返回其他两个参 ...
- codeforces 671D Roads in Yusland & hdu 5293 Tree chain problem
dp dp优化 dfs序 线段树 算是一个套路.可以处理在树上取链的问题.
- 聊聊MySQL的子查询
1. 背景 在之前介绍MySQL执行计划的博文中已经谈及了一些关于子查询相关的执行计划与优化.本文将重点介绍MySQL中与子查询相关的内容,设计子查询优化策略,包含半连接子查询的优化与非半连接子查询的 ...