我有三个表: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 填充该列
ADDCOLUMNS
DAX 函数向表中添加一列并返回一个表,这对于计算表来说很好。度量和计算列只能返回标量值(即单个值,而不是表/行)。
当您添加计算列时,您的公式将很简单:
Prep Date =
LOOKUPVALUE(
JobPrepDates[PrepDate],
JobPrepDates[Job Number],
[Job Number]
)
您还可以使用
RELATED
功能,因为您已经建立了关系,而不是 LOOKUPVALUE
。示例:
Prep Date = RELATED(JobPrepDates[PrepDate])
LOOKUPVALUE
文档:
备注
- 如果包含结果列的表和包含搜索列的表之间存在关系,则在大多数情况下,使用 RELATED 函数而不是 LOOKUPVALUE 会更高效并提供更好的性能。