SSRS 查找缺少数据集

SSRS lookup missing dataset

我有一个看起来像这样的数据集

Name              Spend
"First Aid"       2
"Healing Arts"    0
"Surgeon"         NULL

然后我有三个单独的文本框,其中将填充与名称匹配的列的值。

示例:如果 name 的值等于 First Aid,则在文本框中显示 spend 的值 为此,我做了以下表达

=Lookup(Fields!skill_name.Value, "First Aid", Fields!skill_spend.Value, "Skills")

然而,我的问题是我收到一条错误消息,指出 skill_name 缺少它的 dataset,这对我来说没有意义,因为它在表达式末尾被告知 (skills)

我认为您可能误解了 Lookup 的用途及其使用方式。 Lookup 函数的用途在某些方面类似于 SQL 中的 JOIN。基本上,您将拥有两个数据集,每个数据集都有一个与另一个匹配的字段。在这种情况下,表达式将匹配 skill_name 字段并查找 skill_spend 值,表达式将类似于以下内容。

=Lookup(Fields!skill_name.Value, Fields!skill_name.Value, Fields!skill_spend.Value, "Skills")

documentation shows一样,对skill_name的第一个引用是您从当前数据集中引用的字段。第二个引用是您试图从中查找值的数据集。第三个表达式是您正在查找的字段,数据集应该是您试图从中查找值的那个,而不是当前数据集范围。

Lookup(source_expression, destination_expression, result_expression, dataset)

据我所知,您只有一个数据集,但需要正确支出值的独立文本框。我认为下面的表达式会起作用。

= IIF(Fields!skill_name.Value = "First Aid", Fields!skill_spend.Value, Nothing)

此表达式应仅获取与行 "First Aid" 关联的 skill_spend 值,否则将文本框留空。