【问题标题】:Crystal Reports Crosstab Calculation or Dynamic ColumnsCrystal Reports 交叉表计算或动态列
【发布时间】:2012-08-13 15:50:10
【问题描述】:

我在sql中有以下数据。

Date |Customer|DespatchOrder|Value|ApprovedCredit
08/10|Axe     |AGB-01       |50   |200
08/12|Axe     |AGB-02       |75   |200
08/13|Axe     |AGB-03       |80   |200
08/15|Axe     |AGB-04       |10   |200
08/09|Vex     |VSE-01       |50   |150
08/10|Vex     |VSE-02       |60   |150
08/13|Vex     |VSE-03       |40   |150

通过 sql 中的一些操作,我设法在水晶报表的交叉表中显示我的数据,如下例所示:

AXE
Date |ApprovedCredit|Total|AGB-01|AGB-02|AGB-03|AGB-04
08/09|200           |0    |0     |0     |0     |0
08/10|200           |50   |50    |0     |0     |0
08/11|200           |50   |50    |0     |0     |0
08/12|200           |125  |50    |75    |0     |0
08/13|200           |205  |50    |75    |80    |0
08/14|200           |205  |50    |75    |80    |0
08/15|200           |215  |50    |75    |80    |10

VEX
Date |ApprovedCredit|Total|VSE-01|VSE-02|VSE-03
08/09|120           |50   |50    |0     |0     
08/10|120           |110  |50    |60    |0     
08/11|120           |110  |50    |60    |0     
08/12|120           |110  |50    |60    |0     
08/13|120           |150  |50    |60    |40    
08/14|120           |150  |50    |60    |40    
08/15|120           |150  |50    |60    |40    

我遇到的问题,我找不到计算交叉表内的超限列的方法,超限是通过approvedcredit-Total(交叉表内的列)计算的

AXE
Date |ApprovedCredit|Total|OverLimit|AGB-01|AGB-02|AGB-03|AGB-04
08/09|200           |0    |0        |0     |0     |0     |0
08/10|200           |50   |0        |50    |0     |0     |0
08/11|200           |50   |0        |50    |0     |0     |0
08/12|200           |125  |0        |50    |75    |0     |0
08/13|200           |205  |5        |50    |75    |80    |0
08/14|200           |205  |5        |50    |75    |80    |0
08/15|200           |215  |15       |50    |75    |80    |10

VEX
Date |ApprovedCredit|Total|OverLimit|VSE-01|VSE-02|VSE-03
08/09|120           |50   |0        |50    |0     |0     
08/10|120           |110  |0        |50    |60    |0     
08/11|120           |110  |0        |50    |60    |0     
08/12|120           |110  |0        |50    |60    |0     
08/13|120           |150  |30       |50    |60    |40    
08/14|120           |150  |30       |50    |60    |40    
08/15|120           |150  |30       |50    |60    |40    

如果您知道如何执行此操作,请提供帮助,我尝试在没有交叉表的情况下创建报告,但使用动态列标题没有成功。由于此报告的动态特性,我想继续使用交叉表,有时可能会有超过 10 个 DespatchOrders,但如果无法使用交叉表执行此操作,请提供替代方案。

我发现使用带有值公式的计算成员在 Crystal Report 内创建超限列

ApprovedCredit - GridValueAt(CurrentRowIndex, 0 ,0)

水晶报表现在支持 GridValueAt 函数 xi 既不是计算成员。只是另一堵砖墙

【问题讨论】:

    标签: sql crystal-reports crystal-reports-xi


    【解决方案1】:

    如果您可以在上游计算您的上限值,则交叉表将很容易。如果您不能这样做,则需要将交叉表列和汇总字段值基于公式,而不是数据源中的实际字段。在您的公式中,您返回要在大多数列中显示的字段值,并计算要在超限列中显示的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多