1

我正在使用报告选项卡-> 组排序专家-> 前 n 来获得前 n 条记录,但我在报告页脚中获得所有记录的值总和

我只想要前 n 条记录的总和...

在下图中,我选择了前 3 条记录,但它给出了所有记录的总和。 在此处输入图像描述

4

1 回答 1

0

在计算总摘要后,组排序专家(以及记录排序专家)会干预您的最终结果。它无法过滤和删除行,就像 SQL 的 ORDER BY 子句无法影响 SELECT 的计数结果一样(这是 WHERE 子句的工作)。因此,将始终为您的详细信息部分的所有行计算您的摘要,当然,也为您的所有组总和计算。

如果您想以特定方式排除特定行以显示适当的总和,则可以使用 Crystal Reports 的 Select Expert 删除行。

或者(我相信这是最好的方法),我会在 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
于 2017-07-24T14:34:39.763 回答