ssrs中的Lookupset函数返回奇怪的错误

时间:2013-10-16 15:13:57

标签: reporting-services

我正在尝试在ssrs中使用lookupset函数,但我一直收到此错误:

[rsLookupOfInvalidExpressionDataType] The Value expression for the textrun ‘Textbox46.Paragraphs[0].TextRuns[0]’ uses a lookup function with an expression that returned a data type that is not valid for the lookup function. The data type must be an RDL Variant type.

我的第一个数据集如下所示:

Student Name      | PID
Anakin SkyWalker  | 1
Obi-Wan Kenobi    | 2

我的第二个数据集(名为Awards)如下所示:

PID  | Xtrnl_Award_Type
2    | BA

我正在使用的表达式是:

=Join(LookupSet(Fields!PID.Value, Fields!PID.Value, Fields!Xtrnl_Award_Type_Code, "Awards"), ",")    

如果此人在第二个数据集中没有条目,那么一切都很好。但如果他们这样做,我的专栏只显示#Error而不是逗号分隔的奖项列表。有问题的字段是varchar,如果有帮助或不帮助。我不明白为什么我会收到错误或者我怎么能看到表达式返回的内容。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

看起来你错过了LookupSet函数的第三个参数:

而不是

=Join(
   LookupSet(
      Fields!PID.Value,
      Fields!PID.Value,
      Fields!Xtrnl_Award_Type_Code,
      "Awards"),
   ",")

试试这个:

=Join(
   LookupSet(
      Fields!PID.Value,
      Fields!PID.Value,
      Fields!Xtrnl_Award_Type_Code.Value,
      "Awards"),
   ",")

(实际上,即便如此,字段名称与您在样本中显示的字段名称不匹配。您可能需要将参数更改为Fields!Xtrnl_Award_Type.Value