从数据到信息
从信息到洞察

Power BI 2019年5月更新 性能优化器、批量替换函数

 

  1. 性能分析器内置性能分析工具,优化性能更方便
  2. 众多酷炫的图表动态展示排名的动画条形图、杜邦分析的VAIQ等等
  3. 批量替换函数用Text.ReplaceAll函数解决批量替换问题

 

 

官方更新介绍视频(英文字幕) 

 

报表功能更新

 

性能分析器

当报告运行缓慢时,之前我们无法判断怎样才能改进它的性能。为了帮助解决这个问题,本月更新引入了性能分析窗格(performance analyzer pane),制作报表的分析师可以使用此工具查看报表运行的耗时都消耗在哪些环节。

首先,在视图窗格中勾选性能分析器

此时,右边会显示出性能分析器窗格,默认处于关闭状态,点击开始记录,性能分析器即可开始工作。

 

性能分析器可以记录报表层的查询用时,包括页面刷新、单个控件刷新、页面筛选图表联动消耗的时间,每个控件按载入顺序显示在列表中,右侧对应各自的载入时间

 

如图,第一行显示触发页面查询的动作名称,例如:

  • 已更改页 代表当前页面切换触发的所有查询
  • 已更改切片器 代表修改筛选器所触发的所有查询
  • 已交叉突出显示 代表图表间的联动筛选所触发的所有查询

列表左侧为视觉对象名称,右侧显示刷新时长(单位:毫秒)。点击+号,可以按发生顺序依次将耗时拆分为三个阶段:

  • DAX查询:视觉对象发送查询与返回结果之间的时间差,即分析服务引擎运行DAX查询所花费的时间。
  • 视觉对象显示:渲染视觉对象花费的时间,包括图表所有外部调用的时间,例如地理编码,图片调用等。
  • 其他:其他用时,包括查询准备时间,排队时间和等待系统结束其他进程时所消耗的时间。

点击“复制查询”可以复制视觉对象所生成的DAX查询,如果你DAX基础不错,可以据此优化图表使用的度量值,不过此步骤一般建议在DAX Studio中进行

另有一个“导出”功能可以导出所有查询信息,导出文件为JSON格式,我们可以使用PowerQuery读取。

本次更新后,选中控件后右上方新增一个图标,可以单独刷新当前控件,在性能分析器中单独分析。目前性能分析器只能在桌面端使用,不支持R、Python和关键影响因素三类图表。

性能分析器的出现首次为Power BI加入了内置的调优工具,这是一个很大的进步,官方演示的案例基于导入模式,尚不清楚此功能是否支持直连,因为直连时的性能分析也是非常重要的,尤其是监测连接数据库和将DAX转换为SQL后的执行效率,它们都会直接影响报表性能。我猜测目前Power BI还不能像Tableau那样提供明细记录。

 

筛选器面板改进

支持拖拽方式调整筛选器之间的排序

 

通过面板右上角省略号修改筛选器排序规则

 

通过主题文件修改筛选器面板样式

{
     "name": "FilterPaneTheme",
     "visualStyles": {
         "*": {
             "*": {
                 "outspacePane": [{
                     "backgroundColor": {"solid": {"color": "#999999"}},
                     "foregroundColor": {"solid": {"color": "#374649"}},
                     "transparency": 50,
                     "titleSize": 35,
                     "headerSize": 8,
                     "fontFamily": "Arial",
                     "border": true,
                     "borderColor": {"solid": {"color": "#374649"}}
                 }],
                 "filterCard": [
                     {
                     "$id": "Applied",
                     "transparency": 0,
                     "backgroundColor": {"solid": {"color": "#AFB5B6"}},
                     "foregroundColor": {"solid": {"color": "#374649"}},
                     "textSize": 15,
                     "fontFamily": "Arial",
                     "border": true,
                     "borderColor": {"solid": {"color": "#ffffff"}},
                     "inputBoxColor": {"solid": {"color": "#C8C8C8"}}
                     },
                     {
                     "$id": "Available",
                     "transparency": 40,
                     "backgroundColor": {"solid": {"color": "#CCCCCC"}},
                     "foregroundColor": {"solid": {"color": "#ffffff"}},
                     "textSize": 10,
                     "fontFamily": "Arial",
                     "border": true,
                     "borderColor": {"solid": {"color": "#123456"}},
                     "inputBoxColor": {"solid": {"color": "#777777"}}
                 }] 
             }
         },
         "page": {
             "*": {
                 "outspace": [{
                     "color": { "solid": { "color": "#000000" }}
                 }]
             }
         }
     }
 }

 

表格和矩阵视图的快捷键操作

选中表格或矩阵视图,使用以下组合键可执行快捷操作

  • Ctrl + → :选中第一个单元格
  • 方向键:移动焦点
  • Shift + → :展开可扩展标题
  • Shift + ← : 折叠可扩展标题
  • 上下文键或Shift + F10:打开上下文菜单

 

控制折线图数据标签位置

 

KPI控件支持数值字体大小设置

 

分析功能更新

 

关键影响因素支持自动装箱

关键影响因素控件现在支持对解释依据中的数值列自动装箱,如下图右侧图表的横轴所示。分组结果由内置的机器学习模型指定。同时,如果它检测到列和分析目标之间的存在强线性关系,它将不丢弃数值列。在这种情况下,控件会使用一个散点图来显示相关性。

 

关键影响因素支持格式设置和手机APP

可调节颜色和背景色

 

模型功能更新

 

全局关闭自动日期表

取消勾选后所有新文件将不在自动创建隐形日期表,这一功能非常容易被新手误用,建议永久关闭。

 

ALLSELECTED函数支持多列

ALLSELECTED支持使用多个列作为参数

 

可视化更新

主要更新内容可以参考 Power BI 4月新增图表

 

数据连接更新

 

新增M函数 Text.ReplaceAll

批量替换文本是数据清洗中的一个常见需求,在PQ中实现此功能,最简单的办法是重复进行查找替换操作,但略显笨拙。另一种思路是通过函数嵌套解决,但公式比较长普通用户不易掌握。与这两种方法相比,本次更新的Text.ReplaceAll 非常的简单且直观。

Text.ReplaceAll("xyz", {{"x", "y"}}) 用y替换xyz中的x,返回结果yyz.

当需要批量替换时,将第二参数转换为原值和替换值一一对应的列表即可。需要注意的是,Text.ReplaceAll 替换时将内容识别为字符串,而不是一个完整的词,在某些情况下可能会产生隐患,详细了解此函数可参考这篇文章

 

连接器更新

  • Essbase connector: Support for Native Query (MDX)
  • Intune Data Warehouse connector
  • Tenforce connector

 

其他更新

为了提高模型速度较慢的报表的性能,Power BI Desktop现在在以下四种情况中自动取消过时的查询内容:

  1. 当视觉对象生成一个新查询,而前一个查询尚未完成时,前一个查询将被取消。这在更改筛选器或在切片器中进行多重选择或交叉突出显示时很常见。
  2. 当隐藏一个视觉对象时,对应的查询将不会运行
  3. 当切换报表页面时,将取消前一页上正在运行的任何查询
  4. 当关闭报表时,任何正在运行的查询都会被取消

注意,以上特性仅限Power BI桌面端。报表服务器、Web端、Embedded和使用本地部署网关时均不支持。

 

 

原创内容 转载请联系作者:PowerBI极客 » Power BI 2019年5月更新

评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #3

    VAIQ很强大

    echo孙4周前 (05-21)回复
  2. #2

    VAIQ非常强大

    echo孙4周前 (05-21)回复
  3. #1

    写的很详细,感谢作者!

    excel新手4周前 (05-21)回复