我有一个列名“APPs % of total”,它需要填充两个不同的数据集。这似乎不起作用。任何提示将不胜感激。谢谢
=(Fields!AppQty.Value/Fields!AppQty.Value,"second dataset")
我有一个列名“APPs % of total”,它需要填充两个不同的数据集。这似乎不起作用。任何提示将不胜感激。谢谢
=(Fields!AppQty.Value/Fields!AppQty.Value,"second dataset")
问题是:SSRS 如何知道从第二个数据集中提取哪一行来获取字段?所以你必须使用聚合或查找:
方法一:简单聚合在当前级别
通常不需要仅用于总和的辅助数据集。您可以使用以下公式在当前数据集中的组级别进行聚合:
=Fields!AppQty.Value / SUM(Fields!AppQty.Value, "table1_Group1")
wheretable1_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")
因此 将来自该数据集的 与inLookup
匹配并返回值。DepartmentId
DepartmentId
SummaryDataset
AppQty