ssrs中有两个数据集问题?

时间:2013-02-20 22:23:23

标签: reporting-services dataset

我有一个列名'APPs%of total',它需要填充两个不同的数据集。这似乎不起作用。任何提示将不胜感激。感谢

=(Fields!AppQty.Value/Fields!AppQty.Value,"second dataset")

1 个答案:

答案 0 :(得分:1)

问题是:SSRS如何知道从第二个数据集中提取哪一行来获取字段?所以你必须使用聚合或查找:

方法1:只需在当前级别汇总

通常不需要为您的总和提供辅助数据集。您可以使用以下公式在当前数据集中的组级别进行聚合:

=Fields!AppQty.Value / SUM(Fields!AppQty.Value, "table1_Group1")

其中table1_Group1是汇总数据的组。

方法2:汇总整个数据集

在数据集级别汇总当前数据集或次要数据集:

=Fields!AppQty.Value / SUM(Fields!AppQty.Value, "SomeDataset")

方法3:查找其他数据集中的值

您需要一个对组级别的值求和的数据集。您通常使用方法1和分组来实现此结果,但这里是为了完整性。所以,假设您按DepartmentId进行分组,您将拥有一个如下聚合的数据集:

SELECT DepartmentId, SUM(AppQty) AS AppQty
FROM MyTable
GROUP BY DepartmentId

然后从当前行(在当前表的数据集中)中查找部门的相应值:

=Fields!AppQty.Value / Lookup(Fields!DepartmentId.Value, Fields!DepartmentId.Value, Fields!AppQty.Value, "SummaryDataset")

因此Lookup与此数据集中的DepartmentIdDepartmentId中的SummaryDataset匹配,并返回AppQty值。