根据报表服务器中另一个数据集的值在Tablix上过滤数据

时间:2018-11-23 21:02:41

标签: reporting-services ssrs-tablix

在我的报告中,我有两个数据集。其中一个返回汽车名称,另一个返回汽车信息。

因此,为了说明实际数据要复杂一些,第一个数据集具有

[Car Name] [Row]
Honda       1
Toyota      2
BMW         3

第二个数据集是

[Car Name] [Color] [Weight]
Honda      Blue    1500kg
Toyota     Red     1650kg

我需要提到两个数据集都是动态的,这意味着它们在所有列中将具有不同的输出。我要寻找的最终结果是这样的

[Car Name]

[Color]
[Weight]
...

此数据将包含在将要动态创建的几个矩形中。最终结果中的[Car Name]列是动态的,并连接到First Data Set中的[Row]列。因此,例如,从DataSet1获取数据的第一个矩形的值具有表达式

=First(IIf(Fields!Row.Value = 1, Fields!CarName.Value, 0),"DataSet1")

由于此数据是动态的,因此我仅需要从DataSet1动态显示的[Car Name]中显示[Color]和[Weight]的以下数据。如何过滤DataSet2以仅显示动态设置的[汽车名称]?我尝试在Tablix中使用过滤器,但是例如不能使用ReportItems!TextBoxXX.Value。

我无法在SQL级别解决此问题。

1 个答案:

答案 0 :(得分:0)

以下表达式为两个数据集中的相同汽车名称提供第二个数据集中的颜色。我不确定您要做什么,但这可能会帮助您:

'For the car color
=Lookup(Fields!CarNameDataset1.Value, Fields!CarNameDataset2.Value, Fields!CarColorDataset2.Value, "Dataset2")

您也可以将其放入过滤器表达式中。