作成日: 2020/04/15 最終更新日: 2020/07/21
文書種別
使用方法
詳細
Tablixデータ領域のセルを動的に結合したい場合、以下の方法が有効です。
- 同じ値を出力するセルを自動的に結合する方法
Tablixデータ領域の行グループ/列グループに含まれるセルは同一グループの場合、自動的に結合されます。
それ以外のセルはデフォルトでは結合されませんが、AutoMergeプロパティを設定することで、同じ値が連続する場合に自動的に結合されるようになります。
詳しくは製品ヘルプの「データ領域のセルの結合」をご参照ください。
- デザイン時に設定した結合有無を動的に変更する方法
Tablixデータ領域では、デザイン時にセルを結合することができます。
この結合有無を動的に変更する直接的な機能はありませんが、代替案として、「セルを結合する行/列」と「セルを結合しない行/列」を用意しておき、それらの表示有無を制御するという方法が有効です。
本文書では一例として、以下の出力結果を得るレポートの作成方法を説明します。
「分類」に含まれる「番号」が1つのみの場合、行ヘッダを結合するという仕様を想定します。
◆データ例
分類,番号,数量 A,1,100 A,2,200 A,3,300 B,1,50 C,1,70 D,1,220 D,2,160
Tablixをレポートに配置し、以下の手順でレイアウトを構成します。
- 行ヘッダに「分類」フィールドを設定する。
- 子グループを追加し、「分類」フィールドを設定する。
- 下に隣接するグループを追加し、「分類」フィールドを設定する。
- 上側のグループに子グループを追加し、「番号」フィールドを設定する。
- 下側のグループに属するセルを結合する。
- 集計セルに「数量」フィールドを設定する。
- 左端の列を削除する(※行グループは削除しない)。
- 列ヘッダや罫線など、表示を整える。
この段階でプレビューすると、以下のように表示されます。
分類ごとに「結合していないグループ」と「結合しているグループ」が交互に出力される状態となっています。
ここから不要なグループを非表示にします。 - 該当する行グループのHiddenプロパティにそれぞれ以下の式を設定する。
・結合していないグループ(Tablix1_分類2)の設定 =iif(count(Fields!番号.Value)=1,true,false) ・結合しているグループ(Tablix1_分類3)の設定 =iif(count(Fields!番号.Value)=1,false,true)
グループに含まれる「番号」フィールドの数(行数)をカウントし、1行のみか否かで表示有無を変更します。
「行ヘッダのセル」ではなく、「行グループ」のプロパティを設定することにご注意ください。
グループエディタ上でクリックすると、プロパティウィンドウに表示されます。
以上で、最初に提示した出力結果を得ることができます。
サンプルはこちら
関連情報
旧文書番号
85437