我正在使用报告标签 - >组排序专家 - >前n个获得前n个记录,但我在所有记录的报告页脚中得到了值的总和
我只需要前n个记录的值总和...
答案 0 :(得分:0)
在计算总摘要后,群组排序专家(以及记录排序专家)会干预您的最终结果。它无法过滤和删除行,就像SQL的ORDER BY子句不能影响SELECT的计数结果一样(这是WHERE子句的作业)。因此,您的摘要将始终针对您的详细信息部分的所有行进行计算,当然也适用于您的所有群组总和。
如果您想要以特定方式排除特定行以显示相应的总和,则可以使用“选择Crystal Reports专家”来删除行。
或者(我相信这是最好的方法),我会在SQL命令中进行所有必要的计算,然后我只向报告发送前3组的总和(然后你可以通过简单的方式得到你想要的东西)这3条记录的总摘要)
像这样的东西
CREATE TABLE #TEMP
(
DEP_NAME varchar(50),
MINVAL int,
RMAVAL int,
NETVAL int
)
INSERT INTO #TEMP
SELECT TOP 3
T.DEP_NAME ,T.MINVAL,T.RMAVAL,T.NETVAL
FROM
(SELECT DEP_NAME AS DEP_NAME,SUM(MINVAL) AS MINVAL,SUM(RMAVAL) AS
RMAVAL,SUM(NETVAL) AS NETVAL
FROM YOURTABLE
GROUP BY DEP_NAME) AS T
ORDER BY MINVAL DESC
SELECT * FROM #TEMP