一发不可收拾,灵感不断,时隔4年,Excel与PowerBI互通互联方面,仍然有许多可改进的地方,继DAX查询导出数据可输出连接方式后,这一次,再标配上带连接的智能表可再次修改DAX查询,满足智能表某些条件需二次修改的场景...带连接的智能表也能更新DAX表达式 一图解百困,复用原DAX查询窗口,直接修改新DAX查询即可,点击提交查询即可, 原理是解决懒癌,一键替换连接里的DAX表达式。...不再有屌丝PowerBI DeskTop的端口号变化问题,直接填入DAX查询,一键出结果,轻松分享其他人使用。后续简单一键刷新即可,可脱离插件运行。...将PowerBIDeskTop性能分析上的DAX查询,直接可复制到Excel催化剂的DAX查询编辑窗口中,经过【清除筛选条件】操作后,得到干净DAX查询语句。...清除多余筛选条件和分类汇总后的结果如下: 将导出数据字典进行再优化,更全面的PowerBI模型解读 利用老外PowerBI的MVP做好的模板,经笔者再改造升级,和Excel催化剂的功能进行整合,最终实现一键生成模型数据字典的效果
报表方面 性能分析器 很多人会问如何对PowerBI进行性能优化,无疑此次的更新给我们提供了这样的功能: 每一个图形元素的渲染都可以包括三部分时间: DAX查询时间 视觉对象显示时间 其他 另外这里提供了复制查询的功能...对于此,我们将在后续文章专门讲解使用性能分析器来调试DAX的方法。...筛选器面板改进 筛选器面板的改进主要体现在: 排序 这点完全是从用户角度出发,因为这个筛选器面板是为了用户设计的,用户的需求会非常灵活,例如筛选器的排列顺序位置等,因此,必须能够更加灵活的定义筛选器,虽然本次有了这个改进...支持主题 筛选器支持了主题,可以像配置PowerBI颜色一样,对筛选器进行主题的设置,例如: { "name": "FilterPaneTheme", "visualStyles":...这种情况在选择切片器、多选以及交叉筛选时会出现。 当一个可视化元素处于隐藏状态,查询会自动取消。 当切换页面时,上一个页面未完的查询会自动取消。 当关闭报告,所有的查询将自动取消。
汉语博大精深,同一个词在不同的语境下表达的意思都可能不同。 ? 而这不同的语境就好比DAX的“上下文”。使用不同的切片器、筛选器、数据透视表的行和列,都会创造不同的“语境”(筛选上下文)。...下图这个图是我经常用来脑补DAX的工作原理,度量值和计算列都是先执行筛选再来计算,而所谓的“DAX用作查询语言”其实就是主要应用了筛选功能,所以某些观点“DAX查询将取代数据透视表”是没有道理的,一个东西你只用了一半的功能...为什么输出的结果很奇怪?为什么公式报错? ? 你可能遇到很多这样的情况,最后找到的答案都是一个。第一时间到编辑查询器和建模界面中,去检查数据类型、格式、分类的设置是否正确。...六 学会组装 使用PowerBI建立一个商业分析模型,就好像组装一样,你不可能一下子把所有的零件都拼装起来,而是分步完成,最后再整合到一起。 ? 同样的道理,我不建议你把公式都写到一个度量值中。...如果是仅仅完成多个文件的汇总整理,没有后续的分析和可视化工作,你完全可以使用Excel的编辑查询器。 ?
那么本文就来带小伙伴手把手的使用这一强大特性:计算组。...计算组为何而生 很多人只学习已经存在之物,例如: 他知道 DAX 存在,所以学习 DAX,但不问 DAX 为何而生 他知道行上下文的存在,所以学习行上下文,但不问行上下文为何而生 他知道筛选上下文的存在...,所以学习筛选上下文,但不问筛选上下文为何而生 他知道上下文转换,所以学习上下文转换,但不问上下文转换为何而生 … 我们的最大不同的,需要思考一个事物,它为什么会存在,而不仅仅是存在的某个事物。...Tabular Editor 轻装上阵,它就是面向 DAX 引擎的定义文件的快速编辑器。...可以看到其实这里完成了两个对 DAX 引擎的查询, 第一个返回了排序规则,这与我们当时建立的规则一致。 第二个返回了实际数据。 数据中包括了格式化字符串用来指定数据的格式。
还包括跨报告钻取,一大堆连接器,M语言智能感知等特性更新。 我想强调的是:DAX驱动可视化。微软的原话是:基于表达式来配置可视化元素属性。...由于功能的重复,可以理解,而且使用筛选器面板是一项正确的进化。...注意:通过测试发现,这个筛选面板功能还有一些小BUG和设计的不完美,在 Power BI Desktop 隐藏的筛选器发布后却显示了出来;另外,有时候使用筛选器是一种技巧,旁边的数字其实显得画蛇添足,例如...可视化元素标题支持DAX表达式 我们可以使用DAX表达式来动态设置标题。例如微软给出的案例: PowerBI 界面多语言实现方案 让我们来实现一个酷炫的商业场景吧。...,这就是我们的态度,我们对带细节是追求极致的,在没有条件完成的时候也要创造条件来完成。
DAX,simple but not easy.DAX,简约而不简单 ? 如果说99%的人不真正理解PowerBI DAX的SUM,你信吗?...只怕是说少了,从这个意义上讲,PowerBI就是一个坑爹的。 我们敢说自己在深入的研究PowerBI,但绝不敢说我们理解了PowerBI的一切,本文让你看看它坑爹的深度。...很多人一定懵了,DAX 在被设计的时候被刻意地与Excel函数的用法做了贴近,而导致PowerBI的运算可以很快入门,但很快就会遇到一个普遍现象:DAX的计算结果和你期望的结果完全不同,而你无法解释为什么...C语言经过了编译器才转换为二进制代码得到执行;在DAX中,类似的是DAX表达式会被转换成对DAX引擎的查询计划才会被执行。...学习DAX的阶段是: 1、看了能懂,写不出来 2、基础的写的出来,复杂的写不出来 3、复杂的写出来,但有的坎过不去 4、理解所有细节,性能调优 PowerBI的坑爹就是越坑越着迷越上瘾,真正学会了 DAX
替换文字 每个可视化对象都支持替换文字: 从注释来看,这是支持屏幕阅读器的设置,什么鬼?这是专门为有阅读障碍的老铁们设计的,普通人自然是用不到。...新加入 DAX 函数 - REMOVEFILTERS 该函数用于取消外部筛选设置,一般用于 CALCULATE 的后置参数,其作用与 ALL 完全等价,只是在名称上的一种更加明确的语义。...关于 DAX 函数 ALL 理解有非常复杂的长篇大论,而在罗叔看来有一个绝佳的理解技巧,我们会专门发文来说明。 而未来只需要记忆,当你想移除筛选器,就用 REMOVEFILTERS 即可。...可以导出数据质量数据 在查询编辑器中,有几个地方可以监测数据质量,如下: 导出为: 导出为: 导出为: 导出为: Google 分析模板 如果你在使用Google分析,那可以接入数据并直接使用内置模板,.../ DirectQuery 模式查询性能改进 DirectQuery 将 DAX 直接转译为 SQL 并将查询下压到 数据源 完成 SQL 查询,这就涉及到 DAX 到 SQL 的翻译能力,显然增强了。
一直有小伙伴问 PowerBI DAX 可以做多强大而灵活的事而又未在任何资料中记载,那么这里你也许将看到的就是前所未有的案例,它集合了几乎全部 DAX 强大特性并将 DAX 能力推向可见的最高阶段。...今天,我们非常高兴地报告给各位伙伴,PowerBI DAX 已经可以实现完美的中国式复杂矩阵,它大概长的是这样的: ?...这类构造可能用到大量 DAX 特性以及函数,包括但不限于:筛选上下文,行上下文,上下文转换,DAX查询,VAR,EARLIER,SUMX,RANKX,TREATAS,{ },按列排序,CALCULATE...但其他,小计,合计总在最后; 九、矩阵的计算是全动态的,如:切片器和其他图表可以交叉筛选该矩阵; 十、矩阵的数字是可以导出的,且保持数字格式可以在 Excel 中进一步处理。...很明显,相比于完美版 v3.0 版本 DAX 引擎执行而言,完美增强版 v4.0 将 DAX 引擎执行有了大幅度提升: DAX 引擎 SE 查询优化了 5 倍以上 DAX 引擎 FE 查询优化了 3 倍以上
而 PowerBI 中使用 DAX 构建公式却没有这样的便利,这是很多业务伙伴无法从 Excel 切换思维到 PowerBI 的重要原因。 而该问题已经在 PowerBI 社区被投票投成了热门: ?...视图级计算,是 PowerBI 的硬伤,在这个环境,PowerBI 暂时保持了精简的 DAX 运算系统,提供了在模型层面计算的能力,这种能力对于施加于模型的运算特别合适。...而对某些高手,已经可以意识到,我在这里给出了在目前的状态下,PowerBI DAX 如何实现视图层计算的通用套路。这个套路如此通用,以致于它可以一揽子解决几乎所有视图层计算的问题。...这启发了我们做很多问题的方法。另外,它直接将我要提出的 PowerBI DAX 视图级通用计算模式呼之欲出。 你可以再看一遍:视图环境克隆 + 静态化 提出了使用 DAX 的新思路和玩法。...而震撼的 PowerBI DAX 视图级通用计算模式 就要来了。
linkid=839379 如何编写一个 PowerBI 主题我们将独立研究,而且既然 PowerBI 的主题已经正式发布,那确实值得花时间来正式研究下主题的制作及标准使用套路,将在后续文章分享。...Power BI URL 过滤器 在上例中,制作的链接使用了 Power BI URL 顾虑器原理,如下: Power BI Service 支持用户在网址中填入一个查询参数,进而将这个查询参数转换成...在此前的文章中已有过对此的详细的说明,不再展开。 参考:Power BI云端动态构建列表详情页筛选模式 筛选器重述 这是一项对筛选器微小的改变,让筛选器的标头可以显示当前筛选的选项。...DAX 新增统计类函数 新增的DAX统计类函数包括: NORM.DIST NORM.S.DIST NORM.INV NORM.S.INV T.DIST T.DIST.RT T.DIST.2 T.INV...其他方面 在自定义视觉对象方面,第三方给出了几种更新,如下: 感兴趣的伙伴可以在官网查询,个人感觉很多第三方图的理念很好,但在客户严格的需求变化下,很多图是无法调整细节的,导致有很大限制,这方面看来只能耐心等待了
这个定义没有问题,放在 PowerBI 中的计算也是正确的,但不久就会发现它的性能问题,于是,通过 DAX Studio 来检查可以看到: ? 我晕,居然惊现了 779 个查询。...该查询的意义是计算每天的大订单个数。但这种方法显然是不行的。虽然在度量值的定义上非常自然。 我们再来看看从 PowerBI 中拖拽的情况,如下: ?...如果研究该图表背后的 DAX 查询,其结果和上述内容是一致的。 那么问题来了,我们建立了一个基础度量值叫:OrderPurchaseNumber,其逻辑也很清楚,但却有如此之差的性能,怎么办呢?...] ) , 'Order'[LinePrice] > 1000 && 'Order'[LineProfit] > 0 ) 作为筛选器参数,会覆盖外部的筛选,这也是不正确的逻辑...总结 当需要在基础度量值中使用筛选条件时,必须注意: 仅仅使用所必须的列,提升性能 使用 KEEPFILTERS 包裹,确保逻辑正确 这样,基础度量值就可以携带复杂的筛选器参数而不影响性能了。
从这个意义上来看,凡是可以在界面的筛选器提示中出现的都可以视为筛选。 重要的再重复一次:凡是可以在界面的筛选器提示中出现的都可以视为筛选。...4.切片器 这类可视化对象就是为了筛选而存在的,如下: ? 这就是切片器,它有很多形态,但都是它。 5.交互筛选 由于一个对象被选中,而导致其他视觉对象被筛选,如下: ?...这种筛选在交互过程中发生,故称为交互式筛选。 6.向下钻取 从高层级向低层级筛选,如下: ? 向下钻取后,只会保留父级的子级。 7.向下扩展(不带父级) 从高层直接向下展开,如下: ?...8.向下扩展(带父级) 从高层带有父级向下展开,如下: ? 带有父级。 9.向下钻取交互筛选 这是一个默认行为,指的是当发生下钻行为时,其他视觉对象是否会受到影响,默认是会受到影响,如下: ?...因此,在 DAX 中,被称为筛选上下文的机制也正是这一原理的实现,在最后计算的时候,万一后悔了怎么办,这就涉及到筛选范围的调整,可以彻底后悔,部分后悔;或者可以进一步缩窄范围或改变范围,这就需要 DAX
向PowerBI数据模型发出DAX查询,即可类似于写SQL语句向关系型数据库查数据一般,将数据模型里的明细数据查询出来。...故通过开放DAX查询接口的方式,让用户可以在PBI催化剂上填写DAX查询语句,向数据模型发出查询后,最终数据导出至Excel表格。...本功能除了核心的DAX查询,还将对查询的周边功能进行开发,自动获取当前PowerBIDeskTop最近的DAX查询,清洗DAX查询(将自动获取到的DAX查询多余的查询条件剔除)、格式化DAX查询,保存DAX...使用Excel表格清单的方式,将模型层的信息进行呈现,结合筛选排序、查找等功能,将更清晰地对模型层各元数据进行查阅。...PBI催化剂笔者自认为已经达到了最佳的查阅、修改的体验,丰富的查询搜索功能,并配以查询DAX表达式的依赖与被依赖关系,可快速对DAX表达式有全面的了解。
首先,看下PowerBI文件的查询结构: 可以看出我们单独设置了权限控制部分的配置表和度量值,来看看权限控制表的实现: 这里对用户的配置,进行了逆透视以及规范化处理,形成了便于在PowerBI中便于使用...如果要说这里算有难度的地方,就是如何把一个透视表,也单元格内含有多项内容的表格,自动转换为原始的规范化表,这由PowerBI的查询编辑完成。...非常希望微软能在DAX表达式本身加入更多的动态特性。原理上,只需要改进编译器即可,并不是很难的问题,但以M语言加入智能提示的速度来看,不敢奢求了。...最后的补充:双向安全筛选器 在学习PowerBI建立关系时,很多人好奇一个地方: 这个在两个方向上应用安全筛选器是什么意思,在这里的场景下: 会出现两种理解: 由于客户表并没有受到权限控制,应该显示所有客户...如果,用户的需求希望按 1 来,则不需要启用安全筛选,如果希望按 2 来,则需要启用安全筛选。来看看效果: 不启用安全筛选: 启用安全筛选: 这就为企业级安全的精细控制做出了非常准确的约束。
DAX Studio 作为调试 PowerBI DAX 引擎的工具,是彻底掌握 DAX 的必备工具。由于 PowerBI DAX 引擎的更新,该工具也在2019年初迎来更新。...本文介绍一些常见的更新,对于与DirectQuery以及服务器相关的更新,未来再统一介绍。 标准配置项 这里可以配置字体等内容。 高级配置项 这里可以配置一些可导出的内容。...Ctrl + 鼠标滚轮 可以同步缩放显示编辑器字体和结果字体,如下: 更好的格式化 可以点击格式化或按F6进行文档格式化,如下: 在标准配置中给出了格式化的短行模式和长行模式可选,如下: 例如长行模式:...对应的短行模式: 支持快速提取筛选上下文 通过定义 Dump Measures ,可以快速计算当前的筛选环境,如下: 支持提取全部度量值 如果需要将度量值一次性全部提取,可使用该功能: 支持度量值依赖层级提取...延伸阅读: DAX查询入门:DAX Studio介绍 DAX查询进阶:驾驶DAX Studio DAX Studio 2.7 正式发布
传送门: 第3波-与PowerbiDesktop互通互联-功能体验国际领先水平 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典...这样的结局,最终让PowerBI社区的群体,第一印象中Excel催化剂是面向Excel群体而存在,而不是PowerBI,甚至也容易面对一些有一点点PowerBI技术小学问的不屑。...这样的事情真是伤透心,可能也因为这样的事情,让笔者再次重新回到PowerBI的战场,认真地重新对其之前的PowerBI功能进行再优化,具体优化范围有: 将原有的DAX编辑区进行改造,现可用于DAX语句自动着色...将PowerBIDeskTop性能分析上的DAX查询,直接可复制到Excel催化剂的DAX查询编辑窗口中,经过【清除筛选条件】操作后,得到干净DAX查询语句。...清除多余筛选条件和分类汇总后的结果如下: 将导出数据字典进行再优化,更全面的PowerBI模型解读 利用老外PowerBI的MVP做好的模板,经笔者再改造升级,和Excel催化剂的功能进行整合,最终实现一键生成模型数据字典的效果
在文章中,很少讲PowerQuery,也就是PowerBI的查询编辑,因为在实际应用中,确实没有碰到特别复杂的情况,原因有三: 1.使用PowerBI应减少在导入数据环节的复杂数据转换处理,这会拖慢速度...,而且影响非常明显,所以,应该使用已经整理好的数据作为PowerBI的数据源,在这种模式下,PowerBI使用PQ快速简单筛选下数据就可以进行建模工作,而建模将处理海量数据的运算。...因此,PowerBI中的PowerQuery与PowerBI的DAX不同,DAX需要真正写代码,而PowerQuery却可以按套路来操作,尽量不写或少写代码。...总结 PowerBI在设计PowerQuery的时候可以明显发现,PowerQuery编辑器的每次改造都是希望可以对应于PowerQuery本身代码的功能去完善。...而参数和创建函数的存在也确实是为了创建带参数的函数而存在的。我们通过两个案例可以看出:创建模板函数的能力将参数,创建函数,新建列,调用自定义函数,用单元格作为函数参数融为一体。
,不能在Excel文件中直接根据服务器地址localhost来创建,需要加上变化的端口。...向PowerBI数据模型发出DAX查询,即可类似于写SQL语句向关系型数据库查数据一般,将数据模型里的明细数据查询出来。...故通过开放DAX查询接口的方式,让用户可以在PBI催化剂上填写DAX查询语句,向数据模型发出查询后,最终数据导出至Excel表格。...本功能除了核心的DAX查询,还将对查询的周边功能进行开发,自动获取当前PowerBIDeskTop最近的DAX查询,清洗DAX查询(将自动获取到的DAX查询多余的查询条件剔除)、格式化DAX查询,保存DAX...使用Excel表格清单的方式,将模型层的信息进行呈现,结合筛选排序、查找等功能,将更清晰地对模型层各元数据进行查阅。
领取专属 10元无门槛券
手把手带您无忧上云