Crystal Reports格式化包含多个字段的交叉表

时间:2015-06-16 18:31:30

标签: oracle11g crystal-reports

我在一个表格中查询数据,该表格在我的报告顶部有一个我想要的字段值,然后我要显示多个值。也许交叉表可以工作,但如果是这样,怎么样? (我对使用除交叉表以外的内容或以不同方式格式化原始数据的建议持开放态度。)

我的数据看起来像这样:

Record Type   Value1   Value2   PercentV1V2  Value3  PercentV1V3
 TypeA          10        100       10          50       20
 TypeB          20        40        50         200       10  
 TypeC          50        100       50          50      100

并且,我希望我的输出看起来像这样(这种格式不是那么可协商)

                  TypeA       TypeB         TypeC
  Set1Info
    Value1          10           20           50
    Value2         100           40          100
    PercentV1V2     10           50           50
  Set2Info
    Value3          50          200           50
    PercentV1V3     20           10          100

我一直在搞乱交叉表,我可以获得第一个值集。但似乎没有办法在交叉表中添加新行。

我认为我可以采用不同的方式格式化数据并使用交叉表,但我更愿意在我的程序中进行计算,而不是在Crystal中进行计算,如果可能的话。无论如何,它们不会是简单的总数。

So, if I formatted my data like so:
    Record Type   ValueType   Value   
     TypeA         Value1       10
     TypeA         Value2      100 
     TypeA         PercentV1V2  10   <-- this would take another pass to calculate
     TypeB         Value1       20

等,然后我认为交叉表会更好。但即便如此,我能否在Set1Info和Set2Info之间进行格式更改?

或者,有没有办法使用原始数据来获取顶部的类型和值,但不使用交叉表?我可以对标题进行硬编码,但这意味着显示的每个数字都必须是公式,对吧? (我需要将每个RecordType和ValueType匹配正确的数字。)

似乎我忽略了一些显而易见的事情,这是一种简单的方法。但有时使用Crystal,没有简单的方法。

1 个答案:

答案 0 :(得分:0)

在某种程度上,我理解你的问题和要求......看起来你所做的是正确的。

我想到的只有一个问题是使用Embeeded Summay

使用embeeded摘要并在require中添加一个空行,并将Set2Info添加为标题。

解决方案2:

您可以尝试的一个选项是创建公式@Group并手动操作行并创建一个组。

if RecordType = "Value1" or    RecordType = "Value2" or RecordType = "  PercentV1V2"
then "Set1info"

转到交叉表专家并将公式放在行的第一部分,以便根据需要进行分组并显示标题。