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 を操作することで、以下の例のように、Crystal レポートのクロス集計にデータを表示することができました。
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
私が抱えている問題は、クロス集計内の超過列を計算する方法が見つからないことです。超過は承認されたクレジットによって計算されます-合計(クロス集計内の列)
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 関数が Crystal レポートでサポートされるようになりました xi どちらも計算メンバーではありません。ちょうど別のレンガの壁