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/ 在这两个月的断断续续的开发 ...
随机推荐
- Windows安装PostgreSQL数据库 无法初始化数据库问题
背景 由于项目的需要,使用PostgreSQL数据库,因此在Windows上安装PostgreSQL数据库.但是在安装后,无法访问本地数据库,这个时候查看/data目录,没有任何文件.而且安装过程中, ...
- As3截图转换为ByteArray传送给后台node的一种方法
最近将以前用As3+Php做的一个画板拿出来改成了As3+nodejs(expressjs4). Node: 1. 将图片存放的路径设置为静态公开的路径. app.use(express.static ...
- SQL Server在本地计算机上用SSMS(SQL Server Management Studio)登录不上,错误消息:(Microsoft SQL Server, Error: 18456)
今天遇到了一个奇怪的问题,公司目前在SQL Server上都采用AD域账号登录,由于账号人数众多,所以我们建立了一个AD Group(域组),将大家的AD账号加入了这个AD Group,然后我们将这个 ...
- round()和trunc()用法
round(数字 | 列 保留小数的位数):四舍五入. select a.*,round(s),round(-s) from bqh4 a trunc(数字 | 列 保留小数的位数):舍弃指定位置的内 ...
- 【MYSQL】语法复习
一.数据类型 截图来源: http://www.runoob.com/mysql/mysql-data-types.html 二.基本语句 1.创建数据表 -- 主键自增,T_User CREATE ...
- Hadoop HBase概念学习系列之HRegion服务器(三)
所有的数据库数据一般是保存在Hadoop分布式系统上面的,用户通过一系列HRegion服务器获取这些数据.一台机器上一般只运行一个HRegion服务器,而且每一分区段的HRegion也只会被一个HRe ...
- 在阿里云Windows Server 上部署ASP .NET CORE2.0项目
近期使用ASP.NET Core2.0对博客进行了重写,在部署到服务器时遇到了一些问题,来记录一下留用. 配置环境 安装 .Net Framework3.5 在IIS管理器上直接开启,这里总是失败,上 ...
- String、StringBuffer与StringBuilder的区别-陈远波
String Stringbuffer StringBuilder的区别: 1.string是字符串常量,且长度是不可改变的,Stringbuffer.stringBuilder是字符串变量 2.S ...
- IOS和安卓不同浏览器常见bug
一.IOS自带safari浏览器 1.safari不支持fixed.input输入框 iOS下的 Fixed + Input 调用键盘的时候fixed无效问题 拖动页面时 header 和 foote ...
- Ubuntu集群 配置ntp服务
1.概述 NTP(Network Time Protocol)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN ...