首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DAX学习分享:十条经验

不同的表中新建计算,也会有不同的“语境”(行上下文)。 ? 自然而然,度量值、计算不同的语境下输出的结果也会不同。这个道理就是“毕竟西湖六月,风光不与四时同”。...所以,第一条经验是,写公式之前,先理解上下文是什么。 二 使用度量值,而不是计算 PowerBI中有三个地方可以写DAX公式:度量值、、表。...计算不是什么新知识,就好像在Excel中使用Vlookup添加一一样,这一是基于现有的表基础上做运算,它是“静态”的,运算结果不会因为切片器或透视筛选而变化,当你建立好后,它就会保存在文件,增加你的内存...比如在Excel可以使用最简单的Vlookup来查询另一张表的对应结果,PowerQuery可以通过合并查询来实现,PowerPivot也可以用Related或者Lookupvalue完成同样的效果...其次是PowerQuery中进行编辑,最后再选择PowerPivot。 十 三种境界 清代文学家王国维谈读书有三大境界,我想学习DAX亦是如此。 ?

3.3K41

PowerBI PQ 深度套路之构造模板函数

文章,很少讲PowerQuery,也就是PowerBI的查询编辑,因为实际应用,确实没有碰到特别复杂的情况,原因有三: 1.使用PowerBI应减少导入数据环节的复杂数据转换处理,这会拖慢速度...因此,PowerBIPowerQuery与PowerBI的DAX不同,DAX需要真正写代码,而PowerQuery却可以按套路来操作,尽量不写或少写代码。...从电影数据案例来理解模板函数法 在此前的文章:PowerBI 零代码智能网抓中国电影大数据让人惊叹,这里不再重复之前的说明,但从另一个角度来看待这件事,为了获得2008年到2018年的每年电影票房数据...我们通过两个案例可以看出:创建模板函数的能力将参数,创建函数,新建,调用自定义函数,用单元格作为函数参数融为一体。...通过模板函数与分治法的结合可以处理很多的场景,因此这不失为一PowerBIPowerQuery的重要套路。

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

Power Query的文本函数Text.StartMiddleRangeEndAtLength

警告 :如果参数 num_chars 为空白,或引用计算结果为空白的,则 new_text 的字符串插入到 start_num 位置,而不替换任何字符 。 这与 Excel 的行为相同。...但是这样做,还是有些问题: 第一、姓名这一仍然存在,我如果要展示原始数据,截图会将姓名给暴露出来,而且这一还不能删掉,因为删掉后带星号的姓名列也就没了; 第二、造成了重复列,我有简洁癖。...使用上也有所不同: 具体说明,可以参考畅神的这篇文章:https://pqfans.com/194.html 重点说明的是,Text.Middle/Range的索引是从0开始的,这与DAX的mid...offset 开始删除一些字符 count,然后 text 的相同位置插入文本值 newText 的结果。...结论 Power Query,因为可以使用if函数,很多判断性的问题就可以直接进行了,而不需要像DAX那样,通过LEFT和RIGHT函数来变相地实现。

1.8K10

PowerBI的M与DAX之争

那英有首歌叫《天生不完美》,让我们欣然接受这个事实,并知道编辑查询器里面用的是M语言,新建度量值和用到的是DAX,这个小坑就你就避过去了。 为什么会掉入这个坑?...PQ而不是PP。...M位于PQDAXPP中使用,所以如果你想问M和DAX哪个更好,这个问题就好比问洗菜切菜重要还是烹饪更重要?...而且这也是件因人而异的事情,很多人说DAX难理解,我却享受于度量值的逻辑思考,反而是对M代码怀揣敬畏之心。 我应该学习哪个 其实这个问题根据上面三个问题的回答,你可以自行推出适合自己的结论。...(我视频课程中使用的去重、拆分、提取、逆透视等数据清洗30招就是完全不碰代码来执行的) 还有一些新功能比如示例,你只要输入你想要的结果,电脑就智能地给出了答案。

2K30

技巧—新建日期表

对于我个人,因为经常会收到一些读者发来的数据建模问题,建立日期表对我来说也是一重复性操作。如何以最快的速度生成一张通用而且好用的日期表呢?很多人都想要找到一个适合自己的最优方案。...2) PowerQuery生成,利用编辑查询器的添加日期功能(这是以往我比较喜欢的方式,日历表的使用文章中曾介绍过) ? 3) 复制前人写过的PowerQueryM代码。...4) 写DAX公式生成 本文想推荐的就是这第四种写DAX公式的方法,它是所有方法中最快的。 最近在实践中经常使用,屡试不爽。只需要两个步骤,新建表,再复制一段DAX公式。 ?...注意到在建立[年月]时,我使用的方法是Year([Date])*100+Month([Date])数字计算,而不是利用Format函数生成“年份月份”的文本格式。...最重要的是你能够理解此公式的含义,根据自己的需要利用Excel类的简单日期函数做调整。 我把公式写在了下面,供直接复制使用。

1.6K41

PowerBI 多种增量刷新方案最大支持100T数据存储及单个模型50G+

PowerBI实现增量刷新,目前有三种方法: 用 PowerQuery M 实现增量刷新,该方法有一定限制,属于假增量刷新。 用 DAX 实现增量刷新,该方法也有一定限制,属于假增量刷新。...当然,这种方法并不是真正意义上的增量刷新,属于利用了PowerQuery或者说ETL可以缓冲数据存储的思想。...但在实际实践,可能并不能修复所有错误,仍然有大量错误存在,这视具体实际情况而定。 因此,这种删除后重新用DAX计算表的方式弥补订单存在风险,务必备份数据。...由于DAX的UNION函数必须至少有两个参数,且这两个参数必须都是数一样的表,所以使用FILTER的这句技巧实际返回一个空表与前面的表合并,以起到占位符的作用,待有真正需要合并的表的时候,再做替换。...这样,就使用DAX的UNION实现了增量刷新的效果,并且该效果确实起到了增量加载数据,但根据DAX引擎的原理,整个数据模型会重建,仍需花费时间,这里省去了数据加载的时间,但无法省去模型重建的时间。

2.2K10

Power BI里的两处数据类型设置有什么不同,从一次数据空白与计算错误说起

DAX书写了正确时间范围内的日期表,并且将date标记准确。...,powerquery里导入的时候,系统直接自动设置为了日期/时间格式,客户就没有改动,直接加载到模型。...但是模型,客户觉得只需要日期,不需要时间信息,就在模型中表格视图列工具里的数据类型设置为日期。而这,也就为后续的计算带来了麻烦。...解决问题 只是一个小问题,我们只需powerquery里将这一订单日期设置为日期格式,就解决了。...总结 从这个小的问题中,有几点想要跟大家分享: 1、尽量不要让powerquery自动设置字段格式,它很有可能会将数据设置成不是我们想要的,可以设置中将其关闭。

22310

Power BI云端报告导出数据的几种方法探讨

他们往往导出数据之后,再删除冗余的: 02 Power Automate提供下载 基于以上的分析,可视化对象内置的数据导出功能并不完美。...注意,如果之前没有选择添加字段,那么此处不会显示这一。...当然,大部分时候这并不是什么大问题。如果能保持一个良好的习惯,导出数据前先刷新报表页面,也就无碍了。 因此,两种方法都不尽如人意。...大家可以择优选择,并根据上思路使用Power Automate创建出更多玩法。...有一种办法是用powerquery实现数据库回写,历史文章参考: 【重磅来袭】Power BI 中使用Python(4)——PQ数据导出&写回SQL Power BI数据回写SQL Server(1

5.3K20

《Python for Excel》读书笔记连载1:为什么为Excel选择Python?

执行这种嵌套函数调用与其他编程语言的工作方式没有什么不同,只是单元格编写代码,而不是文本文件编写代码。...假设你意外地删除了带有换算公式的D4单元格,并且必须重写它:不是将金额乘以汇率,而是除以汇率。当运行上述测试时,将会失败,因为100欧元/1.05将不会像测试预期的那样再产生105美元。...Power Query和PowerPivot Excel 2010,Microsoft引入了一个名为PowerQuery的加载。...例如,你可以将一拆分为两,合并两个表,或者对数据进行筛选和分组。自Excel2016以来,PowerQuery不再是外接程序,而是可以功能区数据选项卡上通过“获取数据”按钮直接访问。...可以将其视为传统的透视表,与PowerQuery一样,它可以处理大型数据集。PowerPivot允许你定义具有关系和层次结构的正式数据模型,并且你可以通过DAX公式语言添加计算

5.2K20

基于Excel2013的PowerQuery入门

5.删除重复 在下载文件打开05-删除重复.xlsx,如下图所示。 ? 删除重复1.png ?...加载数据到PowerQuery.png 客户首次购买分析 选定下单日期这一,进行升序排序。 ? 下单日期升序排序.png 选定客户名称这一,进行删除重复 ?...对客户名称删除重复.png ? 首次购买分析结果.png 客户最大订单分析 选定金额这一,进行降序排序 ? 金额降序排序.png 选定客户名称这一,进行删除重复 ?...客户最大订单分析结果.png 多次购买客户分析 选定客户名称这一,进行保留重复 ? 保留重复按钮位置.png 只有1次购买记录的客户会被删除,多次购买记录的客户会被保留。...例如一个客户有3次购买记录,保留重复后该客户被保留3次购买记录。 ? 保留结果.png 6.删除错误 打开下载文件的06-删除错误.xlsx,如下图所示。 ? 打开文件图示.png ?

9.9K50

【重磅来袭】Power BI 中使用Python(4)——PQ数据导出&写回SQL

第一个问题,推荐使用DAX Studio,轻松导出十万、百万条记录; 第二个问题,没有现成的工具可以直接解决,但是结合本系列第二篇的内容,我们是否可以想到如何用Python将powerquery的表输出为...我们第二讲说过: Python的处理结果以Dataframe形式输出,M将Dataframe自动转换为Table格式。...看到了吗,mysql数据库本来是一张空表,我们powerquery运行了一段Python代码后,表中有了数据。 ?...所以只要每次写回MySQL之前,先判断一下数据库是否已经存在当日的数据,如果有,就先删除,再将新的数据写入,这样就达到我们的目的了。...MySQL数据库的表初始有378条数据(因为包含了3月27日和3月28日两天的数据,共189个国家和地区的数据),运行代码后,仍然是378条,之前已有的3月28日的数据被删除,然后添加了刚刚查询到的最新数据

4.1K41

PowerBI 十月多项更新 AI问答及实时报告 颠覆来袭

值得说明说: 这是实时报告,不是实时仪表板; 报告是 PowerBI 更一般化的构件,也就意味着 PowerBI 开放了一新的能力给到用户。...关于红色划线的关键词:既不符合英语自然语言的语法使用习惯也不是数据模型的维度的。...实际上,地点表示了整个地理位置表(Model_Geo),而为什么输入一个表会自动锁定到某个不是另外的呢,这就需要一种默认设置,如下: ? 可以看到这就是一种默认设置。...这是用来诊断 PowerQuery 的查询过程的。如下: ? 这一特性的主要目的是面向IT的,用来诊断 PowerQuery 的查询耗时问题。...如果“模式”丢失/为空,则将提示Desktop打开文件的用户选择DirectQuery或Import。

2.4K10

BI技巧丨权限管控

将其导入到PowerBI,我们对权限表进行一下简单的处理。 [1240] 这是PowerQuery关于权限表的截图,大家可以看到页面权限和国家权限采用逗号分割的方式进行存储。...白茶根据案例数据,简单的做了如下几个报表。 [1240] 首页:作为页面权限管控使用,使用字段为权限表的页面权限字段。 [1240] 可视化页面:用来展示权限。...[strip] 权限(OLS): 权限管控,通常代表用户可以看到不同的PowerBI,有两种方式可以实现:A.Tabular Editor的方式。B.DAX的方式。...举个例子:Tabular Editor可以控制某一物理根据用户权限是否显示,那么这一,制作报表的过程,就需要慎用,一旦使用了,某些无权限的用户打开报表时,报表页面就会有部分可视化图表报错,这对用户的体验来说...[strip] DAX控制权限的方式,最佳实践是与SSAS搭配使用,这样可以Tabular中将进行隐藏,只呈现DAX给用户,实现真正的OLS管控。

1.2K10

PQ获取TABLE的单一值作为条件查询MySQL返回数据

注意这里的值是一个单纯的值,而不是一个一行一的表。...这样就有问题了,因为变动原始表,调整顺序,删除、增加行是经常会发生的事情,我不能每次去都修改moon所在的行吧? 主键的作用 我们知道,关系型数据库SQL,是存在主键的。...UI上并没有设置的位置,但是我们还是可以想其他办法的,有这么几种方式: 1.从带有主键的数据库中导入数据 2.pq对table某一去重,那么这一就可以作为主键 3.使用Table.AddKey...我们对表的ID进行去重(虽然其本身已经没有重复,但这个操作必须得有),当做主键: 同样,选中moon右键-深化: 此时我们再来看看查询编辑器: 注意这个时候的第四行: NAME = 删除的副本{[ID...我们测试一下: 不论怎么调整顺序,或者删除数据,只要表还有moon,那么返回的结果都是不会变的。

3.5K51

【大招预热】—— DAX优化20招!!!

低效率的DAX会减慢处理速度,阻塞高级容量,增加等待时间,并妨碍刷新和报告加载时间。 优化DAX之前清除DAX缓存 缓存由内部VertiPaq查询产生。 从DAX Studio清除缓存。...如果Power BI发现参照完整性违规,则会在添加空白值。 对于直接查询,因为Power BI无法检查违规,所以Power BI添加了空白值。...使用SELECTEDVALUE()代替HASONEVALUE() 应用切片器和过滤器后,通常使用HASONEVALUE()检查一是否只有一个 值。...使用变量而不是IF分支内重复测量 由于度量是连续计算的,因此[Total Rows]表达式将计算两次:首先用于条件检查, 然后用于真实条件表达式。...根据值使用正确的数据类型 如果一只有两个不同的值,请检查是否可以将其转换为布尔数据类型(真/假)。 当您有大量的行时,这可以加快处理速度。

3.9K30

个人永久性免费-Excel催化剂功能第53波-无比期待的合并工作薄功能

不是所有的合并功能都是有必要的功能,这一点笔者三翻四次地不断作强调,从Excel催化剂的功能开发过程,可看到是非常有节制性地开发一些真正是刚需的功能。...,那就需要好好检讨下在日常制表过程,是否正确的制表方法论思想下进行。...以上所示的是常见到的一些数据不规则情况,实际也常发生,对PowerQuery来说,部分场景还可适用,但列名不同需要不同列名重新检验时,大部分插件和PowerQuery都很难支持,以下可看Excel催化剂效果展示...通过整理后,对字段名重新映射,及最终需要抽取的数据进行整理 整理内容为: 删除不需要抽取的无用(前面3是有用信息,后面字段开始的才是可以删除的) 调整了的位置,将原有的5、8调整回恰当位置...对有现成的解决方案的功能来说,一般Excel催化剂不热衷重复开发,此合并工作薄的功能,算是插件领域少有的可达到通用性和易用性都一流的效果,甚至某些场景上远胜于微软官方的PowerQuery

1.2K50
领券