SSRS 报告中的查找功能

Kar*_*tel 3 lookup reporting-services ssrs-2008

我有一个数据集 Dataset1 并且我正在显示基于分组的数据。数据是这样的

   CityColumn      CountColumn
   City1              5
   City2              3
Run Code Online (Sandbox Code Playgroud)

上述数据的查询是这样的:

select count(*) as "CountColumn" from City group by CityColumn
Run Code Online (Sandbox Code Playgroud)

在上面的数据集中,我在CityColumn.

现在我创建了另一个数据集 Dataset2 并且数据是这样的

  CityColumn
   City1
   City2
   City3
Run Code Online (Sandbox Code Playgroud)

现在在 dataset2 中,我添加了一个名为 TotalCount 的计算字段并使用了查找函数,该函数是这样的

=Lookup(CityColumn, CityColumn, CountColumn, "Dataset1")
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误

查找包括聚合、行号、运行值、前一个或查找函数。Aggregate、rownumber、runningvalue、previous 或lookup 函数不能在计算字段中使用。

Ste*_*ite 5

查找函数的前两个值必须引用列中的标识值。在您的情况下,城市名称必须在两个数据集中。将其视为主键。第三个值是您要从第二个数据集中显示的值。所以它应该看起来更像这样:

=Lookup(Fields!CityColumn.Value, Fields!CityColumn.Value, Fields!CountColumn.Value, "Dataset1")
Run Code Online (Sandbox Code Playgroud)

确保 Dataset1 具有您要查找的名为 CountColumn 的列。请记住,这只会查找单个行,而不是聚合。如果您想使用聚合,您可以在查找功能之上执行此操作。

编辑:

由于计算字段中不允许使用查找函数,因此您需要在饼图中的值表达式中使用它。它应该是这样的:

在此处输入图片说明

请注意,查找函数必须像 sum 函数一样位于聚合中,才能用作图表值。