如何从另一个Tablix数据集填充Tablix引用数据?

时间:2016-11-08 16:06:50

标签: reporting-services ssrs-2012 ssrs-tablix

我有两个Tablix Tablix A Tablix B

每个Tablix都与不同的datasets相关联,如下图所示:

如何通过在Tablix A中查找数据来填充Tablix B?

例如:Tablix A包含Vehicle模型,但我还需要使用两个数据集中的VehicleID用车辆颜色填充Tablix B.

使用Lookup Function,仅当两个数据集都是同一个tablix中的引用时才有效,如何使用单独的Tablix执行此操作?

尝试使用单独的tablix,我收到以下错误:

[rsFieldReference] The Value expression for the text box 
‘Textbox57’ refers to the field ‘VehicleColor’.  

Report item expressions can only refer to fields within the current dataset scope or, 
if inside an aggregate, the specified dataset scope. 
Letters in the names of fields must use the correct case.

插图:

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用"查找"从另一个数据集中获取单个值。例如:

=Lookup(Fields!VehicleID.Value, Fields!VehicleID.Value, Fields!VehicleColour.Value, "Vehicles")

将显示ID匹配的单个(数据集中的第一个)VehicleColour。如果两个数据集之间只有一个ID匹配,则返回正确的颜色。

=LookupSet(Fields!VehicleID.Value, Fields!VehicleID.Value, Fields!VehicleColour.Value, "Vehicles")

显示一个数组,如果使用join将其转换为字符串,则只能在文本框中显示:

=join(LookupSet(Fields!VehicleID.Value, Fields!VehicleID.Value, Fields!VehicleColour.Value, "Vehicles"), ", ")

将显示ID匹配的所有VehicleColours的逗号分隔列表。

有关查找的详细信息,请参阅:https://msdn.microsoft.com/en-GB/library/ee210531.aspx

有关Lookupset的详细信息,请参阅:https://msdn.microsoft.com/en-us/library/ee240819.aspx