本篇文章主体部分为翻译Chris Webb的一篇文章。 合并查询在Power Query中是很成熟的应用,相当于SQL中的各种JOIN(抽时间会写几篇SQL的join,算是SQL的小核心)。...: 表中列的数量是否影响合并查询时的效率?...– 0 秒 以上的确能够得出结论:合并查询时,列数的多少的确会影响效率, 以上还揭示了:在以上两个查询中,读取数据是立刻发生的,几乎不占用时间,相比之下,最开始的两次查询中读取数据的时间甚至要比执行SQL...当每个表中含有两列时合并查询会提交584MB数据,而如果时合并查询两个7列的表,最大会提交3GB的数据。 所以最后,我们可以从容地得出结论: 在合并查询前,去掉不必要的列,的确可以提升刷新效率。...其实合并查询删掉不必要的列,可以有两种方式,一种是如今天说的,在合并查询之前删掉;另外,我们也可以在合并查询后对不需要的列进行删除。 从逻辑上来看,合并查询后再删除列,很明显要比今天说的浪费时间。
产品的价格有很多不同的数值,一种常用的做法是将价格划分成不同的区间。例如下图所示的配置表。 现在对价格区间的键值进行反规范化,然后根据这个新的计算列建立一个物理关系。...在我们的例子中,情况是这样的: Sales[PriceRangeKey]依赖PriceRanges表,既因为公式中引用了PriceRanges表(引用依赖),又因为使用了VALUES函数,可能会返回额外的空行...由于两个依赖关系没有形成闭环,所以循环依赖消失了,可以创建关系。 3 避免空行依赖 创建可能用于设置关系的计算列时,都需要注意以下细节: 使用DISTINCT 代替VALUES。...假设有一个产品表具有一个唯一密钥值列(如产品密钥)和描述产品特征(包括产品名称、类别、颜色和尺寸)的其他列。当销售表仅存储密钥(如产品密钥)时,该表被视为是规范化的。...BI 的重要性(https://learn.microsoft.com/zh-cn/power-bi/guidance/star-schema)
小勤:大海,Power BI里面怎么实现逆序刻度图?比如我想分析学生多次考试成绩的名次变化趋势,由于名次数据越小越好,比如第1名要好过第2名,所以,数据小的应该显示在数据大的上方。...在Excel里,可以通过设置坐标轴为逆序刻度: 达到如下效果: 但是,在Power BI里,好像设置不了逆序刻度啊。...大海:对的,目前Power BI还不支持逆序刻度,所以,这个问题如果要在Power BI里实现的话,得想其他办法。 小勤:那怎么办呢?...大海: 一是换柱状堆积图,如果要实现折线图的效果,得考虑用图形叠加的方法,现在先说一下柱状堆积图的方法,数据接入Power BI后: Step-01:构造辅助数据 由于正常的数据显示都是越小越低的...,所以我们要构造跟原数据相反的一列,比如最后1名,构造成第1名,第1名,构造成最后1名……简单数据构造方法如下: Step-02:创建堆积柱状图 默认情况下,所有图形和数字标签都是一起显示的
小勤:怎么将Excel里Power Pivot的数据模型导入到Power BI里啊? 大海:这个现在好简单哦。直接导入就可以了。 小勤:啊?从Excel工作簿获取数据? 大海:No,No,No!...大海:这样一导入,做些必要的选择: 然后,就会将在Excel里用Power Query建的查询、加载到Power Pivot的数据以及建好的模型、写好的度量等全导入到Power BI了,结果如下图所示...我的Excel里没有建查询啊?怎么导入Power BI却生成了一个查询? 大海:你这个是没有经过Power Query,直接从表格添加到Power Pivot数据模型的吧? 小勤:对的。...大海:你看一下Power BI里面这个查询是怎么建出来的? 小勤:晕啊。这个是直接输入数据生成的源呢! 大海:对的。...直接从表格添加到Power Pivot数据模型的表会在Power BI中以“新建表输入数据”的方式来实现。
因为你脑中的东西没有坚固的无二义性的概念。 很可惜模糊而混乱的概念充斥着在各个领域,这就是常常逻辑性很强的人会发现业务人员描述了两个不同的东西,而业务人员自己却认为他描述的是一个东西。...由此,我们可以坚定: ColumnName = 列引用 TableName = 表引用 而表引用表达式和表表达式是不同的。...其中的列,叫:基列。 明确的概念 根据以上极为严谨的逻辑,我们得到了两个重要的概念: 表(table) ,可以在 DAX 公式中使用的语法元素,它表示一个表结构。...使用基表或基表中列的方式是表引用或列引用。 遗留问题:对于只能使用基表的函数,如何给出替代方案,答案是肯定的,后续分解。...Power BI 是用来解决 yyyyyyy 的。 那么,还是没有回答自助商业智能分析到底是啥?我们要知道的是本质,不是目的。 类似的,HR 是啥?运营是啥?财务是啥?
问题 现有社保卡和身份证若干,想要匹配筛选出一一对应的社保卡和身份证。 转换为List socialList,和List idList,从二者中找出匹配的社保卡。...中筛选出idCards中存在的卡片 } 遍历 @Test public void testFilterForEach(){ List result = new...采用Hash 通过观察发现,两个list取相同的部分时,每次都遍历两个list。那么,可以把判断条件放入Hash中,判断hash是否存在来代替遍历查找。...中判断key是否存在 4 //O(m,n)=2m+n=11 } 如此,假设hash算法特别好,hash的时间复杂度为O(n)=n。...从数据归纳法的角度,n必须大于2,不然即演变程2m+2 < 2m。
excelperfect 在下图1所示的工作簿Data.xlsx的工作表Sheet1中,存放着待使用的数据。 ?...图1 在下图2所示的工作簿GetData.xlsm中,根据列C中的数据,在上图1的工作簿Data.xlsx的列E中查找是否存在相应数据的单元格。 ?...图2 然后,将Data.xlsx中对应行的列I至列K单元格中的数据复制到GetData.xlsm相应的单元格中,如下图3所示。 ?...Exit Sub Else '遍历所选的单元格 For Each rng In Selection '在数据工作表中查找相应的值所在的单元格...注意,要使代码正常运行,应该将两个工作簿都打开。 代码的图片版如下: ?
Excel技巧:Excel中如何方便的实现同张表不同区域的查看? 问题:工作表格数据量太大,要在一张表的不同区域内进行查看,来回拖拽太麻烦了,有什么好方法实现方便不同区域的查看和编辑?...然后就会新弹一个和原工作表一样内容的新窗口,但需要注意工作表名称的变化。会自动出现“工作表名:1 ”和 “工作表名:2 ”的表达。(见下图2,3处) ?...紧接着,点击任意一张工作表的“视图—全部重排”按钮(下图4处 ? 根据工作需要选择重排方式,推荐“垂直并排”(下图5处)。 ?...单击“确定”后立刻实现下图的并排方式,拖拽其中一窗口确定您需要查看的位置即可。需要的注意的是:修改任何一张表的内容,另外一张表的对应内容也会被修改哟。 ?
采用依赖注入的服务均由某个ServiceProvider来提供,但是在ASP.NET Core管道涉及到两个不同的ServiceProvider,其中一个是在管道成功构建后创建并绑定到WebHost上的...针对中间件类型Invoke方法的执行同样采用了依赖注入的形式来提供该方法从第二开始的所有参数,这是对依赖注入的第三次应用。...,又是如何被回收释放的。...HttpContext的特性集合中的呢?...的特性集合中。
注意 该特性尚未正式出现在任何 Power BI Desktop 产品中,但此次对外介绍,说明该特性已经进入预览阶段。...计算列 在表中定义 逐行计算后保存 在数据导入时触发计算 结果静态不再改变 度量值 在数据模型中定义 与行集合(筛选上下文)协同工作 在运行时动态计算 视图计算 在可视化对象上定义 视觉上下文中 在运行时动态计算...再比如要定义复杂的 A 列本行减去 B 列上一行的计算结构时,可以: 这里用到了 Previous 函数来获取当前视图表结构内的上一行,而不需要使用复杂的 DAX 计算技术。...更加直观 业务驱动的商业数据建模分析从技术上讲,已经非常成熟。DAX 的发明几乎可以在数学上证明其完备性。而如何简化使用,如何直观使用,在 Power BI 中也正给出新的答案。...后续 Power BI 作为一个工具存在,从个人角度,其数据分析的技术能力已经非常成熟,这些内容可以完全从这个公众号找到答案。
图2.1 从基于行的存储中检索列的值效率低下 2.1.2 列式数据库 与RDBMS的按行存储数据不同的是,Power BI模型通过按列存储数据来实现这一过程。...最大的麻烦可能产生于从多个不同的数据源获取数据时。让我们设想这么一个场景,我们不仅有销售数据,还有目标数据。将来自不同数据源的数据合并到一个扁平的数据表中需要花费大量精力。...的确是这样,除非你开始使用 Power Pivot,而它和Power BI模型从本质上而言是等效的。在正式讨论 Power BI 里的方法之前,让我们看一下如何在关系型数据库中处理数据。...这么一看,它们应该与关系型数据库中的关系相当,但实际上,它们完全是两个不同的事物。 Power BI 模型中关系的基础是具有唯一键的数据表。...图2.4 Power BI 模型中两个表之间的关系 Power BI 模型中的关系与关系型数据库中的关系之间存在两个根本的区别。首先是参照完整性。
在本章中,我们将简要介绍 DAX 在 Power BI 中的不同用法。 计算列 计算表 度量值 安全筛选器 DAX 查询 除此之外,我们还将讨论如何使用 DAX 创建日期表。...DATATABLE 函数有两个奇怪的特性:首先,数据类型的名称与 Power BI 模型中使用的数据类型的名称不同(比如:INTEGER表示整数类型,STRING表示文本类型等),并且,一行中的值必须包含在大括号中...图3.4 在 Power BI 报表生成器中编写 DAX 查询 在 Excel 中使用 Power Pivot,作为默认的数据透视表输出的替代方法,可以使用 DAX 查询从 Power Pivot 模型中检索数据...当然,在 Power BI 报表中,想要通过选择特定的日期范围(比如一年)而得到固定准确的结果,仍然需要一个合适的日期表。稍后我们就将介绍如何创建日期表。...总结 在本章中,你已了解 DAX 在 Power BI 模型中的不同用法:计算列、计算表、度量值、安全规则和查询。
4.1.2 Excel 到 Power BI 现在已经知道了将查询从一个 Excel 文件复制到另一个 Excel 的基本知识,接下来就是如何将方案从 Excel 中复制到 Power BI 中。...不支持 支持 连接到 Excel 中的表 不支持 支持,但会将数据复制 表 4-1 比较了从 Excel 导入 Power BI 时 Power Query 的 不同方法 如果用户没有在 Excel...当使用【导入】功能时,Power BI 给用户一个选择,即用户可以选择如何处理这些 Excel 中的表。...图 4-9 两个 Excel 表和十二个查询将生成四个表,加载到 Excel 的数据模型中 虽然理解这些查询的工作原理并不重要,但重要的是要认识到这两个表(Raw Data - Sales,Raw Data...在这里看到的是 Power BI 在文件中创建的表,这是从 Excel 中复制数据的结果。有趣的是,它的 “Date” 列中不包含日期,而是包含一列数值,如图 4-18 所示。
如何设计报表? 第2天:认识Power BI 什么是商业智能(BI)?什么是Power BI?如何安装Power BI? 第3天:用Power BI获取数据 如何从 Excel 获取数据?...如何从数据库获取数据?如何编辑数据?如何行列转置? 第4天:用Power BI对数据建模 如何管理数据关系?...创建计算列隐藏字段创建度量值创建计算表浏览基于时间的数据 第5天:用Power BI可视化数据 如何可视化数据?如何创建切片器?如何绘制地图?...image.png 接下来,我们看下这样的报表如何用Power BI来实现。 1.案例数据 这是一家咖啡店的数据,Excel里有两个表,分别是销售数据表、产品表。...image.png 价格在产品表中,数量在销售数据表中,也就是计算指标用到的两列数据在不同的表中。 image.png 下面我们用Power BI来实现,不同的两张表中的字段如何分析计算。
1.2 提取 在本章节中,将看到在 Excel 或 Power BI 中导入一个简单的 “CSV” 文件到 Power Query 中,用来展示 Power Query 是如何处理上述任务的、它在用户界面上是如何显示的...从删除一个不需要的列开始:“POS Hour” 列(永远不会在这个层面上分析这个数据集中的这个数据)。要做到这一点,有两个方法。 选择 “POS Hour” 列,右击它并选择【删除】。...当然,根据数据源的大小和查询的复杂性,需要的时间是不同的。完成后,将数据加载到新工作表中的一个表中,如图 1-14 所示。...【注意】 与 Excel 不同,Power BI 会默认按第一列对数据进行排序。要在 Excel 中做到这一点,需要在数据加载之前添加一个明确的步骤来对数据进行排序。...在 Power BI 中:转到【主页】【刷新】。 在此之后,剩下的工作就是等待 Power Query 从文件中读取数据,对数据进行处理,并加载到 Excel 表或 Power BI 的数据模型中。
在此前的文章中已经给出了 Power BI 使用 DAX 求最大连续元素数的方法。...的序列中,1 连续出现的最大次数。 数据结构 抽象为 DAX 问题以后,得到这样的 DAX 表结构,如下: 现在问题转化为:求 Flag 列连续出现最大的 1 的个数。...算法逻辑 求解该问题的一个非常实用的算法逻辑大致如下: 分成四步: 第一步,初始化,形成带序号的零一交错的表结构。这在 Power BI 的数据模型中是非常容易的。...而整个过程就描述了这个算法,其难点恰恰在于对于一个序列如何给定顺序。 这里就作为练习供爱好者自己复制粘贴测试实践。在《BI 真经》的 Power BI 高级系列中给出了仔细的讲解,这里就不再重复了。...注意,真实的差异需要再减去 1。 方法对比 这两种方法几乎没有可比性了。 Power BI DAX 窗口函数在该问题中,以碾压性的优势赢过了经典方法。
在 Power BI 模型中,也提供了一些可以保证数据的安全性的方法。在本章中,你将学习如何来实现。 请注意,在 Power BI 的报表和仪表板上进行分发或共享的安全性,我们将不做介绍。...相反,我们将重点放在 Power BI 模型中的安全性上。常规的方案是,使用同一报表的两个用户根据其权限设置将看到不同的报表内容。 本章涵盖以下几个主题。...5.3 保护属性 在本节中,我们将以完全不同的方式介绍 Power BI 模型中的安全性。在前面的部分中,我们重点介绍了限制模型表中对“行”是否可见的方法,这是最常见的安全需求。...当普通表与受保护的表建立关系时,你可能因为权限问题无法访问。更重要的是,当引用受保护的列或受保护的表中的列时,Power BI报表因为无法访问这些列或表而引发错误。...在下一章中,我们将重点介绍一个完全不同的主题:可视化效果,以及如何使这些可视化效果比 Power BI本身的视觉对象更具动态性。
各位使用Power BI的小伙伴有很多是从事项目管理相关工作的,咱们的Power BI除了可以基于数据对现状展示以外,还可以对不同项目以及各个阶段工作量进行宏观展示。...今天我们就来扒一扒如何利用Power BI做出项目Roadmap以及对项目一目了然的甘特图。...4.生成周列表 下面在数据分析表中我们新建一列日期,使这列日期的每一行数据代表了一周的时间段。而这列日期的区间就是从产品的筹备日期开始到产品的下市日期,即产品的全生命周期。...6.生成阶段计划表 在这个案例中需要展现一个甘特图,而甘特图所展现的特征就是不同的项目在不同的时段分别所处的进度/阶段,这就需要我们抓住这几个维度的数据进行整理。...然后根据下图将阶段计划表中的字段拖入对应的框中,并在格式中设置格式颜色,甘特图就做出来了。 通过上面的案例各位看官应该了解了如何用Power BI建立项目各个阶段工作量以及用甘特图展示项目进展。
用于浏览具体某个表中的数据并完成相关功能。 模型。用于构建数据模型以及对模型进行增强编辑并完成相关功能。 如下所示: 以上描述,更准确地划分了不同区域的能力。...工作流程 关于如何在 Power BI 中工作的流程,其实没有太多人探讨,从工程学的角度,的确值得探讨。...但在《BI 真经》的实践中,我们将数据建模分为两个子过程: 数据建模(又称:静态数据建模) 模型增强(又称:动态数据建模) 这种概念在 Power BI 官方是没有的,是我们根据实际工作所提炼出得最佳实践...该过程的特点如下: 强调对宏观大局业务的理解 强调对表之间关系的理解 强调表之间实际的业务联系 强调了一种事实上的天然存在的自然而然的一种静态的关系 并不强调细节和内部计算以及如何分析 在 Power...表的关系设计 表的默认(实线)关系设计 表的候选(虚线)关系设计 表的多对多关系设计 表的双向筛选设计 数据模型的子模型主题设计 注意 以上内容全部不在 Power BI 官方能力认证中,然而,这是必须的
1.想用 Excel 制作满足所有条件的合格的 BI 报表我们需要掌握以下技能树中的相关技能: ? 上述技能中的 Power BI 插件可以帮助我们达成在Excel中制作BI报表的前三项条件。...这里主要为大家介绍 Power Query 及 Power Pivot 这两个最为重要的插件工具以及如何利用它们实现制作 BI 报表。 我们再回到制作 BI 报表的四个条件上。...“表”结构数据与 Excel 的“表格”数据最大的不同就是“表”结构数据的最基本处理单位是“列”而不是“单元格”,“列”在“表”中又被称为“字段”,对“表”中某个字段进行计算后所有该字段行中的数值都将发生变化...,只有具备了对“表”进行操作的能力,才有可能快速批量处理大量数据以及在不同表间建立联接关系,对“表”的操作是BI以及其他数据分析方法(预测分析、数据挖掘等)的基础,在 Excel 中,Power Query...动态图表是 Excel 中较为高级的图表应用形式,一旦图表从静态变为动态后,分析的深度及广度都将得到质的改变。一个专业的 BI 报表必然不能缺少优秀的动态图表元素。
领取专属 10元无门槛券
手把手带您无忧上云