一、创建度量值 度量值是通过DAX表达式创建的一个虚拟的数据值,其不改变源数据,不改变数据模型,在Power BI图表中通过度量值可以快速便捷的统计一些我们想要的指标。...','第四季度点播订单表') 图片 五、创建日期表 在Power BI中我们经常使用时间函数来对包含日期列的数据表进行时间转换操作做进一步的分析,这里我们通过Power BI创建一张日期表来演示日期函数的操作使用...以上表是指向哪个表中添加列,后续的名称1是要添加的列名称,紧跟的表达式是获取该列值对应的DAX表达式,如果有多个新增的列以此类推往后写多个名称和表达式。...以上表代表从哪个表选择列,名称1是创建新列的名称,紧跟的表达式1是获取该列值对应的DAX表达式,如果有多个新增的列以此类推往后写多个名称和表达式。...在使用SELECTCOLUMNS函数时经常会涉及到从其他相关联的表中获取数据,需要使用RELATED函数来从更多的表中获取列数据,RELATED函数需要传入一个列名作为参数,作用是查询表中包含的列值,从其他表返回这个列值
3.1 六大必会技巧场景技巧操作要点合并多个工作表文件夹合并使用Excel.Workbook函数自动遍历逆透视数据二维表转一维表选中多列 → 逆透视其他列条件列替代IF嵌套添加条件列UI,支持多条件分支模糊匹配合并查询中的近似匹配阈值设为...(时间智能函数的前提)✅ 验证数据完整性(行数、总和与源系统核对)3.3 日期表快速生成一个标准日期表应包含:日期、年份、季度、月份、月序号、周数(ISO标准)、星期几、是否周末、是否节假日。...四、数据建模:让数据"互相说话"的关键4.1 模型设计四大黄金法则法则说明反例星型模型优先一个事实表 + 多个维度表雪花模型过度规范化单向筛选为主维度筛选事实,事实不筛选维度双向筛选导致歧义每个字段唯一归属字段只出现在一个表订单金额同时出现在维度和事实数值放事实表可加性数值..."取消勾选"加载数据后自动检测新关系"技巧二:查询分组管理在"查询"窗格下方右击 → "新建组" → 按操作类型分类(如ETL、转换、合并),将相关查询拖入组内,模型一目了然。...技巧五:日期表必建使用CALENDARAUTO()自动扫描现有模型中的日期字段,快速生成涵盖所有日期的日期表,再依次新建列:年、季度、季度名称、年季名称。
数据专业人员经常做的工作之一是将多个数据集追加到一起。无论这些数据集是包含在一个 Excel 工作簿中,还是分布在多个文件中,问题是它们需要被纵向【追加】到一个表中。...在 Power BI 中没有【查询 & 连接】窗格,建议用户学习一种能在多个程序中都适用的方法来做到这一点。...图 8-8 在一个步骤中添加多个追加项 或者,如果想要一次执行一个查询,并专注于创建一个易于使用的检查跟踪路径,那么可以在每次向数据源添加一个新的查询时采取如下操作。...图 8-14 一月份礼品券信息的示例数据 那么,如何才能建立一个解决方案,使它自动包含记账员添加的所有新表,而不必教记账员如何编辑 Power Query。...8.4 关于追加查询的最后思考 本章讲述的功能意义重大,假设用户有三个独立的文件,导入并将它们合并到一个单一的 “Transactions” 表中,并基于这些数据建立一个【数据透视表】或 Power BI
返回 表——包含已经删除过滤器后的一列或多列的表。 C. 注意事项 通常和filter组合,如果是列名需要是filter处理的列名 1个参数只能写1个条件,列和表不能同时出现。...返回 表——包含已经删除过滤器后的一列或多列的表。 C. 注意事项 第1参数是表,第2参数是列,而All函数的第1参数是表或者列。...如何批量抓取企业的公示信息? 如何获取图片中的文字信息? 如何在Excel及Power BI中对中文日期进行排序? 如何批量一步抓取搜索栏的联想词? 如何快速的获得一些购物网站的产品信息?...分列数据的方法比较 如何用Power Query处理Excel中解决不了的分列 Power Query中如何把多列数据合并? Power Query中如何把多列数据合并?...(合并查询) 函数应用案例: 如何快速找出包含英文关键词的数据?
3.1 入门基础知识 3.1.1 数据类型的设置 3.1.2 标题的升降设置 3.1.3 “转换”与“添加列”选项卡中的功能 3.2 删除行或列操作 3.2.1 选择列与删除列 3.2.2 删除行与保留行...3.2.3 通过筛选器删除行 3.3 添加列操作 3.3.1 简单快速地添加条件列 3.3.2 为行添加自定义序号 3.3.3 添加自定义列 3.4 拆分列与合并列操作 3.4.1 实例1:按分隔符拆分列...3.8 追加查询与合并查询 3.8.1 实例1:使用追加查询批量合并多个Excel工作表数据 3.8.2 认识合并查询的6种类型 3.8.3 实例2:使用合并查询完成各种数据匹配 第4章 M函数和M...Excel工作簿中的多个工作表的数据 6.1.2 实例2:获取并合并多个文件夹下的Excel工作簿中的数据 6.1.3 实例3:获取网页中的表格数据 6.1.4 实例4:获取CSV或TXT文件数据 6.1.5...实例5:实时获取数据库中的数据 6.2 数据转换综合实战 6.2.1 实例1:将复杂的二维调薪表转换为一维明细表 6.2.2 实例2:高效快速地清洗零乱的考勤数据 6.2.3 实例3:同时拆分组合的供应商中文名称和英文名称
上次的文章里提到,影响Power BI文件大小和打开效率,一个很重要的影响因素是列和列基数。 这让我想起曾经写过文章《什么是雪花维度?Power BI里如何降低模型复杂度?》...,其中提到,将维度表(如产品、类别、供应商等)上的列,尽可能通过合并查询的方式读到事实表(如订单表、订单明细表)里——就像在Excel里,为了做数据透视表,要先将多个表的数据整理到一个大表里一样,BI行业经常称之为...下面我们就拿一份数据来试一下:30个供应商,500种产品,30万行订单,初始订单表4列信息: 数据导入Power BI后,文件大小为 3484 KB: 接下来,通过合并查询,将产品表的“产品名称”、...“产品类型”、“供应商”等字段合并到订单表中,即,订单表此时增加了3列内容: 此时,Power BI文件竟然不是变得更大,而是变小了:3092KB !!!...所以,对于类似雪花状的数据模型,我们可以放心地将常用的维度信息,通过合并查询的方式放入事实表中,避免后面在处理数据模型、制作图表等等过程中,要面临一个复杂的数据关系视图以及一个又长又不好控制的关系链!
在进行数据分析时,您往往不会从单个行中检索所有列的数据,相反,您可能对同时从多个行中获取数据感兴趣,并且往往只分析其中的一列或几列数据。...若要实现这一点,模型必须保留指针列表,以跟踪列中的某个值到底位于哪一行中。当向表中添加更多列时,计算量显然会显著增加。因此,在 Power BI 模型中,“窄”的表比“宽”的表更高效。...最大的麻烦可能产生于从多个不同的数据源获取数据时。让我们设想这么一个场景,我们不仅有销售数据,还有目标数据。将来自不同数据源的数据合并到一个扁平的数据表中需要花费大量精力。...不过,这样导致的结果是,从一系列表中检索数据同时还需要处理大量关系会很低效。 2.3.4 关系属性 在 Power BI 模型中的表和表之间创建关系时,可以对驱动其行为的关系设置多个属性。...这将会导致事实表包含大量的列,每个列都有特定的业务规则或聚合。但是,你并不希望在 Power BI 模型的事实表中包含如此多的列!
格式数据操作类似,点击"转换数据":三、导入文件夹数据现在有2021-2022年销售信息表和第一季度销售表,需要将两年数据导入到Power BI 一个数据文件中,对于这种导入文件夹中的数据有两种方式,分别为合并并转换数据导入文件夹数据和通过...,三张表中第一个Sheet表名称不同并且标题行不一致,如下:以上文件中每个Excel文件中Sheet表名不同并且最后一个表多了一列是销售额,这个时候如果按照之前方式导入文件夹数据,会在"合并文件"这一步出现问题...这时我们如何想要将这种数据批量导入到Power BI中就需要用到M函数,M函数是微软为MicroSoft Power Query 设计的公式语言,对于一个文件夹中Sheet名称不同并且标题列数不同的数据我们可以通过...M函数将这些excel数据批量导入,具体操作如下:在打开的页面中过滤掉"~"开头的数据临时数据文件:数据文件过滤后效果如下:后续不需要其他的列,可以删除其他列,然后添加新的列,自动以导入哪些数据列:注意...如果还有其他文件夹的数据,只要包含以上excel中的这些列,都可以直接放入到表格读取的文件夹中后,点击"刷新预览"就会将数据批量导入进来。
单击【合并文件】按钮。 选择【示例文件】。 此时,Power Query 将执行它的魔法,创建四个新的查询,并在主查询中添加一系列步骤。...(如果用户最终在同一个解决方案中合并了多个不同的文件夹,这将使事情更容易被管理)这里的关键是提供一个描述性的名字,不要太长,而且是用户乐意加载到工作表或数据模型中的。...【注意】 专业提示:虽然看起来在合并步骤中只能访问每个文件中的一个对象,但实际上并非如此。如果需要合并多个工作簿中的多个工作表,或者是每个工作簿中的第二个工作表,而且的确可以做到。...Invoke Custom Function1(调用自定义函数1):添加一个新的列,该列利用基于“转换示例文件”中的操作而生成的“转换文件”函数。这一步的作用是创建一个列,生成从每个文件转换后的表。...图9-24 比较 Excel 和 Power BI 的结果 9.8.2 添加新文件 现在是时候探索一下当解决方案中添加新数据时会发生什么。
3.2 计算表 计算表(Calculated table)与计算列相当:它们将数据直接添加到 Power BI 模型中,只不过是以整个表的形式。若要创建计算表,通常需要特殊的 DAX 表函数。...DATATABLE 函数有两个奇怪的特性:首先,数据类型的名称与 Power BI 模型中使用的数据类型的名称不同(比如:INTEGER表示整数类型,STRING表示文本类型等),并且,一行中的值必须包含在大括号中...建议以模型中的最小年份作为日期表的开端,并以最大年份结束[2]。日期表必须具有日期列,该列是日期表的唯一键(您也可以自己设置此列的名称)。表中的其他列是每天的属性,如年、月、季度、工作日等。...您必须为添加的每一列提供一个名称,同时还得有一个提供相应值的表达式。...更重要的是,与计算列一样,如果需要删除一个表并重新创建这个表,您将丢失该表下的所有度量值。 我们建议将所有度量值存储在一个或多个专用的度量值表中。这些表不包含数据,而只用来存放度量值。
因此,本文所介绍的思想还是有较大价值的。 Power BI报表中的可视化效果是通过两种方式来使用Power BI模型中的数据。...对于在此Power BI模型上生成自己的报表的用户,这可能会令人困惑。因此,你可以考虑添加其他子句作为默认值,如[Sales]。 图 6.4 和图 6.5 显示了在视觉对象中使用此度量的示例输出。...,该度量值在一个公式中包含多个动态选项。...在本例中,我们从三个输入表创建一个新表。 ROW("Code", 1)是一个包含一行和一个包含值 1 的 Code 列的表。...根据你的预期用途,辅助表可以只包含简单的几行,也可以是基于Power BI模型中其他数据的较大列表。在大多数情况下,辅助表与模型中的其他表没有关系。
图 1-11 这两个重命名操作已被合并为一个 “Renamed Columns” 步骤中 请注意,无论是右击并【重命名】列还是双击列重名它,这里的结果都是相同的。...这生成一个新的 “Changed Type” 步骤,称为 “Changed Type1(更改的类型 1)” 被添加到查询中,如图 1-12 所示。...表的名称:这通常与查询的名称相匹配,但非法字符将被替换为 “_” 字符,与其他工作表名称的冲突将通过在查询名称的末尾添加一个数字值来解决。...工作表名称:这通常与查询的名称相匹配,但非法字符将被替换为 “_” 字符,名称太长的情况可能会被截断,与其他现有表格名称的冲突的情况,将通过在查询名称的末尾添加括号内的数字值来解决。...【注意】 与 Excel 不同,Power BI 会默认按第一列对数据进行排序。要在 Excel 中做到这一点,需要在数据加载之前添加一个明确的步骤来对数据进行排序。
一、Power BI数据分析的核心能力模型一个真正的Power BI数据分析师,需要掌握四个层次的技巧:层次四:故事讲述层 → 可视化设计、报告布局、用户交互层次三:模型构建层 → 关系设计、DAX计算...二、数据准备阶段的核心技巧2.1 Power Query(M语言)必会技巧场景技巧操作要点合并多个工作表文件夹合并使用Excel.Workbook函数自动遍历逆透视数据二维表转一维表选中多列 → 逆透视其他列条件列替代...IF嵌套添加条件列UI,支持多条件分支模糊匹配合并查询中的近似匹配阈值设为0.8,避免漏匹配分列到行单元格拆分为多行按分隔符分列 → 逆透视2.2 MVP级数据清洗清单□ 检查数据类型(日期、数字、文本是否正确识别...)2.3 日期表模板(可直接导入使用)一个标准日期表应包含:日期年份季度(Q1/Q2/Q3/Q4)月份(中文名称)月序号周数(ISO标准)星期几是否周末是否节假日(可选)快速生成M代码:List.Dates...配合 #date 函数生成连续日期三、数据建模的核心技巧3.1 模型设计黄金法则法则说明反例星型模型优先一个事实表 + 多个维度表雪花模型过度规范化单向筛选为主维度筛选事实,事实不筛选维度双向筛选导致歧义每个字段唯一归属字段只出现在一个表订单金额同时出现在维度和事实数值放事实表可加性数值
step as duration:意思是持续时间,这里的意思是持续时间为7天,也就是每隔7天生成一个日期。 5.添加条件列 下一步需要加入新列以区分产品周期的两个阶段—计划期与运营期。...此步骤也是添加条件列的方法:在Power Query中点击添加列中的条件列,并按下图填好。...以上完成后则再添加一个自定义列,并输入:Date.Year([周列表]),此步骤是将周列表中的年新增一列提出来单独放在一列中,并重命名列名为年。...而VAR a 中的Summarizecolumns函数表示生成一张包括原始数据表中产品名称和上市日期的表格,并在此基础上扩展出标题为开始日期的新列,开始日期这列数据来源为原始数据中的筹备日期去重后的列,...但在Power BI自带的视图中并没有甘特图供使用,这就需要我们在Power BI主页的自定义视觉对象中点击来自应用商店,搜索“as Timeline”,点击添加后,在我们的Power BI可视化区就多了一个如下图的
而对于个人来说,就像加入购物车一样,对于想购买的商品可以同时对多个商家在售的同一个品加入购物车,这样想买的时候就可以在购物车里面进行比价,但是这个只能局限在个人的范围内,如果想要更多的人关注的话,加入购物车的操作就显然力不从心了...这么多售卖的商品中,怎么才能第一时间同步得到价格的信息呢?现在通过Power BI中的PQ工具来实现。 1. 打开单个的商品链接,得到商品的链接地址 2....在Power BI中使用从Web导入的方式。 3. 观察自动获取的数据信息 一个是表2,里面有价格可以直接获取;另外一个是HTML代码,以便于我们后期获取店铺名,商品标题等信息。 4....2)店铺名称 除了导入进来的表2,我们还导入了一个HTML代码的数据,其导入到Power Query后如下所显示。 可以通过这些代码中找到我们所需要的内容并进行整理。...通过添加自定义列的方式把所需要的信息给一并抓取 7.
二、可能遇到的问题 如果每个表的格式规范,这种场景需求比较容易解决。比如用Excel 、Power BI里的Power Query,或VBA, 或WPS的付费功能,或第三方插件如方方格子等。...通过建立相应的对照关系规则表,只需三步,即可实现批量汇总不规范格式的文档。 选择规则表 选择要合并汇总的文件 选择合并方式 软件提供了3种合并方式:按列的位置、按列名称和按自定义规则(即规则表)。...四、规则表说明 规则表文档有三个工作表: 【提取sheet】 该表记录合并文档的工作表的名称对照关系。...如果一个原始文档里,同时具有【销售】和【Sales】,则依据规则表里上下关系,优先取上方的名称(即取【销售】)。 2.【提取字段】 同上,该工作表用于记录字段名称的对照关系。...如下表所示,【销售】表中,【销量】和【件数】,都会汇总在同一列:【销量】。下表的A列,用于标记字段所在的统一表名。 3.【开始行】 该表用于处理起始行的问题。
选择合适的图表类型(如折线图、柱状图、散点图等)。使用“标记”卡片调整图表的颜色、大小、标签等。** 1.2.4 仪表板与故事**创建单个图表后,可以将多个图表组合到一个仪表板中。...创建故事,讲述数据背后的故事,通过添加多个仪表板或图表来讲述数据分析的过程。1.3 高级功能1.3.1 计算字段在数据面板中,右键点击数据表,选择“创建计算字段”。...编写计算公式,创建新的字段用于复杂分析。1.3.2 参数在数据面板中,右键点击数据表,选择“创建参数”。设置参数的名称、数据类型和允许值。在图表中使用参数,增加交互性。...第二部分:Power BI2.1 Power BI简介慕课商业数据分析师中Power BI是微软推出的一款商业智能工具,能够将数据转化为有意义的洞察。...使用“可视化”面板选择和定制图表类型(如折线图、柱状图、饼图等)。调整图表的格式和交互选项。2.2.4 仪表板创建单个图表后,可以将多个图表组合到一个页面中。使用“页面”选项卡管理和布局图表。
图5.16 添加到模型中的pImpersonation 表 3.添加测试安全角色 接下来,创建一个新的安全角色UserTest,该角色将检查pImpersonation 的值。...此列包含每个员工的直接经理的员工编号;只有CEO这个职位没有对应的经理。 图5.18 QuantoBikes 的员工表 Power BI 假定一个员工没有多个直接经理,这是一个合理的假设。...(为什么此时我想到了一个表名:UFO类型,哈哈,但我觉得肯定有更严肃的例子)。 但是,表和列的消失会给 Power BI 模型和报表带来新的问题。...若要使跨报表钻取正常工作,只需要确保用于钻取操作的两个报表中的字段具有相同的名称,以便 Power BI 可以将它们识别为同一个字段。有趣的是,这些报表不必使用相同的底层模型。...如果你要实现此方法,则至少不应使用组织中众所周知的业务关键字(如员工编号)。 总结 通过阅读本章内容,相信你已从多个方面了解如何保护 Power BI 模型。
以下介绍两个优化Power BI矩阵标题展示的技巧。 1. 行标题重复 如果矩阵的行有多个维度,默认情况下会是合并单元格样式(左侧),如果变为右侧的重复标签效果?...本例行有两个维度,将维度度量值化,新建两个度量值: M.月 = SELECTEDVALUE('日期表'[月],"总计") M.星期 = SELECTEDVALUE('日期表'[星期],"总计") 在矩阵的值区域...2.列标题美化 下表的店铺名称为矩阵的列标题,比较单调 下图是背景美化后的标题: 使用我分享的《Power BI 万能富标签生成器》将店铺名称列转换为SVG度量值。...原标题的颜色设置为和报告背景色相同(此处为白色): 最后将值切换到行完成设置: 因标题进行了度量值化,此处标题还可以添加条件格式图标进行美化: 我分享的Power BI SVG工具内置了一万多种图标《...Power BI SVG 在线工具综合应用:零代码制作组合式富表格》 以上技巧仅适用于行或者列有字段,但不能同时有字段的情景。
这里要满足两个条件: 同一个表的两个列或以上的筛选。如:本例中的产品子类别以及产品类别的两个列。 要参与 SUMMARIZECOLUMNS 运算。...如:在 Power BI 中所有图表都是由 SUMMARIZECOLUMNS 返回的运算结果。...Power BI 要解决的重要问题就是: 如何在一个巨量的数据空间中,迅速缩减到图表所需要的一个数据子集,通过筛选实现这个目的,而一个表上的多个筛选,如果在计算时分别对待,则会触发笛卡尔积的排列组合运算...解决方案 由于触发 AutoExist 需要两个条件,其中 SUMMARIZECOLUMNS 运算是不可避免的,在 Power BI 中图表都默认使用了这个计算,那方案只有是不让它来自一个表的多列。...(如:清除,常常使用 ALL)某表一部分列筛选 报表中有来自该表的多个列的筛选 则 AutoExist 特性在后台自动运转时可能导致诡异的计算结果,称此为:AutoExist 问题陷阱。