很慢怎么办_为什么我的Power BI Matrix或Table Visual很慢(上)

本文探讨了Power BI报告中矩阵和表格视觉元素为何会变得缓慢,主要原因是度量值的即时计算消耗CPU和内存。度量值在过滤器上下文中根据组合值计算,尤其在表格和矩阵中,每次交互可能引发大量计算,导致性能问题。解决方案将在后续文章中介绍。
摘要由CSDN通过智能技术生成

0f2b435df9ff620e261152630842cfff.png

你常常已创建具有许多可视化和计算的Power BI报告,但速度很慢!最慢的部分是报告页面,其中包含矩阵或表格可视化!视觉为何如此缓慢?这是Power BI中的控件问题吗?或Power BI问题呢?或者与建模和计算有关?在本文中,将解释为什么Power BI报告中的矩阵和表可能会很慢,以及你应该如何处理它?所以今天这篇文章就可以给你一半的答案!

度量值

大多数情况下,当你在矩阵或表格中使用度量值时,会出现性能问题。话虽如此,但感觉我已经看到甚至在表格或矩阵视觉中显示列的模型很慢,并且大部分时间的原因是模型的设计和双向关系。

度量值如何工作

度量值是你常用在Power BI中创建的三种计算类型之一。另外还有两种类型的计算是:计算表和计算列。我们来看看度量值的计算方法。

65108dfb8f6d0f00cc88d01dc4a93c67.png

度量值是即时计算的

度量值不是预先计算的值。度量值是Power BI中唯一未预先计算的计算类型。测量计算将立即发生,当你更改切片器中的值,过滤或单击视觉以突出显示某些内容时。像这样的操作,每次互动都会触发对度量值的计算。

度量值消耗CPU

在计算度量值时,你有时可能会注意到(如果计算需要很长时间)CPU使用率突然上升到100%,并且在完成计算后会再次下降。

度量值占用内存

度量主要是消耗CPU,但是,它们有时也消耗内存。我们考虑以下计算:

MINX ( Customer, [Sum of Sales Amount] )

上面的计算是使用迭代器,迭代器的工作方式是:SUMX将遍历Customer表中的每一行,计算每行的表达式(Sales of Amount),并将其存储在临时内存中,然后经过所有行后,它把最终结果输出。

如你所见,存在临时内存消耗。尽管度量本身并未存储在任何位置,并且不会占用内存来存储最终输出,但临时计算可能会有内存消耗。这种内存消耗不仅仅发生在迭代器上。还有其他可能导致此问题的场景函数和表达式。

为什么表和矩阵视觉上的度量值可能会很慢

度量值是在运行中计算的,它们消耗CPU的处理能力,也消耗临时存储器,因此很明显测量将花费一些时间来进行计算。但是,你可能会首先注意到Table和Matrix的性能问题,为什么?事实是,度量是根据过滤器上下文中的值组合计算的(对计算度量输出有影响的值集)。

作为一个例子,在下表中,每次我们在切片器中选择一个值,同时进行六次计算!表格中每行的一个计算:

b473480ec37102cd42de16fa6ac502f5.png

你可能想知道为什么六次,行数是五。请注意,总行只是另一个计算,在EnglishEducation字段上没有任何过滤器的计算。因此,每次单击“Color”时,都会发生六次计算。让我们检查矩阵中的另一个例子:

0ece85035b37d2013ce45d7b17f81850.png

这次除了六行之外,我们还有四列,因此计算发生6 * 4 = 24次。每次在切片机中选择颜色值时,都会进行24次计算!如果该矩阵有许多行和更多列,该怎么办:

419627f1b955105ad930f44ef2ff1093.png

现在有1.8万行记录,和九列,每当你更改切片器中的值时,这将超过160,000次计算!

现在让我们假设每次计算需要1秒钟(这并不多),它消耗1MB内存。对于160,000计算,你可以了解它可以花多长时间,以及多少内存。事实上,Power BI内存引擎会进行大量的并行处理和压缩等工作。因此,你不会产生160GB内存消耗或45分钟等待此表,这样会少得多。但是,尽管存在压缩级别,仍会存在无法并行处理的部分或消耗内存的部分。

当计算在卡片图中进行时,它只计算一次。当它出现在柱形图或条形图中时,它只发生在几个项目上(因为你不会在这些视觉效果中放置一个包含数千个值的字段)。但是,当你使用表格,尤其是矩阵视觉效果时,你希望显示详细信息,并带来包含大量值的字段。因此,你最终会进行数千甚至数百万次计算,这就是你的报告变慢的原因。

当你将度量值计算放在矩阵或表格中时,这些视觉效果中字段的详细上下文会导致数千甚至数百万次计算。

请注意,对于简单的计算或用正确设计的模型编写的计算,这仍然会超快。即使有很多记录和专栏。挑战在于测量计算本身表现不佳。

现在你已经意识到为什么你的表格或矩阵视觉效果很慢,让我们看看有什么方法可以让它变快。关于如何解决,我们将在下一篇具体讲我们给出的解决方案!

技术交流

微信公众号搜索:悦策PowerBI,立即获取Power BI学习资料大礼包~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值