1

我有一个包含三个数据集的 ssrs 报告。我想填充一个显示 =(Fields!Total_Hrs.Value, "Dataset3") 的列,没有“SUM(Total_Hrs)”,当我单击“类别”下的“数据集”时显示为选项。

使用 =(Fields!Total_Hrs.Value, "Dataset3") 的问题是我收到一条错误消息,指出“报表项表达式只能引用当前数据集范围内的字段,或者,如果在聚合内,指定的数据集范围。”

有人知道导致错误的原因吗?有没有办法让表达式窗口将我的字段显示为 DataSet3?

谢谢你。

4

1 回答 1

0

问题是 SSRS 应该如何知道您想要从哪一行Dataset3?所以你有两个选择:

选项 1:如果您想要每人的总小时数,请将主数据集中的总小时数作为嵌套查询计算包括在内,如下所示:

SELECT Person, Hours, TotalHours
FROM Time
INNER JOIN (
    SELECT Person, SUM(Hours) AS TotalHours 
    FROM Time 
    GROUP BY Person
) TotalTime ON Time.Person = TotalTime.Person

选项 2:如果它是一个真正的总计,只需Dataset3返回一行并对此使用聚合:

SELECT SUM(Hours) AS TotalHours
FROM Time

并在您的表达式中使用它与聚合:

=SUM(Fields!TotalHours, "Dataset3")
于 2012-12-17T22:00:56.920 回答