2010-01-16 91 views
1

我有一个SQL查询像水晶报表(有)语句

SELECT 
      GNTD_SCHEDULE_CODE SCHEDULE, 
      GNTD_PARENT_ACCT PARENT_ACCOUNT, 
      GNTD_ACCOUNT_CODE ACCOUNT, 
      GNTD_COMP_CODE, 
      SUM(CONVERT(FLOAT, ISNULL(GNTD_CUR_MNTH_ACT, 0))) CURR_MONTH_END, 
      SUM(CONVERT(FLOAT, ISNULL(GNTD_PRV_PRD_ACT, 0))) PREV_MONTH_END, 
      SUM(CONVERT(FLOAT, ISNULL(GNTD_CUR_YEA_YTD_ACT, 0))) CURR_YEAR_END, 
      SUM(CONVERT(FLOAT, ISNULL(GNTD_LST_YEA_YTD_ACT, 0))) PRV_YEAR_END 
    FROM GLAS_NLMR_PROCESSED_DATA 
    WHERE GNTD_COMP_CODE = '1' 
AND GNTD_ACCT_TYPE = 'P' AND 
GNTD_DEP_CODE = isnull ('01' , GNTD_DEP_CODE) 
GROUP BY GNTD_COMP_CODE , GNTD_SCHEDULE_CODE , GNTD_PARENT_ACCT , GNTD_ACCOUNT_CODE 
HAVING (SUM (isnull (GNTD_CUR_YEA_YTD_ACT , 0)) <> 0) OR (SUM (isnull (GNTD_CUR_MNTH_ACT , 0)) <> 0) 

我使用asp.net水晶报表公式编辑器来CONVER上面的查询像

{GLAS_NLMR_PROCESSED_DATA.GNTD_COMP_CODE} = {?Company} and 
if({?Dept Code})="" 
then 
    {GLAS_NLMR_PROCESSED_DATA.GNTD_DEP_CODE}="01" 
else 
    {GLAS_NLMR_PROCESSED_DATA.GNTD_DEP_CODE} = {?Dept Code} and 

我不知道如何在Crystal报告中使用群组。

我该怎么办?

+3

@Domnic:我重新格式化了您的帖子,因为它不可读。随意使用预览和下一次格式化自己:) – 2010-01-16 09:39:15

回答

1

您可以通过右键单击添加分组,然后选择插入 - >分组,然后选择要分组的分组。重复此过程以添加更多组。

'有'在报告中有点棘手。你需要使用抑制公式。在组页脚中创建摘要字段(右键单击,插入 - >摘要,选择字段和'总和'操作)。然后,在部分专家,添加点击“禁止”按钮,添加一个像这样的公式:

WhilePrintingRecords; 
Sum({summary_field_name}) = 0; 

添加这个公式中的组头,详细信息及组页脚,然后再做一遍每个“有'条款,你想实施。

仅供参考 - 这可能会更有效地在数据库中完成,使用您已有的查询。

编辑:更多信息

您不使用公式编辑器创建摘要字段。如上所述使用插入 - >摘要来创建该字段。然后,在抑制公式中,从“报告字段”列表中选择新的汇总字段。它将被命名为'Sum of'

+0

公式编辑器,我已经使用 SUM(GNTD_CUR_MNTH_ACT) 所以不能得到插入(摘要)领域 – Domnic 2010-01-16 12:52:47

+0

我需要明确的信息 – Domnic 2010-01-18 04:55:53

+0

编辑答案提供一些细节 – Ray 2010-01-18 16:18:23