【发布时间】:2019-09-19 22:17:15
【问题描述】:
我需要帮助来使用正确的 DAX 公式找到列中的最小值,然后根据该最小值评估每一行的值(每个数字的百分比高多少)。
我的表格如下:
https://1drv.ms/u/s!AlRG3cDrsAZTgeF4aurEanDadvVa3w?e=NKWlRQ
我正在尝试在基于第二列的第三列和第四列中获得结果。
【问题讨论】:
标签: excel powerpivot
我需要帮助来使用正确的 DAX 公式找到列中的最小值,然后根据该最小值评估每一行的值(每个数字的百分比高多少)。
我的表格如下:
https://1drv.ms/u/s!AlRG3cDrsAZTgeF4aurEanDadvVa3w?e=NKWlRQ
我正在尝试在基于第二列的第三列和第四列中获得结果。
【问题讨论】:
标签: excel powerpivot
DAX 计算列:
Minimum = MIN ( 'Table'[Sedan] )
% Difference = ( 'Table'[Sedan] - 'Table'[Minimum] ) / 'Table'[Sedan]
确保第二次将列数据格式设置为 %。
聚合函数不受行上下文影响,所以当我们定义 'Table'[Minimum] 时,它只是获取整个表的最小值。然后,我们可以使用新计算的列与现有的“表”[Sedan] 进行简单的 % 差异。在行上下文中,列引用是当前行的值。
编辑:对于每个 cmets,目标是让它与过滤器交互,因此它不能在计算列中。
以下措施:
您的最低要求取决于您如何构建您尚未与我们分享的视觉效果和报告。以下两个版本:
//v1
Minimum = MIN ( 'Table'[Sedan] )
//v2
Minimum = CALCULATE ( MIN ( 'Table'[Sedan] ), ALLSELECTED ( 'Table' ) )
还有 % 的差异。同样,这将取决于您如何构建尚未共享的报告。第一个版本适用于上面的第一个版本,假设您一次查看多行并且您想要平均百分比差异:
//v1
% Difference =
VAR MinValue = [Minimum]
RETURN
AVERAGEX (
'Table',
( 'Table'[Sedan] - MinValue ) / MinValue
)
对于第二个版本,我假设您将 'Table'[Sedan] 放入视觉对象中,以便您看到不同的值:
//v2
% Difference =
VAR CurrentSedan = SELECTEDVALUE ( 'Table'[Sedan] )
VAR MinValue = [Minimum]
RETURN
(CurrentSedan - MinValue) / MinValue
【讨论】: