文章背景: 在表缺少主键无法直接创建关系,或者需要借助复杂的计算才能创建主键的情况下,可以利用计算列来设置关系。在基于计算列创建关系时,循环依赖经常发生。...产品的价格有很多不同的数值,一种常用的做法是将价格划分成不同的区间。例如下图所示的配置表。 现在对价格区间的键值进行反规范化,然后根据这个新的计算列建立一个物理关系。...下面对因为与计算列建立关系而出现的循环依赖进行分析,包括为什么DISTINCT可以消除循环依赖。...2 原因分析 让我们回顾一下计算列公式的简写版本(Sale表的PriceRangeKey列): PriceRangeKey = CALCULATE ( VALUES( PriceRanges...BI 的重要性(https://learn.microsoft.com/zh-cn/power-bi/guidance/star-schema)
但是,Power BI自动过滤所有带有空白值的行。当从具有大量数据的表中查看结果时,这会限制结果集并防止性能下降。 如果更换了空白,则Power BI不会过滤不需要的行,从而对性能产生负面影响。...VALUES():包括Power BI由于引用完整性违规而添加的任何空白。 如果Power BI发现参照完整性违规,则会在列中添加空白值。...对于直接查询,因为Power BI无法检查违规,所以Power BI在列中添加了空白值。...DISTINCT()和VALUES()函数不同: 在整个报表中,保持DISTINCT()和VALUES()函数的用法一致。 如果没有空白值,Power BI建议使用VALUES()函数。...使用= 0而不是检查ISBLANK()|| = 0 Power BI中的BLANK值与列数据类型的基值相关联 对于整数,BLANK值对应于零,对于字符串列,BLANK值对应于“(空字符串)”,对于日期字段
返回Power BI SVG在线工具,选择条件格式排名生成器: 圆角弧度设置为100(即圆形,否则为圆角正方形),选择喜欢的颜色,复制代码: 把代码放到空白度量值,红框替换为你的排名指标: 对SVG...富标签度量值施加条件格式图标为SVG排名度量值: 得到: 只留下SVG富标签列,其他列拖拽隐藏,得到: 排名和店铺中间如何加箭头?...再次回到Power BI SVG在线工具,选择图标查询系统: 关键字搜索箭头,在线调整颜色,复制右侧SVG代码: 新建空白度量值,粘贴代码: 对左侧的辅助列(本例为店铺维度)施加排名条件格式图标,位置为右侧...接着隐藏所有复制列,完工。 我分享的Power BI SVG在线工具目前有九大模块,可以极大增强Power BI的可视化效果。 点击每个模块上方的标题,可以跳转到B站的操作视频。欢迎大家使用。...更多Power BI 模拟麦肯锡:Power BI 模拟麦肯锡图表系列
单击 “Currency” 列的【ABC123】图标,选择为【货币】类型(Power BI 中的固定小数位的十进制数)。 选择 “Currency” 列最后一行的单元格进行预览。...任何尾数为 0 的小数都不会显示,只显示出数值所需的字符数。...Power Query 的美妙之处在于,对于这个解决数据错误的问题,实际上有多种选择。 在 “Changed Type” 步骤之前插入一个新的步骤,用 “0” 替换 “N/A”。...在 “Changed Type” 步骤之前插入一个新的步骤,用 “null” 关键字来替换 “N/A“。 右击 “Units Sold”【替换错误】用 “0”(或 “null”)。...右击 “POS Hour” 列【替换值】【插入】。 【要查找的值】“:00”。 【替换为】这里什么都不填,默认空白。 单击【确定】。
5 提取 在2.3中的案例我埋了个小伏笔,利用了Excel的LEN函数来计算长度,其实在提取功能中也有个长度的选项,选择它即可计算出字符长度,只不过在转换选项卡中直接选的话会破坏现有的列,你需要利用取消步骤退回再去提取范围...6 合并列 与拆分和提取相反的就是合并列的内容,非常简单选中你要合并的几列,右键选择。 ? 7 替换 替换与Excel中的Ctrl+F的查找替换功能基本一样,有替换值和替换错误两个选项。 ?...需要注意的是,当我们想替换空白格而不是无效格(null)时,需要先用替换值把空白格替换成null。 ?...BI "修整后为“Power BI”);清除的功能是除去所有无法打印字符比如空格(Excel里对应使用Clean函数)。...Power Query的逆透视功能可以让我们一键搞定。 ? 本节的内容有点散,具体的招数也需要大家在实践中熟悉。掌握了这12招,我相信你又上升了一个新高度。
在Power BI表格矩阵中,文本通常在列、值区域显示。把文本放在条件格式图标可以产生丰富、实用的可视化效果,在这里列举几种场景。 1....模拟B站 下图是模拟B站的多指标对比,将“高低”文字植入条件格式: Power BI并不支持直接在条件格式放置文本,需要将文本包裹在SVG语法中。...我分享的Power BI SVG在线工具,可以在不了解SVG代码的情况下实现该功能。打开: https://app.powerbi.com/view?...ABC分析 以下表格实现纵向ABC分析,条形图左侧插入带有ABC字母的条件格式。 同样使用我分享的Power BI SVG在线工具,搜索字母,背景圆角弧度设置为100即可实现圆形造型。...排名 Power BI SVG在线工具选择条件格式排名生成器: 圆角弧度设置为100(即圆形,否则为圆角正方形),选择喜欢的颜色,复制代码: 把代码放到空白度量值,红框替换为你的排名指标,应用到条件格式
问题描述 以下是数据表 示例文件只有两列,一列订单日期,显示数据类型为日期(时间范围是2022-2023年);一列销售额,数据类型为小数。...用DAX书写了正确时间范围内的日期表,并且将date列标记准确。...我们将数据表的订单日期列的数据类型设置为日期/时间,我们就会发现端倪,原来它隐含了时间信息: 此时我们去到powerquery里面查看,这一列果然是日期/时间格式: 原来是客户原来的数据文件就是带有时间格式...但是在模型中,客户觉得只需要日期列,不需要时间信息,就在模型中表格视图列工具里的数据类型设置为日期。而这,也就为后续的计算带来了麻烦。...解决问题 只是一个小问题,我们只需在powerquery里将这一列订单日期设置为日期格式,就解决了。
计算列(calculated column)是通过执行 DAX 计算,在 Power BI 模型的表中新建一个数据列。...正确的做法是:将总销售额除以销售的产品总数,并且计算过程根本用不到 [Price] 列。 计算列中的计算结果是静态的:仅在创建列或者刷新 Power BI 模型时这些值才会被计算。...这是 DAX 度量值的额外优势的一个简单示例,使用适当的 DAX 函数而不是对列进行基本聚合。 DAX 度量值应当作为您为 Power BI 模型提升智能水平的默认选项。...例如,可以设定 Total sales 度量值的显示不带货币符号和小数但使用千位分隔符。此格式可以与从数据类型派生的格式不同。 显式度量值可用作更复杂计算的构建基块(见下文)。...1 译者注:0作为除数时,如果使用“/”,得到的结果是“∞”,而使用DIVIDE函数会显示空白。
为了实现高效的模型,为数据选择合适的数据类型至关重要。Power BI 模型旨在尽可能高效地将一系列唯一值存储在列中。...虽然我们在使用计算机时早就不必考虑位和字节的概念了,但是在设计模型时,考虑计算机使用的单个0和1仍然会有所帮助。...毕竟,一旦出现数据不一致的情况,我们通常可以在 Power BI 模型的可视化对象中看见空白标签,这些空白标签是由空白行引起的。如果没有这些空白,我们无法知晓是否存在数据不一致的行为。...许多事务系统为每个事务提供唯一标识符,Power BI 模型在加载这些表时,这些事务是最“昂贵”的列之一。...这是因为在将值存储为整数时,模型必须考虑列中最小值和最大值之间所有可能的值,在这种情况下,使用字典反而会效率更高一些。 若要避免这种情况发生,请将这些值设置为空白或选择一些接近真实值的特殊值。
本文解决这一痛点,提示词很短,也不需要学习代码知识,却可以生成Power BI没有内置的,第三方视觉对象库也没有的图表效果。..."HTML"和"华丽",因为我知道Power BI对HTML有很好的支持效果,所以限定AI使用HTML实现,“华丽”是一种风格,代表我的追求。...因DeepSeek官网拥堵,在此使用了腾讯云部署的DS,它回答如下: 生成的代码很长,不需要看懂,把代码中的双引号替换为单引号,粘贴到Power BI一个空白的度量值,得到: 把这个度量值放到HTML...接着提问: 现在,需要将以上代码放入Power BI度量值中,使得图表可随数据动态变化,将代码中的城市换成Power BI模型中的“店铺资料”表的“城市”列,“销售业绩”数据换成模型中的[M.销售业绩]...你需要以什么样的技术手段实现图表,然后告知图表代码的哪些部分需要替换为你Power BI模型中的维度或度量。
使用行级别安全性保护 Power BI 模型。 为分层数据配置安全性。 保护属性或表中的单个列。 确保度量值的聚合级别。...ProjectNr列中空白的行。...当普通表与受保护的表建立关系时,你可能因为权限问题无法访问。更重要的是,当引用受保护的列或受保护的表中的列时,Power BI报表因为无法访问这些列或表而引发错误。...Private 列将分别添加到值为 1 或 0 的两个副本中。最后,对两个副本进行追加查询。 添加其他列可能很有用。...执行此操作的最佳方法是使用参数来设置是否加载负行。这样,你可以通过更改参数值一次切换所有的私有表。 另一种方法是创建一个Development表,其中包含值为0和1的 Private列。
返回到 Power BI 文件。 转到【主页】【转换数据】。 右击【查询】导航器中的空白区域【粘贴】就像在 Excel 中一样,每个查询都将创建。...),并基于数据模型构建关系,计算列,度量值进而创建透视表进行分析。...图 4-17 为什么 “Date” 列所有的值都显示为 “Error” 在阅读错误信息时,可以看到该列正试图将 “43131” 设置为一个日期。但是这个数字是怎么来的呢?...选择 “Date” 列并单击【日期】数据类型图标。 将数据类型改为【整数】。 选择【替换当前转换】(不是【添加新的步骤】)。...选择 “Date” 列并单击【日期】数据类型图标。 将数据类型更改【整数】。 选择【替换当前转换】(不是【添加新的步骤】 )。 选择 “Date” 列(再次)并单击【整数】数据类型图标。
在我分享的图标查询系统选择UNICODE分类,假设想要箭头,复制该箭头,并粘贴到一个空白度量值: 符号URL = "↺" 把以上度量值拖入表格,施加Web URL对象为海报列,即实现图标变化: 另外一种更华丽的方式是在我分享的图标库选择...SVG图标,搜索"link",选择喜欢的样式,复制右侧的SVG代码,新建空白度量值,粘贴代码。...和body前面的&连接符是必须的。对表格的店铺名称列设置Web URL为上方的度量值。...如果邮件正文需要换行,Web URL度量值如下,需要换行的位置输入%0D%0A,需要隔行的位置两个%0D%0A: 如果需要添加链接,把链接当成文本放入body即可: 换行+链接的邮件正文效果如下: 店铺名称列总共有两个条件格式...Power BI Desktop设置完毕,发布后即可正常使用。 这个Power BI和Outlook结合的流程帮老板减轻了决策负担,同时又没有越俎代庖代替老板决策,邮件内容老板是可以修改的。 完。
hex拿到不带减号的版本,可以根据实际情况使用。...含有'-',我们可以使用replace函数替换掉'-'。...当然,也是视具体情况而定,SQL如下: select replace(uuid(),"-","") as uuid; 结果: Power BI 那么在Power BI中我们如何生成UUID呢?...在DAX中并没有这样一个生成GUID的函数: 尝试在power query中寻找: Guid.From函数是将文本的不带“-”的guid变成带“-”的标准化guid: 这显然不是我们想要的。...而Text.NewGuid是直接生成一个新的GUID: 直接对其进行调用: 比如我们要在Power BI中对一个姓名表生成不同的UUID,以下为姓名表: 我想为每一个NAME随机生成一个UUID
image.png 3.如何用Power BI中管理数据关系呢? 首先,将需要的表导入Power BI,可以看之前的内容:如何导入数据。...导入后,在画布的左边的“模型视图”中,可以显示每个表及其列之间的关系。 image.png 一般Power BI会自动识别相同字段进行连接(如下图)。...点击画布左边的“数据视图”,在工具栏选择“表工具”->“新建列”,当前表就会弹出一列空白列。 image.png image.png 在上面空白栏里可以改新增列的名称,以及该列的数据值。...当使用日期字段来进行可视化作图时,Power BI会自动将时间进行汇总成年、季度、月、日几个维度。 例如,销售数据表中的“订单日期”是以天为单位,在做图时会自动汇总成一年。...9.总结 通过案例,我们学会了Power BI的以下知识点: 1)如何管理数据关系 2)创建计算列 3)如何隐藏列 4)创建度量值 5)创建计算表 6)浏览基于时间的数据 推荐:什么样的人升职加薪快?
业绩、成交笔数、销量、库存量等为主指标,为判断指标的健康度,我们常常需要横向比较,设置辅助指标,比如主指标在各店铺的排名,比如指标比同期的增长率。...这个过程非常繁琐,利用Power BI 2022年5月新增的字段参数功能,可以实现辅助指标归并,一个度量值排名所有指标(不了解字段参数的读者可参考此文 Power BI字段参数用于存货分析) 新建好指标字段参数后...,可以看到Power BI自动新增了一个表,表中有三列,其中一列是索引(默认不叫“索引”,列名可以双击手动修改),如下图所示: 新建一个多指标排名度量值,SWITCH函数依据字段参数中的索引,对排名的指标进行切换...: 以下动图可以看到,排名自动按照指标变化进行切换: 类似的,可以把动态排名放入条件格式(参考此文:Power BI字段参数情境下的条件格式设置): 再举个增长率的例子: 增长率 = VAR...,其他的显示空白。
【注意】 本节中的示例必须在 Excel 中运行,因为 Power BI 没有自己的工作表,所以 Power BI 是不支持这种方式的。...这通常不是什么大问题,但是当涉及到日期时,Power Query 总是将这些数据设置为【日期 / 时间】数据类型,即使底层的日期序列号被四舍五入到 0 位小数。...更改 “Date” 列的数据类型,选择 “Date” 列左边的【日期 / 时间】小图标,更改数据类型为【日期】【替换当前转换】。...$A$5:x 其中,x 为数据区域右下角的引用,如果不在 Excel 公示栏中计算,则 x 的计算结果为引用,而为了知道这个引用是不是被正确的计算,在 Excel 公示栏中按【F9】计算,会返回作为位置引用的...) 秘诀是创建一个【空白查询】,并告诉 Power Query 要连接到哪个范围。 创建一个新查询,【数据】【获取数据】【自其他源】【空白查询】。
4.1 Power BI 模型 本章中的示例取自一个简单的 Power BI 模型。...例如,我们可以通过将之前使用的 TotalTax 计算列用 CALCULATE 包裹起来改一下该列的公式(请注意,我们在这里使用不带任何筛选器参数的 CALCULATE),代码如下。...如果确实需要,可以使用不带参数的 ALL 从整个 Power BI 模型中删除所有筛选器。以上情况,代码如下。...只有当你正式地将表标记为 Power BI 模型的日期表时,或者在数据类型为 Date 的列上创建从事实表到日期表的关系时,才会添加隐式 ALL('Date' [Date]) 子句。...在 Power BI 模型中使用相同的函数创建计算表可能会有所帮助,但无论如何,使用 DAX 表函数需要一定程度的抽象思维。
显然,拆分后的结果被分成了很多列,并通过公式中最后一个列表参数进行控制,所以,我们这里可以修改其中的输出内容,只取所需要的列(1列,并且可以直接修改输出的列明),如“首段数字”: 得到了首段数字之后,...我们就可以通过剔除首段内容的方式,得到剩下的全部内容,这里提供两种方法: Text.ReplaceRange 这个方法很简单,因为我们已经得到了前面的数字内容,所以,很容易通过Text.Length函数计算出首段内容的长度...,然后,通过Text.ReplaceRange函数把原内容中的前面几个字符替换为空白即可。...总的来说,这个问题不难,方法也很多,核心的思路是,当我们不能一下子得到最终全部结果时,我们可以先得到部分结果,然后再构造出剩下的结果——步步为营,是我们拆解问题、解决问题的常用思想,不仅仅是Power...Query或Power BI。
在 Power BI 中没有【查询 & 连接】窗格,建议用户学习一种能在多个程序中都适用的方法来做到这一点。...筛选 “Name” 列【文本筛选器】【结尾为】“Print_Area”【确定】。 将 “Name” 列中的 “'!Print_Area” 文字替换为空白(【替换为】不输入任何东西)。...由于这会影响计算链,所以会受到递归效应的影响,这意味着随着新表的构建,Power Query 会识别它们并将它们也作为潜在的内容来读取。...Power Query 将启动对 “Transactions” 表的刷新,这将启动对三个单独的数据表的刷新,为它提供数据。...用户已经通过加载 “CSV” 文件构建了解决方案,这些文件包含了相关的数据,并针对它们建立了商业智能报告。然后,下个月来了,IT 部门给分析师发送了替换文件,为每个产品提供新的交易数据。
领取专属 10元无门槛券
手把手带您无忧上云