クロスタブ型レポートは、データを2次元(下方向と横方向)にグループ化します。クロスタブ型レポートは、情報を相互参照する形式で大量のデータをまとめる場合に便利です。
クロスタブ型レポートを作成するには、通常、最初に GROUP BY クエリーでデータを行に集約し、次に転置(ピボット)サービスを使ってグループ化された列を作成します。転置サービスは、データベースサーバー自体から提供されるか、カスタムプログラムを使用するか、C1Report の組み込みドメイン集計を使用できます。
どのような場合でも、クロスタブ型レポートの最も重要な要素は、元のデータの集約ビューです。たとえば、典型的な集約ビューは次のようになります。
年 | 四半期 | 金額 |
---|---|---|
1990 | 1 | 1.1 |
1990 | 2 | 1.2 |
1990 | 3 | 1.3 |
1990 | 4 | 1.4 |
1991 | 1 | 2.1 |
1991 | 2 | 2.2 |
1991 | 3 | 2.3 |
1991 | 4 | 2.4 |
各四半期に対応する列を追加し、値を新しい列に集約することで、このデータを転置します。
年 | 合計 | 四半期1 | 四半期2 | 四半期3 | 四半期4 |
---|---|---|---|---|---|
1990 | 5 | 1.1 | 1.2 | 1.3 | 1.4 |
1991 | 9 | 2.1 | 2.2 | 2.3 | 2.4 |
それには、C1Report の集計関数を使用します。レポートを年ごとにグループ化します。詳細セクションを非表示にし、グループヘッダに次の集計を入れます。
年 | 合計 | 四半期1 | 四半期2 | 四半期3 | 四半期4 |
---|---|---|---|---|---|
[Year] | Sum(Amount) | Sum(Amount, Quarter=1) | Sum(Amount, Quarter=2) | Sum(Amount, Quarter=3) | Sum(Amount, Quarter=4) |
最初の集計は、当年の売上合計を計算します。四半期ごとの集計では、集計を特定の四半期に限定するためにドメインを指定します。
CommonTasks.xml にあるレポート「20: クロスタブ型レポート」を参照してください。