PowerBI:使用计算字段获得数据透视表级别的灵活性
Posted
技术标签:
【中文标题】PowerBI:使用计算字段获得数据透视表级别的灵活性【英文标题】:PowerBI: Getting Pivot table level of flexibility with calculated fields 【发布时间】:2018-02-20 09:34:25 【问题描述】:在 Excel 中构建带有数据透视表和图表的报告的好处(至少对我而言)是我可以拥有一个计算字段,该字段可以动态响应给定时间显示(切片)的任何内容。
根据我对 PowerBI 的短暂经验,这似乎是不可能的。 This discussion 似乎正在处理相同/相似的问题,但没有带来任何好消息。 一般而言,这个问题的目的是了解这种情况是否仍然如此,或者在上述讨论发生后的那一年是否发生了变化。
用更详细的术语来说,我目前在 Excel 中有一些严重依赖数据透视表和图表的报告。数据源存储在 Access 中。在报告中,我需要显示一些加权平均值。现在,计算的第一步(将值与权重相乘)在 Access 中完成,而在 Excel 中,数据透视表计算字段负责创建除数(乘积之和)和除数(权重之和)。由于数据透视表的性质,无论最终用户多么疯狂地使用切片器进行钻取,或者反之亦然,如果数据的聚合级别高于原始源中的级别,结果将始终正确。
我还没有找到一种方法来实现与 PowerBi 相同程度的灵活性。有没有通用的解决方案?
--
编辑回复亚历克西斯 让我举一个更具体的例子,这是我在 Access 中的一个视图,它提供一个报告,目的是监控员工的平均处理时间(执行速度)。
Day | Month | Agent | Team | Category| CategoryDetail| Volume | Time (s) | CF_Product (Volume*Time)
05/01/2018 | 01/01/2018 | JohnSmith | TeamA | Tier1 | Mail | 15 | 350 | 5250
03/02/2018 | 01/02/2018 | SamAllen | TeamB | Tier1 | Phone | 25 | 60 | 1500
CF_Product 的目的是准备加权平均计算。时间(s)是价值,体积是重量。 使用 Excel,我的下一步将是:
-
使用此视图作为数据源创建数据透视表;
创建如下计算字段 CFE_WeightedAverage =
CF_产品/数量
在折线图/组合图上绘制此信息,并打开“日”字段
X 轴。
为所有描述性字段(团队、代理、类别..)放置切片器,以便
用户可以随心所欲地向下钻取/向上钻取。
在 PowerBI 中:
-
我在模型中加载视图
选择组合/折线图
创建一个计算列,就像我在 Excel 中所做的那样
CFE_WeightedAverage = CF_Product/Volume
将此字段拖到图表的折线部分,
但是,显示的数据是“错误的”。我猜这是因为 excel 中的数据透视表将首先聚合,然后在给定时间对 缓存 的任何聚合值执行计算,而在 power bi 中,计算将在每一行数据上执行然后总结在一起,我不知道如何解决这个问题。
希望这能更好地阐明我的情况。
【问题讨论】:
您认为 Excel 数据透视表可以做到 Power BI 无法做到的到底是什么?您绝对可以在 Power BI 中使用切片器、向下钻取、计算字段等。 您好,我们会单独回复,为您提供更多详细信息。评论可能太局限了它。 【参考方案1】:在 Power BI 中,有度量值和计算列。如果您希望您的计算能够响应切片器或交叉过滤,那么您需要使用度量而不是计算列,因为后者是在您的报告页面上发生任何事情之前计算的。
您可以通过选择的搜索引擎找到大量资源来描述这两者之间的差异。以下是几个来源:
https://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/ https://powerpivotpro.com/2013/02/when-to-use-measures-vs-calc-columns/
【讨论】:
【参考方案2】:使用 DAX 公式语言,您可以在 Excel 中的 PowerBI 或 PowerPivot PivotTable 中执行非常强大的计算,远远超越您在 Excel 中的“传统”数据透视表中可以执行的任何操作。 PowerBI 和 Excel 在这方面的唯一区别是 UI:Excel 中的数据透视表比 PowerBI 中的矩阵具有更好的“拖放”选项。
您链接到的讨论是关于向下钻取的,并且似乎与您关于信息动态显示的问题根本不相关。
要回答您关于是否发生任何变化的问题,可以说“否:与传统数据透视表相比,Excel 中的 PowerBI 和 DAX-pimped PivotTables 仍然可以让您更好地控制特定视觉对象或数据透视表中显示的内容”。
【讨论】:
以上是关于PowerBI:使用计算字段获得数据透视表级别的灵活性的主要内容,如果未能解决你的问题,请参考以下文章