2012-08-13 73 views
1

我在sql中有以下數據。Crystal Reports交叉表計算或動態列

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計算 - 總(交叉表內列)

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,但如果無法使用交叉表執行此操作,請選擇其他幫助。

我發現遠使用計算的成員具有值公式

ApprovedCredit - GridValueAt(CurrentRowIndex, 0 ,0) 

的GridValueAt功能現在由晶體報告XI支持既不是計算的成員創建的Crystal Report內的超限柱。只是另一個磚牆

回答

0

如果你可以計算你的超額上游價值,交叉表將很容易。如果您無法做到這一點,則需要將交叉表列和彙總字段值作爲公式的基礎,而不是數據源中的實際字段。在您的公式中,您返回想要出現在大多數列中的字段值,並計算要顯示在超出列中的值。