首页 > 解决方案 > DAX Measure 在过滤器表达式中使用来自不同相关表的多个列

问题描述

我需要有关 DAX 测量的帮助。我有 3 个表构建、动态、环境。它们都是相互关联的。我已经使用 Builds 表中的 Builds 切片器和包含以下列的表格图表创建了一个报告:

现在我想创建一个度量来计算 In Progress Environments 的计数,其中 Build = selected build in slicer 或 target build = selected build in slicer。

有人可以帮助我正确的公式。谢谢!

我想出了以下公式:

InprogressEnvironments = 
VAR SelectedSlicerValue = SELECTEDVALUE(Builds[Build])
RETURN
  VAR CountEnvs =
    CALCULATE (
      DISTINCTCOUNT ( 'vwEnvironments'[EnvironmentID] ),
      OR (
        'vwEnvironments'[Build] = SelectedSlicerValue,
        vwDynamic[TARGETBUILD] = SelectedSlicerValue
      ),
      'vwEnvironments'[State] = "In Progress"
    )
  RETURN
    CountEnvs

但是,此度量返回以下错误:表达式包含多个列,但在用作表过滤器表达式的 True/False 表达式中只能使用单个列。

标签: powerbidaxpowerpivot

解决方案


我不确定这两个表之间的关系是什么,但这样的事情可能会起作用:

InprogressEnvironments =
VAR SelectedSlicerValue =
    SELECTEDVALUE ( Builds[Build] )
VAR CountEnvs =
    CALCULATE (
        DISTINCTCOUNT ( 'vwEnvironments'[EnvironmentID] ),
        'vwEnvironments'[State] = "In Progress",
        'vwEnvironments'[Build] = SelectedSlicerValue
            || RELATED ( 'vwDynamic'[TARGETBUILD] ) = SelectedSlicerValue
    )
RETURN
    CountEnvs

推荐阅读