0

我在 Crystal 2011 中工作。我正在从 Sage CRM 数据库中的一个表中提取数据(不确定它是否是 SQL)。分组和排序应如下所示:

  1. 按日期(每月多个日期,希望按月分组并仅显示最近 12 个月)
  2. 按发票类型,我使用的 7 种类型中有 3 种

到目前为止,我已经创建了两个公式:

  • 选择过去 12 个月的月份并更改为年和月。

NumberVar monthValue := (month({table.CreatedDate})); 
 if(DateDiff("m", {table.CreatedDate}, CurrentDate) < 13) then 
     cstr(year({table.CreatedDate}),0,"") + "-" + cstr(Monthname(month({table.createdDate})))  
     else 
         "no"

选择专家中使用 no 删除任何超过 12 个月的记录

  • 第二个公式,选择发票类型,这个很好

我的问题是日期没有正确分组,而不是下面的列表

  • 2012-7月

    发票 €3423
    付款 € 323

  • 2012-9月

    发票 €3423
    付款 € 3234

  • 2012-10月

    付款 3423 欧元

    相反,我得到

  • 2012-8月

    发票 €3423
    付款 € 323

  • 2012-12月

    发票 €3423
    付款 € 3234

  • 2012-11月

    付款 3423 欧元

  • 2012-8月

    发票 €3423
    付款 € 323

我意识到日期是这样排序的,因为它按字母顺序排列,但是如何按年和月排序和分组并在图表中显示年月?

会计科目表

正如您在图表中看到的,日期没有按顺序排列,也没有正确分组。

我已经多次重新启动此报告。我到目前为止,然后它打破了。

4

1 回答 1

0

好的,这是一个非常冗长的问题,但是在再次阅读 No Stress Tech Guide 的第 11 章之后,我对报告如何接收数据并对其进行操作有了更好的理解。该报告现在按月份分组并排序以仅显示过去 12 个月的记录。

那我做了什么?

  1. 首先我创建了一个空白报告
  2. 创建图表并使用高级选项卡选择数据
  3. 更改(创建日期,发票类型)并显示(totalValue)的值
  4. 在创建日期按下订单按钮并设置此部分将在每个月打印
  5. 选择专家并将创建日期论坛设置为 DateDiff("m", {table.CreatedDate}, CurrentDate) < 13) (因此不需要外部公式。
  6. 使用 Select Expert 仅显示我想要的发票类型

到目前为止,一切都很好,现在只需稍微调整一下,这就是成品的样子。 在此处输入图像描述

于 2013-07-29T15:23:37.033 回答