DAX 问题 - 表达式引用多个列。多列无法转换为标量值

问题描述 投票:0回答:1

我有三个表:childjobs、jobfinishdates 和 jobprepdates。我已确认 jobfinishdates 和 jobprepdates 都有唯一的作业编号,并且没有重复项。 ChildJobs 与 jobfinishdates 和 jobprepdates 之间存在一对一的关系

但是,当我尝试将准备或完成日期添加到子作业表时,我遇到了“表达式引用多个列。多个列无法转换为标量值。”而且我不知道如何纠正它。

我用来向 childjobs 表添加 prepdates 的公式是

PrepDate = 
ADDCOLUMNS(
    ChildJobs,
    "Prep Date",
    LOOKUPVALUE(
        JobPrepDates[PrepDate],
        JobPrepDates[Job Number],
        [Job Number]
    )
)

我希望它从 JobPrepDates 表中添加预日期,但一直给我这个错误并用 #ERROR 填充该列

powerbi dax
1个回答
0
投票

ADDCOLUMNS
DAX 函数向表中添加一列并返回一个表,这对于计算表来说很好。度量和计算列只能返回标量值(即单个值,而不是表/行)。

当您添加计算列时,您的公式将很简单:

Prep Date =
  LOOKUPVALUE(
    JobPrepDates[PrepDate],
    JobPrepDates[Job Number],
    [Job Number]
  )

您还可以使用

RELATED
功能,因为您已经建立了关系,而不是
LOOKUPVALUE
。示例:

Prep Date = RELATED(JobPrepDates[PrepDate])

来自

LOOKUPVALUE
文档:

备注

  • 如果包含结果列的表和包含搜索列的表之间存在关系,则在大多数情况下,使用 RELATED 函数而不是 LOOKUPVALUE 会更高效并提供更好的性能。
© www.soinside.com 2019 - 2024. All rights reserved.