Excel DAX公式用于查找最小值和百分比差异

Excel DAX公式用于查找最小值和百分比差异,excel,powerpivot,Excel,Powerpivot,我需要帮助使用正确的DAX公式找到列中的最小值,然后根据该最小值(每个数字的百分比高多少)计算每行值 我的表格如下: 我试图在第三列和第四列中获得基于第二列的结果。DAX计算列: Minimum = MIN ( 'Table'[Sedan] ) 确保第二次将列数据格式设置为% 聚合函数不受行上下文的影响,因此,当我们定义“Table”[Minimum]时,它只是获取整个Table min。然后,我们可以使用新计算的列,与现有的“Table”[Sedan]存在简单的%差异。在行上下文中,列引用

我需要帮助使用正确的DAX公式找到列中的最小值,然后根据该最小值(每个数字的百分比高多少)计算每行值

我的表格如下:


我试图在第三列和第四列中获得基于第二列的结果。

DAX计算列:

Minimum = MIN ( 'Table'[Sedan] )
确保第二次将列数据格式设置为%

聚合函数不受行上下文的影响,因此,当我们定义“Table”[Minimum]时,它只是获取整个Table min。然后,我们可以使用新计算的列,与现有的“Table”[Sedan]存在简单的%差异。在行上下文中,列引用是当前行的值

编辑:每个评论的目标是与过滤器交互,因此它不能位于计算列中

措施如下:

您的min将取决于您如何构建您尚未与我们共享的视觉效果和报告。以下两个版本:

//v1
Minimum = MIN ( 'Table'[Sedan] )
以及%的差异。同样,这将取决于您如何构建尚未共享的报告。第一个版本与上面的第一个版本配合使用,假设您一次查看多行,并且希望获得平均%的差异:

//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

DAX计算列:

Minimum = MIN ( 'Table'[Sedan] )
确保第二次将列数据格式设置为%

聚合函数不受行上下文的影响,因此,当我们定义“Table”[Minimum]时,它只是获取整个Table min。然后,我们可以使用新计算的列,与现有的“Table”[Sedan]存在简单的%差异。在行上下文中,列引用是当前行的值

编辑:每个评论的目标是与过滤器交互,因此它不能位于计算列中

措施如下:

您的min将取决于您如何构建您尚未与我们共享的视觉效果和报告。以下两个版本:

//v1
Minimum = MIN ( 'Table'[Sedan] )
以及%的差异。同样,这将取决于您如何构建尚未共享的报告。第一个版本与上面的第一个版本配合使用,假设您一次查看多行,并且希望获得平均%的差异:

//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

你好,格雷格,谢谢你的回复。如果我需要列中过滤数据的最小值,而不是整个表中的列,我只引用列名而不是“table”[column]?如果您需要它来与过滤器交互,那么您不需要计算列,而是度量值。正在编辑。非常感谢您的帮助。你的解决方案完成了任务。嗨,格雷格,谢谢你的回复。如果我需要列中过滤数据的最小值,而不是整个表中的列,我只引用列名而不是“table”[column]?如果您需要它来与过滤器交互,那么您不需要计算列,而是度量值。正在编辑。非常感谢您的帮助。你的解决方案完成了任务。