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

从SUM让人看看PowerBI DAX的坑爹之深

如果说99%的人不真正理解PowerBI DAX的SUM,你信吗?只怕是说少了,从这个意义上讲,PowerBI就是一个坑爹的。...那么除了SUM,还有谁会忽略? 2、如果刚学完的规则马上就被破坏,那规则还有什么用,难道DAX就是这样随意的设计吗? 3、凭什么你说忽略忽略啊,有什么证据啊?...在很多学员中,都记住了这个特殊规则,但这里想告诉你的是:DAX有两个上下文,一个行上下文,一个筛选上下文,所有的运算都是发生在这两种上下文中,无一例外。既然无一例外,那么SUM会不会忽略行上下文呢?...) 虽然可以忽略对 [Date] 的筛选,但却不能忽略对 DimDates[Month] 的筛选,那么,在任何一个月,都只会在当月迭代,是无法出现从历史至今的效果的,一个非常巨大的矛盾出现了。...C语言经过了编译才转换为二进制代码得到执行;在DAX中,类似的是DAX表达式会被转换成对DAX引擎的查询计划才会被执行。

3K20

BI技巧丨按列排序

图片PowerBI本身内置的排序方式,是遵循ASCII国际标准的方式,这就导致了中文的默认排序对于很多小伙伴来说并不友好。常规的解决办法就是新增一列数字列,然后使用 “按列排序” 功能进行强制排序。...将其导入到PowerBI中,模型关系如下图:图片问题产生场景:我们先来构建几个基础指标。...原因:当我们使用按列排序功能后,原本的字段和排序依据的字段相当于强关联,两个字段具有同等的直接筛选效果。因此,在涉及到清除上下文筛选时,如果原字段需要被清除筛选,则排序依据列也需要被清除筛选。...解决方案:将分组汇总和分组排序修改如下。...ALLSELECTED ( Dim_Store[StoreName], Dim_Store[StoreID] ), [001.Quantity])最终结果如下:图片图片图片这里是白茶,一个PowerBI

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

阅读圣经丨筛选上下文与行上下文

[1240] 将其导入PowerBI中: [1240] 添加参数索引: [1240] 编写如下代码: 基础代码: 销售 = SUM ( '示例'[销售金额] ) 排名代码: RANKX = IF ( HASONEVALUE...首先,左边的表,白茶放的是原始的数据文件,可以看得出来所有销售金额的总和是6822;而右边的TOPN随着参数切片的变化而变化,但是右边的总计栏显示的不合理。...[1240] 在这个图片中,TOPN的显示受到切片筛选影响,排名大于11的不显示,这个就是筛选上下文,因为有一部分数据不符合筛选要求被踢出去了。...圣经中有句话说的特别好: 筛选上下文是对数据进行筛选, 行上下文是对表格进行迭代。 白茶的理解就是: 筛选不迭代,迭代不筛选!...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]

1.2K20

DAX学习分享:十条经验

使用不同的切片筛选、数据透视表的行和列,都会创造不同的“语境”(筛选上下文)。在不同的表中新建计算列,也会有不同的“语境”(行上下文)。 ?...计算列不是什么新知识,就好像在Excel中使用Vlookup添加一列一样,这一列是基于现有的表基础上做运算,它是“静态”的,运算结果不会因为切片或透视筛选而变化,当你建立好后,它就会保存在文件中,增加你的内存...我是这样想的: 第一,去微软的官网你可以看到清楚的分类(时间、文本、统计、筛选函数等等) 第二,我更喜欢简单地把所有函数都分为两类,筛选和计算。...第一时间到编辑查询和建模界面中,去检查数据类型、格式、分类的设置是否正确。这往往是无意识发生的错误,即便是PowerBI高手。...如果你的目标是解决重复性的多文件汇总和自动化基础数据清洗工作,先学PowerQuery;如果你想实现多维度的商业指标分析,就一定要攻克最核心的PowerPivot建模;如果是想利用PowerBI做出炫酷的可视化效果

3.3K41

PowerBI 2018年11月更新 支持PowerBI工程式开发

更新功能列表如下: 报表方面 矩阵支持折叠功能 在不同的PBIX文件间复制粘贴图表 新的筛选面板 可访问性改进 分析方面 所有图表元素支持高级控件设置条件格式 QA支持相关的问题 建模方面 新的建模视图...新的筛选面板 对于已经存在的报告是不会自动打开该功能的,需要手工启动,如下: ? 可以看到: ?...当选择任何视觉对象后,可以将该视觉对象的视觉级筛选放置在该筛选面板,甚至包括图片和前N项,如下: ? 这个更新很有用,对于不同的视觉对象,可以均开放筛选,可以让用户随时筛选需要看到的内容。...而且还可以对筛选面板设置格式: ? 经过实际测试,该功能在细微方面似乎还存在一些问题,例如:每个页面的格式都需要单独设置,如果已经有了一个20页的报表,也是不小的工作量。 ?...这里同时反应上述内容: PY 像参数一样传递给 Sales ,其实是赋予筛选上下文环境; All:产品.子类别 表示 忽略产品子类别的影响; Keep:产品.类别 表示 保持产品类别的影响。

4.1K20

流量结构分布图——桑基图(Sankey)

桑基图最明显的特征就是,始末端的分支宽度总和相等,即所有主支宽度的总和应与所有分出去的分支宽度的总和相等,保持能量的平衡。...第一个图是我们要呈现的原始数据,这样看来有两组对应关系,即大区对应地区、地区对应省份,我们如果要呈现这两组信息,只筛选出大区与地区对应关系及其权重值、地区与省份对应关系及其权重值,并将两组三变量数据表进行列对齐合并...将html格式动态图表网页嵌入ppt中 PowerBI版讲解: 接下来讲解如何在PowerBI中实现以上桑基图效果,因为改图表并未包含在PowerBI的内置基础图表库中,所以我们需要在他的在线社区中下载该图表的可视化插件...productgroup=PowerBI 关于如何下载PowerBI图形可视化插件,如何导入、加载和使用,此前的另一篇文章中也介绍的很详细。 当PowerBI遇到R语言 ? ? ?...发布成功之后,你的PowerBI控件中就存在此图表对象,以后你更新本地的那个PowerBI文件的时候,只需点击发布,空间中的对象也会同步更新。

6.2K50

函数周期表丨筛选丨表丨ALLSELECTED

[1240] ALLSELECTED函数 ALLSELECTED函数,被微软划分为“筛选”类函数,隶属于“表函数”。其用途,常常是用来计算或者显示明面上的筛选影响,而忽略其行上下文的影响。...切片这种,通过一些摆在明面的控制,来影响计算,筛选的条件,这里称之为显性筛选,即肉眼可见的控制。 例子 模拟数据: [1240] 这是白茶随机模拟的一份数据,很简单。...] ) ) ) 代码2: ALL例子1 = RANKX ( ALL ( '例子' ), CALCULATE ( SUM ( '例子'[数据] ) ) ) 结果: [strip] 可以看得出来,无论切片怎么调整筛选...无论切片怎么动,ALL函数遵循行上下文的隐性筛选,不受切片联动。ALLSELECTED函数遵循显性控制,忽略行上下文,占比始终发生变化。...白茶会不定期的分享一些函数卡片 (文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]

99200

PowerBI DAX 计算组 基础篇

计算组为何而生 很多人只学习已经存在之物,例如: 他知道 DAX 存在,所以学习 DAX,但不问 DAX 为何而生 他知道行上下文的存在,所以学习行上下文,但不问行上下文为何而生 他知道筛选上下文的存在...,所以学习筛选上下文,但不问筛选上下文为何而生 他知道上下文转换,所以学习上下文转换,但不问上下文转换为何而生 … 我们的最大不同的,需要思考一个事物,它为什么会存在,而不仅仅是存在的某个事物。...下面给出在 PowerBI 中的实践方式。 开启 PowerBI 的增强元数据 确保下载了最新版的 PowerBI 桌面版。...Tabular Editor 轻装上阵,它就是面向 DAX 引擎的定义文件的快速编辑。...也就是说,传统的切片提供了参数的选择;而计算组提供了计算逻辑的选择。 总结 计算组,就是将一批相关逻辑定义在一起,成为一个分组,并施加给某个正在运算的指标,以产生批量的计算效果。 这就是基础应用。

3.8K30

DAX进阶-死磕Calculate之2:改变筛选上下文之选择性忽略

小勤:大海,上次将Calculate改变筛选上下文,忽略(删)现有筛选的作用时,都是整个表或整个字段都不起作用了,如果我只是希望忽略某个字段中的一部分内容呢?...可是如果用All,得到的是所有产品的和,你看: 大海:这种情况可以用AllSelected,这样就会按你筛选后的数据进行计算了: 小勤:啊,这个正式我需要的。...大海:这样,计算的结果既忽略了产品这个筛选上下文(透视表里的行标签,不会因为当前行产品,比如是B,就只计算B产品的数据),但又考虑了所有筛选结果(如筛选出来的BCD三种产品)的情况。 小勤:嗯。...小勤:对了,关于忽略(删)上下文,如果要忽略一个表里很多的列的上下文,而不要忽略的反而更少一些,那能不能选择哪些是不要忽略的?...在线M函数快查及系列文章链接(建议收藏在浏览中): https://app.powerbi.com/view?

69630

PowerBI 企业级权限控制全动态终极解决方案

行级别安全性的设置对双向筛选是有影响的。例如:只能看北京地区销售数据的经理,应该看到的客户数是全局的还是北京的。答案显然是北京的,但往往会由于忽略设置,导致看到的是所有的。...原理上,只需要改进编译即可,并不是很难的问题,但以M语言加入智能提示的速度来看,不敢奢求了。...最后的补充:双向安全筛选 在学习PowerBI建立关系时,很多人好奇一个地方: 这个在两个方向上应用安全筛选是什么意思,在这里的场景下: 会出现两种理解: 由于客户表并没有受到权限控制,应该显示所有客户...虽然客户表并没有受到权限控制,但由于产品表和地区表受到了权限控制,客户表应该被间接控制,由于客户表启用了双向筛选。...如果,用户的需求希望按 1 来,则不需要启用安全筛选,如果希望按 2 来,则需要启用安全筛选。来看看效果: 不启用安全筛选: 启用安全筛选: 这就为企业级安全的精细控制做出了非常准确的约束。

3.3K20

函数周期表丨时间智能丨值丨OPENINGBALANCE系列

忽略一些语法,单从结果上来看,与二者的用途是相对应的。而且,部分结果上看来这三个函数的结果是一致的,但是其意义是完全不同的。 用途:计算月/季度/年的期初库存。...语法 语法1: DAX= OPENINGBALANCEMONTH(,[,]) 语法2: DAX= OPENINGBALANCEQUARTER(,[,]) 语法3: DAX= OPENINGBALANCEYEAR(,[,][,]) 参数 表达式:用来计算数据的表达式。...筛选:(可选项)应用于当前上下文的筛选条件。 结束日期:(可选项)此项只有年度函数有,前两者没有,用来定义年度结束日期。 返回结果 一个具体的数值,表示当前上下文的月初/季度初/年初的计算结果。...(文件在知识星球PowerBI丨需求圈) [1240] 这里是白茶,一个PowerBI的初学者。 [1240]

47400

精品丨动态M查询参数介绍

在查询1中,找到面板上的高级编辑按钮,点击进入。 [1240] [1240] 在此界面,可以看到白茶之前输入的SQL查询语句。...添加Year字段作为条件筛选,修改M查询语句如下: let 源 = Sql.Database("127.0.0.1", "CaseData", [Query="SELECT *, YEAR(Date...[1240] 点击加载,会提示潜在的安全风险,忽略,点击确定即可。 [1240] 进入到数据建模界面,选择我们刚才添加的字段,在属性面板的高级选项中,选择绑定参数。...[1240] 依然会提示潜在风险,忽略,点击继续即可。 [1240] 到这里,我们的所有操作已经完成,我们在画布界面添加切片,查看一下最终效果。...[strip] 这里是白茶,一个PowerBI的初学者。

60700

罗叔讲DAX:ALL 与 REMOVEFILTERS

这里的 ALL 将帮助我们似乎达到一个效果:忽略(清除)了外界的筛选并返回所有的类别。 注意这里的用词:似乎 和 效果。这里涉及到两件事:忽略(清除)筛选 和 返回所有类别。 我们等下再来看这两件事。...先看另一个PowerBI中的有意思的现象。...我们拖拽一个切片如下: 现在问题来了,如果点击 全选 或 全不选(点击两次全选即可切换为全不选)会是什么结果。在看答案前,很多人或猜测: 猜测全选时,返回 TRUE,对吗?...直接全选与直接全不选等价,没有选择任何元素,也就是某列没有被筛选。 清除选择回到初始状态,没有选择任何元素,也就是某列没有被筛选。 逐个选择直至全选,选择了所有元素,某列被筛选。...其状态变化图如下: 再仔细观察下 PowerBI 的切片控件,如下: 识记 DAX 函数 将上面的经验与 DAX 函数结合,便可以得到这样的准确用词以及规律: 无函数,对应于【初始化】,无筛选,ISFILTERED

2.1K20

DAX进阶-死磕Calculate之1:改变筛选上下文之忽略(”删“)

小勤:在文章《DAX入门:无动态,不智能——谈谈DAX函数的计算环境(筛选上下文)问题》里提到,默认情况下度量的计算是随着计算环境(筛选上下文)的选择而动态变化的,但有时候就是需要一些不变的情况,那怎么办...我们先来看“删”的,比如我们现在有一个度量是这样的: 我们在数据透视表里,这个量会随着行列维度(筛选上下文)而变化,结果如下: 如果我们要把这些筛选上下文去掉,即销售量不随相应的行列维度...大海:对的,也就是说,原来对影响度量计算相关的维度(筛选上下文)都被忽略(“删”)掉了。 小勤:那如果我们只需要忽略掉一部分呢?...大海:那我们就在All函数里写清楚要忽略的具体字段,比如我们写一个度量,只忽略销售人员的: 放到数据透视表里看看: 小勤:为什么其中只有B和C产品的忽略了销售人员呢?...在线M函数快查及系列文章链接(建议收藏在浏览中): https://app.powerbi.com/view?

80920

销售需求丨优质客户判定法

最开始在接触PowerBI的时候,记得有个小伙伴曾经和白茶说过这么一句话:“PowerBI的意义到底是什么,难道只是炫酷的图表么?实际用途就是看报表忽悠人?”...示例如图: (小伙伴请忽略单价,白茶图省事,瞎填的。) 涉及到的函数有VALUES,CONCATENATES。 之前的文章有提及到VALUES,它的作用是返回表格中的唯一值,这里就不赘述了。...( Sheet1[物品类型] ),'Sheet1'[物品类型],",") ) 结果如图: 在这里HASONEVALUE与HASONEFILTER函数的作用差不多,如果硬说二者的区别的话,就是前者受跨筛选影响...,后者受直接筛选影响。...白茶会不定期的分享一些函数卡片 (文件在知识星球[PowerBI丨需求圈]) 这里是白茶,一个PowerBI的初学者。 下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。

45640

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

在文章中,很少讲PowerQuery,也就是PowerBI的查询编辑,因为在实际应用中,确实没有碰到特别复杂的情况,原因有三: 1.使用PowerBI应减少在导入数据环节的复杂数据转换处理,这会拖慢速度...,而且影响非常明显,所以,应该使用已经整理好的数据作为PowerBI的数据源,在这种模式下,PowerBI使用PQ快速简单筛选下数据就可以进行建模工作,而建模将处理海量数据的运算。...因此,PowerBI中的PowerQuery与PowerBI的DAX不同,DAX需要真正写代码,而PowerQuery却可以按套路来操作,尽量不写或少写代码。...本文更多展示思路,在细节上的忽略不影响整体思维和结构。可以案例文件为准。...总结 PowerBI在设计PowerQuery的时候可以明显发现,PowerQuery编辑的每次改造都是希望可以对应于PowerQuery本身代码的功能去完善。

1.4K10

PowerBI 2019年2月更新 - 暴露暗藏的AI技术

开启相关预览功能 首先需要开启相关的预览功能: 重启 PowerBI Desktop 后生效。 新筛选体验 此前的更新已经介绍过该功能。本次更新改进了更多细节。...在制作 PowerBI 报告时,尤其是在线版的报告,需要报告级、页面级以及可视化对象级不同的筛选来实时完成某些筛选,该特性会非常使用,尤其适用于场景:从多个元素(元素个数大于10)中选择一部分。...由于每个可视化对象都可能采用类似的筛选,而为每个可视化对象提供一个显式的切片是不合理的,它应该是商业智能内置的特性,PowerBI在这方面的更新非常得当,符合BI缩减元素范围的原始诉求。...改进的PY和R的编辑 喜欢使用PY或R的战友现在可以使用与DAX一样的编辑功能了: 包括智能提示以及编辑行号,放大缩小等特性。...这是否算是暴露了黑科技,以及未来的走向,上述代码可以在DAX Studio中运行,但却无法在PowerBI的DAX编辑中运行,看来默认的用户编辑界面,微软暂时封锁了该功能,希望用户通过拖拽的方式来运行

2.1K20
领券