テンプレートへのコンポーネントの挿入

この項には、テンプレートへのコンポーネントの挿入に関する詳細を説明するトピックが含まれています。

フィールドの挿入

このダイアログでは、データ・ソースからデータ要素を選択し、テンプレートに挿入できます。

「挿入」グループで「フィールド」を選択すると、「フィールド」ダイアログが開きます。次の図に示すように、ロードされたデータソースの構造がダイアログにツリー表示で表示されます。

単一のデータ・フィールド(ツリーのリーフ・ノード)に相当するフィールドを選択し、「挿入」を選択します(フィールドを挿入するには、文書にドラッグ・アンド・ドロップする方法、およびフィールドをダブルクリックする方法もあります)。非表示のPublisherコマンドが含まれるテキスト・フォーム・フィールドが、テンプレート内のカーソル位置に挿入されます。他のデータ・フィールドを追加選択して挿入するか、または「閉じる」ボタンをクリックしてダイアログを閉じることができます。

「フィールドの挿入」ダイアログについて

「フィールド」ダイアログのフィールドについて、次の各項で説明します。

「フィールドの挿入」ダイアログのフィールドについては、後続の各項で説明します。

検索

大きくて複雑な構造を持つXML文書の場合は、検索機能を使用して特定のフィールドを検索します。検索するフィールド名の部分文字列を「検索」フィールドに入力し、「次を検索」をクリックします。

検索式が含まれるデータ要素の次の出現箇所が選択されます。もう1度「次を検索」ボタンをクリックすると、次の出現箇所が表示されます。

ツリー表示でフィールド名を選択すると、このフィールドのサンプル値が表示されます。

LTR方向を強制(左から右)

「LTR方向を強制」チェック・ボックスが必要になるのは、アラビア語やヘブライ語など、右から左に文字を書く言語でテンプレートを使用している場合にかぎります。

電話番号、アドレス、郵便番号、銀行の口座番号など、フィールドに対して左から右に入力するには、この機能を使用します。

計算

「計算」機能を使用すると、データ・フィールドに対して合計、平均、件数、最小および最大などの集計関数を実行できます。

たとえば、特定のデータ・フィールドで「合計」を選択すると、フィールドには、グループ化に応じてこのデータ・フィールドで発生するすべての値の合計が表示されます。

どのフィールドが累計されるかを正確に把握するには、グループ化のコンテキスト(GおよびEフォーム・フィールドでマーク付け)を理解することが重要です。累計関数を持つデータ・フィールドを繰返しセクション(「G」およ「E」処理指示フォーム・フィールドでマーク付け)に挿入する場合は、「グループ化」を選択して、グループ内の出現箇所のデータを累計する必要があります。累計対象をグループに限定しない場合は、累計フィールドをグループ外に置いてください。

次の図に、グループ化コンテキストの例を示します。

また、累計関数が機能するには、データ・フィールドが有効なXSL数である必要があることにも注意してください。書式付きの数値は、Publisherでは処理できません(たとえば、3桁区切りを使用している数値10,000,000.00は処理できません)。

Template Builderを使用するテンプレートのグループの詳細は、繰返しグループの挿入およびグループの定義を参照してください。

表ウィザードを使用した表の挿入

表の挿入ウィザードを使用すると、標準的なレポートを作成できます。「挿入」メニューで「表ウィザード」を選択し、次のステップを実行します。

ステップ1: レポート・フォーマットの選択

最初に基本的なレポート・フォーマットを選択します。

「表」「フォーム」または「フリー・フォーム」から選択します。次の図に、各フォーマットの例を示します。

ステップ2: 表データの選択

XML文書は、複数のグループ化されたデータ・セットを含むことができます。

たとえば、発注書XML文書はヘッダー・レベル情報、行、出荷、および連絡先を含むことができます。

このステップでは、表に必要なデータを含むデータ・グループを選択します。

たとえば、残高通知サンプルRTFテンプレート(Template BuilderによりOracle\Oracle Analytics Publisher\Oracle Analytics Publisher Desktop\samples\RTF Templatesにインストールされたファイル内にあります)の場合、サンプルXMLファイルには次の3つのデータ・グループが含まれています。

  • ARXCOBLX/G_CUSTOMER

  • ARXCOBLX/G_CUSTOMER/G_CURRENCY

  • ARXCOBLX/G_CUSTOMER/G_CURRENCY/G_INVOICES

表ウィザードには、XMLデータ・ファイルで利用できるデータ・グループのリストが表示されます。表のデータ・フィールドを含むグループを選択してください。

次の図は、表ウィザードのステップ2: 表データの選択を示しています。

データに含まれている請求書を記載する表を構築するには、次を選択します。

ARXCOBLX/G_CUSTOMER/G_CURRENCY/G_INVOICES

データ・セットとして。

ステップ3: データ・フィールドの選択

表ウィザードには、選択したデータ・セットからのデータ・フィールドが表示されます。

次の図は、表ウィザードのステップ3: データ・フィールドの選択を示しています。

シャトル・ボタンを使用して、表に表示するデータ・フィールドを選択します。上矢印と下矢印を使用して、選択後にフィールドを並べ替えます。

ステップ4: 表のグループ化

このステップでは、特定のフィールドによってデータを再グループ化できます。

これはオプションです。

たとえば、請求書の表を構築している場合、レポートにおいて、グループ化対象の特定のタイプまたは日付のすべての請求書をグループ化する必要があることがあります。

次の図は、表ウィザードのステップ4: 表のグループ化を示しています。

グループ化オプションには「グループ左」と「グループ上」の2つがあります。「グループ左」を選択すると、ネストした表が作成されます。外部表の左側に「グループ基準」フィールドが表示されます。「グループ上」を選択すると、グループ基準フィールドの新しい値ごとに新しい表が作成され、グループ基準フィールドの値が表タイトルとして表示されます。

例を示します。

次の図に示すように、「グループ左」を使用すると、要素の出現を基準にしてグループがグループ化されます。

次の図に示すように、「グループ上」を使用すると、結果はヘッダー付きの表として表示されます。

グループ化する要素を選択すると、Publisherはグループ化要素によってデータをソートします。データがグループ化要素によってすでにソートされている場合は、「データはソート済」チェック・ボックスを選択します。これを選択すると、パフォーマンスが向上します。

ステップ5: グループでのブレークの挿入

「区切り」オプションを使用すると、このグループが出現するたびに、ページまたはセクションの区切りを挿入できます。

セクションは、トップレベルのグループにのみ作成できます。後続のグループ化オプションには、改ページオプションのみが表示されます。

ページの区切りでは、次のグループが新しいページで開始されます。セクションの区切りでは、次のグループが新しいページで開始され、ページ採番、ヘッダーとフッターがリセットされ、さらにグループの出現ごとに実行中の計算がリセットされます。

ステップ6: 表のソート

表のデータを最大4つの異なるフィールドでソートできます。

フィールドを1つ選択してソート順序(昇順または降順)を定義し、フィールドについて正しいデータ型を選択します。たとえば、「テキスト」を選択すると、12は2の前に表示されます(英数字順)。「数値」を選択すると、2は12の前に表示されます。

次の図は、表ウィザードのステップ6: 表のソートを示しています。

ステップ7: 「終了」のクリック

「終了」をクリックして表を作成し、Microsoft Word文書に挿入します。

ステップ8: Microsoft Wordの機能を使用した表のカスタマイズ

Microsoft Wordの書式設定コマンドを使用して、フォント、色、列のサイズ、境界、網掛けなどを変更して表をカスタマイズします。

「表/フォームの挿入」ダイアログを使用した表またはフォームの挿入

「表/フォームの挿入」ダイアログは、Template Builderの最も柔軟なツールです。これを使用すると、次のタスクを実行できます。

  • 単純な表または可変数の行を含むネストした表の作成

  • データ要素(完全な請求書や発注明細など)のグループと、データ要素の出現箇所ごとに文書内で繰り返されるフォームとの関連付け

  • テンプレート内の全データ・フィールドのレイアウトの選択と定義

  • データのグループ化または再グループ化

「表/フォームの挿入」ダイアログには、2つのツリー表示ペインが表示されます。左ペインにはデータソースの構造が表示され、右ペインには「挿入」ボタンをクリックしたときにテンプレートにコピーされる要素が表示されます。

データ・フィールドの選択

最初に、テンプレートに挿入するデータ・フィールドを選択し、そのフォーマットを定義します。

左側の「データソース」ペインから右側の「テンプレート」ペインにXML要素をドラッグして選択します。XML要素に子がある場合は、次のオプションが含まれたポップアップ・メニューが表示されます。

  • 単独ノードをドロップ
  • すべてのノードをドロップ
  • 取消

選択したノードのみを移動する場合は「単独ノードをドロップ」、ノードとそのすべての子を移動する場合は「すべてのノードをドロップ」を選択します。

左側の「データソース」ペインから右側の「テンプレート」ペインにさらにデータ・フィールドをドラッグすると、ノードを離したのと同じレベル(「同一レベル」)またはノードの下(「子」)に挿入されます。ノードの挿入位置は「挿入位置」ボックスで定義します。

ドラッグ・アンド・ドロップに左マウス・ボタンを使用すると、ノードとそのすべての子がコピーされます。一方、ドラッグに右マウス・ボタンを使用すると、マウス・ボタンを離した時点でダイアログが表示されます。このダイアログでオプションを選択し、選択したノードのみをコピーするか、選択したノードとそのすべての子をコピーできます。

レイアウトの定義

右側の「テンプレート」ペインで要素を選択すると、そのプロパティとノードのレンダリングのプレビューが表示されます。

ノードには、次の2種類があります。

  • データ・フィールド

  • データ・グループ

データ・フィールド・ノード(リーフ・ノード)には、子ノードはありません。この種のノードは、請求書の金額合計や発注明細の小計のように単純な属性を表します。

データ・グループ・ノード(親ノード)は、子ノードを持つノードです。通常、これらはデータ属性を表すのではなく、データのグループ(請求書、発注書、発注明細、出荷など)を表します。

データ・フィールドのプロパティ

データ・フィールド・ノードを選択すると、そのプロパティが「プロパティ」ペインに表示されます。次のオプションを使用して、Template Builderでのフィールドの表示方法を記述します。

  • 計算

    データ・フィールド用に集計関数を1つ選択できます。これらの関数(count以外)は、関数を使用するコンテキスト内にデータ・フィールドが複数存在する場合にのみ有効です。

  • LTR方向を強制(左から右)

    このオプションが必要になるのは、アラビア語やヘブライ語など、右から左に文字を表示する言語でテンプレートを使用している場合にかぎります。電話番号、アドレス、郵便番号、銀行の口座番号など、フィールドに対して左から右に入力するには、このオプションを使用します。

データ・グループのプロパティ

データ要素の表示順序には、表の列の順序が反映されます。列を並べ替える場合は、「挿入位置」ボックスを「子」から「同一レベル」に変更します。次に、各要素を正しい順序になるようにドラッグします。

データ・グループ・ノードを選択すると、そのプロパティが「プロパティ」ペインに表示されます。次のオプションを使用して、Template Builderでのグループの表示方法を記述します。

  • スタイル

    ヘッダーを使用してデータを表に横に表示するには、「表」を選択します。フィールドにラベルを付けて表に縦に表示するには、「フォーム」を使用します。フィールドを、この要素について繰り返す必要のあるフリー・フォーム・テキスト・セクションに挿入する場合は、「フリー・フォーム」を選択します。

  • グループ化

    グループ化は、データ内の特定の要素でデータをグループ化できる高度な操作です。たとえば、すべての請求書を顧客別にグループ化できます。選択した要素の子要素をグループ化基準として選択できます。ノードのグループ化を参照してください。

  • グループ化値の表示

    このプロパティが表示されるのは、「グループ化」機能で作成されたノードを選択した場合のみです。デフォルトでは、データのグループ化基準として選択したフィールドがレポートに表示されます。グループ化データ・フィールドを表示しない場合は、「いいえ」を選択します。

  • ソート基準

    データ・グループのソート基準となる要素を選択できます。

  • ソート順序

    「ソート基準」で要素を選択した場合は、データを昇順でソートするか降順でソートするかを選択できます。

  • データ型のソート

    「ソート基準」で要素を選択した場合は、デフォルトでデータがテキストとしてソートされます。つまり、12は111の後に表示されます。データが数値の場合は、「データ型のソート」で「数値」を選択します。

  • 区切り

    このプロパティを使用すると、各データ・グループ間にページ区切りまたはセクション区切りを挿入できます。「要素ごとの新規ページ」を選択すると、最初の出現箇所以後、各要素間にページ区切りが挿入されます。

    ヒント:

    要素の最初の出現箇所の前にページ区切りを挿入するには、Microsoft Wordの改ページ・コマンドを使用します。

    「要素ごとの新規セクション」を選択すると、データ・グループごとにセクション区切りが作成されます。セクション区切りには、ページ区切りを挿入し、ページ番号をリセットし、ヘッダーとフッターに新規データを表示できるという効果があります。このオプションは通常、複数の文書(例: 請求書や発注書)を単一のPDFファイルに出力する場合に使用します。

表とフォームの挿入

すべてのデータ・フィールドをドラッグしてレイアウトを定義した後、「挿入」ボタンを選択して、表とフォームを文書内のカーソル位置に挿入します。

ノードのグループ化

すべてのデータ・グループ・ノードは、その任意の子データ・フィールド・ノードでグループ化できます。たとえば、複数四半期の販売データがある場合は、販売データを四半期別に編成して表示できます。この場合は、販売データ行を四半期要素でグループ化します。

次の構造を考えてみます。

Sales Transaction
       Quarter
       Customer
       Amount

ノード(販売取引)の子ノードをグループ化するには、子ノードの1つ(四半期)を親ノード(販売取引)のグループ化プロパティとして選択します。Template Builderが、このノード(四半期)を他の子ノード(顧客および金額)の親にします。

新しい構造は次のようになります。

Sales Transaction
       Quarter
            Customer
            Amount

グループ化基準(四半期)は、子を持つ他のデータ・グループ・ノードと同様に動作します。つまり、 「表として作成」、「スタイル」、「ラベル」、「グループ化」 および 「グループ化値の表示」 プロパティを使用して、子のレイアウトを定義できます。

テンプレートに挿入するフィールドの理解

テンプレート内のフィールドのタイプには、明確な違いがあります。

「表/フォームの挿入」ダイアログでは、次の2種類のフォーム・フィールドが作成されます。

  • データ要素を示すフォーム・フィールド
  • 表の行またはドキュメント・セクションを繰り返すための処理の指示を含むフォーム・フィールド

データ要素を表すフォーム・フィールドは、テンプレートの処理時にデータに置換されます。繰返しセクションを示すフォーム・フィールドは、ドキュメント内にfor-eachおよびend for-eachで示されます。

フォーム・フィールドの表示オプションとして「省略」を選択した場合は、フォーム・フィールドのfor-eachがF、end for-eachがEと表示されます。ドキュメントのうち、これら2つの要素でカプセル化されているセクションは、関連付けられているデータ要素がデータ内で繰り返される場合に繰り返されます。

チャートの挿入

「チャート」ダイアログを使用して、チャートをテンプレートに挿入します。

次の図に、「チャート」ダイアログを示します。

チャート・タイプ

Publisherは、様々なチャート・タイプをサポートしています。このテンプレートのチャート・タイプを選択するには、「タイプ」リストを展開します。

測定するデータ値を「値」フィールドにドラッグ・アンド・ドロップします(SALESなど)。

複数の値要素(メジャー)を選択できます。

「値」フィールドは、選択したチャート・タイプに応じて変化します。

  • 組合せグラフ: 3つのフィールドで値を選択できます。

  • 散布図: 値のペアが比較されます。比較対象のXおよびYデータ要素をドラッグ・アンド・ドロップします。

  • バブル・グラフ: 3つの値セットが比較されます。散布図と同様に、第3の値はバブルのサイズとして表示されます。

  • 株式グラフ: 株式グラフの始値、高値、安値、終値および出来高を表す要素をドラッグ・アンド・ドロップします。

集計

合計、件数、平均などを計算するには、「プロパティ」ペインの「集計」オプションを使用します。

値データの集計方法として合計、件数または平均を選択できます。

ラベル

チャート化した値を表示するデータ要素(年など)をドラッグ・アンド・ドロップします。

チャートに表示する前にラベル要素の出現箇所をグループ化するには、「グループ・データ」を選択します。たとえば、年度別売上チャートを作成する場合、「グループ・データ」を選択すると年の値が累計されるため、グラフでは各年の出現箇所が1つのみ表示されます。「グループ・データ」を選択しなければ、データに含まれる年のすべての出現箇所の値が個別に描画されます。

チャートにシリーズ要素を追加する場合は、シリーズとして表示する要素をドラッグ・アンド・ドロップします。各値がグラフに新しい色として表示されます。

チャートはグループ内にある

チャートがグループ内にあり、グループ内のデータ要素の出現箇所のデータのみをチャートに表示する場合は、このボックスを選択します。

スタイル

チャートのカラー・スキームとスタイルを選択します。

プロパティ

「プロパティ」リージョンでは、値とラベルの表示名を変更し、チャートの色、フォントおよびその他の表示オプションを選択できます。

「プロパティ」リストは、選択したチャートに応じて変化します。

プレビュー

「プレビュー」をクリックすると、サンプル・データによるチャートが表示されます。

グループ・データ

デフォルトでは、データは「値」要素によってグループ化され、合計によって集計されます。

「グループ・データ」チェック・ボックスの選択を解除すると、値要素の各出現箇所がチャートに示され、集計機能は使用できなくなります。

挿入したチャートの編集

テンプレートにすでに挿入されているチャートを編集するには、チャートを右クリックしてメニューから「BI Publisherチャート」を選択します。「チャート」ダイアログが起動し、チャートを編集できるようになります。

繰返しグループの挿入

繰返しグループを挿入するには、次のステップに従います。

繰返しグループを挿入するには:
  1. テンプレートのうち、繰り返す要素を含んだセクションを選択します。
  2. Publisherメニューの「挿入」グループで、「繰返しグループ」をクリックします。
  3. 次の図に示すように、Publisherのプロパティ・ダイアログで該当するフィールドに入力します。

    出現箇所ごとにループを繰り返す要素を選択します。「各」データ・フィールドを選択すると、データ内で選択したフィールドが出現するたびにループ内に含まれる要素および処理命令が繰り返されるようにPublisherを指示することになります。

    たとえば、データに顧客の請求書データが含まれており、各顧客の請求書の表を作成する必要があるとします。この場合、顧客番号ごとに表を繰り返す必要があります。このため、「各」フィールドで顧客番号を選択して顧客ごとに新しいループ(またはグループ)を作成します。

    繰返しグループの作成について、次に注意してください。

    • 他のグループ内にないループとグループ(つまり、外部グループまたはループ)の場合は、使用する繰返しXML要素を選択する必要があります。たとえば、データ・セットがフラットな場合、繰返し可能な要素は/DATA/ROWSET/ROWのみです。複数のデータ・ソースまたは階層形式のXMLの場合は、データ・セットを選択できます。

    • ネストされたグループを作成する(ループまたはグループをテンプレート内の別のループ内に挿入する)場合は、既存の外部ループで定義済のため、「各」フィールドは更新できません。「各」フィールドは「グループ・アイテム」として表示され、外部グループが定義済であることが示されます。

    絶対パス

    XML構造の要素への絶対パスを使用するには、このチェック・ボックスを選択します。これは、データ内で複数の親要素の下位に同名の要素がグループ化されている場合に重要です。

    グループ基準

    リストから、データのグループ化に使用するフィールドを選択します。単に単純なループを作成すればよい場合は、グループ基準要素を選択しないでください。グループ基準要素を選択すると、実際には、グループ基準要素に基づいてデータが新規階層に再グループ化されます。

    区切り

    このグループの各出現箇所の後に区切りを挿入する場合は、このオプションを使用してページ区切りまたはセクション区切りを作成します。

    セクション区切りは、ドキュメント全体を包囲する外部グループにのみ作成できます。選択したフィールドが外部グループでない場合は、セクション区切りのオプションは利用できません。

    セクション区切りを挿入すると、ページ採番、ヘッダーとフッターがリセットされ、さらにグループの出現箇所ごとに実行中の計算がリセットされることにも注意してください。

  4. グループ化されたデータをソートするには、「ソート」タブを選択します。ソート基準フィールドを最大4つまで選択できます。ソート基準フィールドごとに、次の選択を行います。

    ソート順序: 「昇順」または「降順」を選択します。

    データ型: 「数値」または「日付/テキスト」を選択します。必要なソート順序でソートするには、正しいデータ型を選択することが重要です。

    4つの基準でソートする場合、XMLデータ要素名が長いと、Microsoft Wordのフォーム・フィールドの文字長制限(393文字)を超える可能性があります。

  5. 「詳細」タブでは、コードを直接編集し、フィールドの「表示するテキスト」にテキストを入力できます。

    「コード」リージョンには、Template Builderがフィールドに対して挿入したコードと処理命令が表示されます。このフィールドの処理命令を変更する場合は、これを編集できます。

    「表示するテキスト」フィールドには、このフィールドがテンプレートでどのように表示されるかが示されます。テンプレートを読むときに各フィールドを理解しやすいように、わかりやすいテキストを入力するか、またはテンプレートのルック・アンド・フィールにあまり影響しないテキスト・エントリの省略形を入力するかを選択できます。

    「オプション」タブを使用して、デフォルトの表示テキストを「記述」または「省略」として設定できます。

    次の図に、Publisherのプロパティ・ダイアログの「詳細」タブを示します。

  6. ダイアログのオプション指定が完了したら、「OK」をクリックします。これにより、フォーム・フィールドがテンプレートに挿入されます。デフォルトでは、開始のfor-eachフォーム・フィールドにテキスト「F」が表示され、選択したテンプレート・セクションの先頭に挿入されます。選択範囲の最後に、繰返しグループの終わりを示す「E」フォーム・フィールドが挿入されます。

既存のブロックを囲むグループ化フィールドの作成

テンプレートのテキストまたは要素の既存のブロックの周りにグループを作成するには、次のステップに従います。

  1. テキスト・ブロックを選択します。たとえば、表の行を選択します。

    Publisherの既存のタグがブロックに含まれている場合は、開始タグと終了タグを含める必要があります。たとえば、開始のfor-each、ifまたはfor-each-groupタグがブロックに含まれる場合は、選択範囲内にend for-each、end-ifおよびend for-each-groupタグを含める必要があります。

  2. Publisherメニューの「挿入」グループで、「繰返しグループ」をクリックします。
  3. 「プロパティ」ダイアログで、繰返しグループを定義するフィールドを入力します。
  4. OK」をクリックして、ブロックを取り囲むグループ化フィールドを挿入します。たとえば、ブロックが表の行の場合は、開始フィールドが最初のセルの先頭に挿入され、終了フィールドが最後のフィールドの末尾に挿入されます。

ピボット・テーブルの挿入

ピボット・テーブルを挿入するには、次のステップに従います。

ピボット・テーブルを挿入するには:
  1. Publisherメニューの「挿入」グループで、「ピボット・テーブル」をクリックします。「ピボット・テーブル」ダイアログでは、左ペインにデータが表示され、右側にデータ要素をドラッグ・アンド・ドロップするための空の「レイアウト」ペインが表示されます。次の図に「ピボット・テーブル」ダイアログを示します。
  2. 「データ」ペインから「レイアウト」ペインに要素をドラッグ・アンド・ドロップして、ピボット・テーブル構造を作成します。次の図のレイアウトは、年(YEAR)別および月(MONTH)別に累計された業種(INDUSTRY)別売上(SALES)を示しています。
  3. 「プロパティ」ペインを使用して「集計」を選択します。「合計」、「件数」、または「平均」を選択できます。次に、次の図に示すように、数値の「フォーマット」を選択します。
  4. デフォルトでは、行と列の小計が表示されます。プロパティを「False」に設定すると、小計が表示されなくなります。

    次の図は、小計と合計を設定するプロパティを示しています。

  5. 「プレビュー」をクリックすると、ピボット・テーブルをテンプレートに挿入する前に、どのように表示されるかを確認できます。ピボット・テーブルをテンプレートに挿入するには「OK」をクリックします。次の図は、ピボット・テーブルがテンプレートにどのように表示されるかを示しています。

    このピボット・テーブルは実行時に、次の表に示すように生成されます。

ピボット・テーブルの手動編集

この項は、ピボット・テーブル・ビルダーで挿入されたコードについて説明します。

Template Builderでピボット・テーブルを挿入する場合は、次の構造のPublisherコマンドが挿入されます。

<?crosstab: ctvarname; "data-element"; "rows"; "columns"; "measures"; "aggregation"?>
パラメータ 説明

Ctvarname

クロス集計変数名。これは、アドインで自動生成されます。

C123

data-element

これは、ピボット・テーブルに組み込まれるデータ要素を含むXMLデータ要素です。ピボット・テーブルが繰返しグループ内にある場合は、予期する結果を得るために、このフィールドを手動編集する必要があります。この項に続く表を参照してください。

"//ROW"

rows

このパラメータにより、行ヘッダーのXML要素を定義します。順序付け情報は、{" and "}内で指定します。最初の属性はソート要素です。指定されていない場合は、ソート要素として行ヘッダー要素を使用します。

サポートされる属性は次のとおりです。

  • o: ソート順序を指定します。有効な値は、aの昇順またはdの降順です。

  • t: データ型を指定します。有効な値は、tのテキストまたはnの数値です。

たとえば、次のように2つ以上のソート要素を指定できます。

"emp-full-name {emp-lastname,o=a,t=n}{emp-firstname,o=a,t=n}"

従業員を姓および名でソートします。ソート要素は、データ・セット内の任意の要素に指定可能で、ピボット・テーブルに含まれている必要はないことに注意してください。前述の例では、emp-lastnameおよびemp-firstnameがピボット・テーブルに含まれている要素である必要はありません。

"REGION{,o=a,t=t}, DISTRICT{,o=a,t=t}"

この例では、最初の行ヘッダーはREGIONです。REGIONでソートされ、ソート順序は昇順、型はテキストになります。第2の行ヘッダーはDISTRICTです。DISTRICTでソートされ、ソート順序は昇順、型はテキストになります。

columns

このパラメータにより、列ヘッダーのXML要素を定義します。順序付け情報は、{" and "}内で指定します。最初の属性はソート要素です。指定されていない場合は、ソート要素として列ヘッダー要素を使用します。

サポートされる属性は次のとおりです。

  • o: ソート順序を指定します。有効な値は、aの昇順またはdの降順です。

  • t: データ型を指定します。有効な値は、tのテキストまたはnの数値です。

たとえば、次のように2つ以上のソート要素を指定できます。

"emp-full-name {emp-lastname,o=a,t=n}{emp-firstname,o=a,t=n}"

従業員を姓および名でソートします。ソート要素は、データ・セット内の任意の要素に指定可能で、ピボット・テーブルに含まれている必要はないことに注意してください。前述の例では、emp-lastnameおよびemp-firstnameがピボット・テーブルに含まれている要素である必要はありません。

"ProductsBrand{,o=a,t=t}, PeriodYear{,o=a,t=t}"

この例では、最初の列ヘッダーはProductsBrandです。ProductsBrandでソートされ、ソート順序は昇順、型はテキストになります。第2の列ヘッダーはPeriodYearです。PeriodYearでソートされ、ソート順序は昇順、型はテキストになります。

measures

このパラメータにより、メジャーとして使用されるXML要素を定義します。

"Revenue, PrevRevenue"

aggregation

このパラメータにより、集計関数を指定します。現在、サポートされている値はsumのみです。

"sum"

この例では、次のXMLデータを使用します。

- <ROWSET>
- <ROW>
  <ProductsType>COATINGS</ProductsType> 
  <ProductsBrand>Enterprise</ProductsBrand>   <Region>CENTRAL REGION</Region> 
  <District>CHICAGO DISTRICT</District> 
  <PeriodYear>1998</PeriodYear> 
  <Revenue>1555548.0</Revenue> 
  <PrevRevenue>125968</PrevRevenue> 
  <Units>11</Units> 
  </ROW>
...
</ROWSET>

完全なデータ・セットには、ピボット・テーブルに表示されるProductsBrandの4つの値、Regionの4つの値およびPeriodYearの2つの値が含まれています。

Template Builder for WordとサンプルXMLファイルを使用して、次の図に示すようなピボット・テーブルを作成できます。

このピボット・テーブルの生成済XDOコマンドは次のとおりです。

<?crosstab:c4536;"//ROW";"Region{,o=a,t=t},District{,o=a,t=t}";"PeriodYear{,o=a,t=t},ProductsBrand{,o=a,t=t}";"Revenue,PrevRevenue";"sum"?>

指定のXMLデータファイルでコマンドを実行すると、このXMLファイルのcttree.xmlが生成されます。cttree.xmlの各XPathは次の表で説明します。この表の情報により、Publisherでピボット・テーブルを構築する方法を理解できます。生成済のcttree.xmlファイルに、表示または更新のためにアクセスすることはできません。

要素 XPath 件数 説明

C0

/cttree/C0

1

これには、列に関連する要素が含まれています。

C1

/cttree/C0/C1

4

第1レベルの列はProductsBrandです。ラベルH要素に表示される4つの個別値があります。

CS

/cttree/C0/C1/CS

4

列の幅の値です。ピボット・テーブルの書式設定に使用します。

H

/cttree/C0/C1/H

4

列ヘッダーのラベルです。Enterprise、Magicolor、McCloskeyおよびValsparの4つの個別値があります。

T1

/cttree/C0/C1/T1

4

メジャー1のRevenueの合計です。

T2

/cttree/C0/C1/T2

4

メジャー2のPrevRevenueの合計です。

C2

/cttree/C0/C1/C2

8

第1レベルの列はPeriodYearで、第2はグループ化キーです。2001および2002の2つの個別値があります。

H

/cttree/C0/C1/C2/H

8

列ヘッダーのラベルです。2001および2002の2つの個別値があります。これはC1の下にあるため、エントリの合計数は4 x 2 = 8になります。

T1

/cttree/C0/C1/C2/T1

8

メジャー1のRevenueの合計です。

T2

/cttree/C0/C1/C2/T2

8

メジャー2のPrevRevenueの合計です。

M0

/cttree/M0

1

これには、メジャーに関連する要素が含まれています。

M1

/cttree/M0/M1

1

これには、メジャー1のサマリーが含まれます。

H

/cttree/M0/M1/H

1

メジャー1ラベルで、Revenueです。

T

/cttree/M0/M1/T

1

//ROWからのXpath全体に対するメジャー1の合計です。

M2

/cttree/M0/M2

1

これには、メジャー2のサマリーが含まれます。

H

/cttree/M0/M2/H

1

メジャー2ラベルで、PrevRevenueです。

T

/cttree/M0/M2/T

1

//ROWからのXpath全体に対するメジャー2の合計です。

R0

/cttree/R0

1

これには、行に関連する要素が含まれています。

R1

/cttree/R0/R1

4

第1レベルの行はRegionです。ラベルH要素に表示される4つの個別値があります。

H

/cttree/R0/R1/H

4

これは、Regionの行ヘッダーのラベルです。CENTRAL REGION、EASTERN REGION、SOUTHERN REGIONおよびWESTERN REGIONの4つの個別値があります。

RS

/cttree/R0/R1/RS

4

行の幅の値です。クロス集計表の書式設定に使用します。

T1

/cttree/R0/R1/T1

4

各個別のRegion値に対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/T2

4

各個別のRegion値に対するメジャー1のRevenueの合計です。

R1C1

/cttree/R0/R1/R1C1

16

これには、R1およびC1の組合せによる要素が含まれます。Regionの4つの個別値およびProductsBrandの4つの個別値があります。したがって、組合せは4 X 4 =16になります。

T1

/cttree/R0/R1/R1C1/T1

16

RegionおよびProductsBrandの各組合せに対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/R1C1/T2

16

RegionおよびProductsBrandの各組合せに対するメジャー2のPrevRevenueの合計です。

R1C2

cttree/R0/R1/R1C1/R1C2

32

これには、R1、C1およびC2の組合せによる要素が含まれます。Regionの4つの個別値、ProductsBrandの4つの個別値およびPeriodYearの2つの個別値があります。したがって、組合せは4 X 4 X 2 = 32になります。

T1

/cttree/R0/R1/R1C1/R1C2/T1

32

Region、ProductsBrandおよびPeriodYearの各組合せに対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/R1C1/R1C2/T2

32

Region、ProductsBrandおよびPeriodYearの各組合せに対するメジャー2のPrevRevenueの合計です。

R2

/cttree/R0/R1/R2

18

これには、R1のRegionおよびR2のDistrictの組合せによる要素が含まれます。R2の値のリストにR1への依存性が含まれるため、エントリ数が単純な乗算にはなりません。

H

/cttree/R0/R1/R2/H

18

R2のDistrictに対する行ヘッダーのラベルです。

R1N

/cttree/R0/R1/R2/R1N

18

R1内のR2の位置番号です。これは、最後の行であるかどうかをチェックし、それに応じて表の境界線を引くために使用します。

T1

/cttree/R0/R1/R2/T1

18

RegionおよびDistrictの各組合せに対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/R2/T2

18

RegionおよびDistrictの各組合せに対するメジャー2のPrevRevenueの合計です。

R2C1

/cttree/R0/R1/R2/R2C1

72

これには、R1、R2およびC1の組合せによる要素が含まれます。

T1

/cttree/R0/R1/R2/R2C1/T1

72

Region、DistrictおよびProductsBrandの各組合せに対するメジャー1のRevenueの合計です。

T2

/cttree/R0/R1/R2/R2C1/T2

72

Region、DistrictおよびProductsBrandの各組合せに対するメジャー2のPrevRevenueの合計です。

R2C2

/cttree/R0/R1/R2/R2C1/R2C2

144

これには、R1、R2、C1およびC2の組合せによる要素が含まれ、最適なレベルの詳細が指定されます。

M1

/cttree/R0/R1/R2/R2C1/R2C2/M1

144

メジャー1のRevenueの合計です。

M2

/cttree/R0/R1/R2/R2C1/R2C2/M2

144

メジャー2のPrevRevenueの合計です。

繰返しグループへのピボット・テーブルの挿入

繰返しグループ内にピボット・テーブルを作成する場合は、ピボット・テーブルのコードを手動編集することで、ピボット・テーブルに含まれる要素によってグループ化コンテキストが考慮されるようにする必要があります。コードの編集は、データをグループ化する方法によって異なります。

Template Builderの「グループ化」機能の使用時のプロシージャ

データがフラットで、Template Builderの「グループ基準」機能を使用してデータをグループ化した場合は、この手順を使用します。ピボット・テーブルを挿入した後、Publisherのプロパティ・ダイアログを開いて<?crosstab...?>コードを表示します。crosstabコマンドで、data-elementコンポーネントをcurrent-group()に更新します。

たとえば、前述の例で、<Region>要素でグループ化されたピボット・テーブルの繰返しグループを作成するとします。

ピボット・テーブルのコードを編集するには:

  1. 挿入済のピボット・テーブルを選択し、右クリックします。メニューから、「BI Publisherのプロパティ」を選択し、<?crosstab...?>コマンドを表示します。または、Template Builderの「フィールド・ブラウザ」を開いて、<?crosstab:...?>コマンドを選択します。
  2. data-elementコンポーネントを"current-group()"に置き換えます。たとえば、この例では、data-element値が"//ROW"です。次のように、値の"//ROW""current-group()"と置き換えます。
    <?crosstab:c4536;"current-group()";"Region{,o=a,t=t},District{,o=a,t=t}";"PeriodYear{,o=a,t=t},ProductsBrand{,o=a,t=t}";"Revenue,PrevRevenue";"sum"?>

    これにより、現在のグループ間のみでXDOクロス集計コマンドが適用され、ピボット・テーブルに予期される値が戻されます。

例14-1 データがすでにグループ化されている場合のプロシージャ

Template Builderへのデータ入力がすでにグループ化されている場合は、data-elementコンポーネントの適切なXPathを挿入して、ピボット・テーブルに現在のグループ内の要素のみが含まれるようにします。

たとえば、このレポートのデータが次のように構成されているとします。

<ROWSET> <REGION>
  <RegionName>CENTRAL REGION</RegionName> 
  <ProductList>
    <Product>
      <ProductsBrand>Enterprise</ProductsBrand> 
      <District>CHICAGO DISTRICT</District> 
      <PeriodYear>2001</PeriodYear> 
      <Revenue>1555548.0</Revenue> 
      <PrevRevenue>125968</PrevRevenue> 
      <Units>11</Units> 
   </Product>

テンプレートに、<REGION>要素に基づいた繰返しグループを挿入します。繰返しグループ内にピボット・テーブルを挿入する場合は、コードが次のように表示されます。

<?crosstab:c10959;"//Product";"District{,o=a,t=t},ProductsBrand{,o=a,t=t}";"PeriodYear{,o=a,t=t}";"Revenue,PrevRevenue";"sum"?>

この場合に、現在のREGIONグループにある要素のみを使用するようにPublisherに指示するには、相対XPathを.//Productとして使用するようにdata-elementを編集します。編集されたコードは次のようになります。

<?crosstab:c10959;".//Product";"District{,o=a,t=t},ProductsBrand{,o=a,t=t}";"PeriodYear{,o=a,t=t}";"Revenue,PrevRevenue";"sum"?>

条件付きリージョンの挿入と編集

条件付きリージョンとは、条件文の対象となる範囲を指します。条件文のテスト結果が真の場合は、該当範囲がレポートに表示され、条件文のテスト結果が偽の場合は、該当範囲がレポートから非表示になります。

たとえば、データに販売情報が含まれているとします。レポートには、業種別の売上を示す表が含まれています。レポートのこの表に、売上高が100,000未満の業種の情報を表示したいと考えています。条件付きリージョン機能の挿入を使用して、売上高表を含むリージョンを選択し、売上高要素が100,000未満でなければならない条件を挿入できます。

  1. 条件を適用するリージョンを選択します。たとえば、特定の条件に該当する表のみを表示する場合は、その表が含まれるリージョンを選択します。リージョンがループ内に存在する必要があることに注意してください。
  2. Publisherメニューの「挿入」グループで、「条件付きリージョン」をクリックします。次の図は、条件付きリージョンのPublisherのプロパティ・ダイアログを示しています。
  3. 次のフィールドを入力します。

    データ・フィールド: 条件をテストするフィールドを選択します。フィールドのデータ型(「数値」または「日付/テキスト」)を選択します。

    (条件1)データ・フィールド: 比較演算子を選択します。

    条件を満たす値を選択します。整数またはテキストを入力するか、または別のデータ要素を選択して入力値に基づく比較を定義できることに注意してください。

  4. 「OK」をクリックします。条件ロジックを含むフォーム・フィールドがリージョンの前後に挿入されます。開始のフォーム・フィールドにはテキスト「C」が表示され、リージョンを終了するフォーム・フィールドにはテキスト「EC」が表示されます。

条件付きリージョンを編集するには、挿入されたフォーム・フィールドをダブルクリックして編集用のダイアログを開くか、またはフォーム・フィールドを右クリックして「BI Publisher」→「プロパティ」を選択します。

条件付き書式の挿入

条件付き書式機能を使用すると、単純な条件付フォーマットを挿入して表の行またはセルに適用できます。ダイアログに表示される複数の共通オプションから選択すると、Template Builderにより自動的にコードが挿入されます。「条件付き書式」ダイアログでは、フィールドごとに2つの条件がサポートされています。

ピボット・テーブル内では「条件付き書式」ダイアログを使用できません。条件付き書式設定ロジックは、適切なフォーム・フィールドに直接挿入する必要があります。
条件付フォーマットを挿入するには:
  1. 条件の定義対象となるデータ要素の表セルにカーソルを置きます。
  2. Publisherメニューの「挿入」グループで、「条件付き書式」をクリックします。
  3. 「条件付き書式」ダイアログに次の情報を入力します

    データ・フィールド: 条件に基づいてテストする要素と、その要素のデータ型(「数値」または「日付/テキスト」)を選択します。

    表の行全体に適用: 選択した要素のセルのみでなく、表の行全体にフォーマットを適用する場合は、このボックスを選択します。

    条件1)データ・フィールド: 比較演算子を選択します。

    条件を満たす値を選択します。整数またはテキストを入力するか、または別のデータ要素を選択して入力値に基づく比較を定義できます。

  4. フォーマット」をクリックして、条件に合致するときに適用する書式を定義します。オプションは、「背景色」、「フォント色」、および「フォント・スタイル」(標準、太字、斜体、太字斜体)です。適用する各オプションのボックスとフォーマットを選択します。フォーマットを選択すると、そのフォーマットが「プレビュー」リージョンに表示されます。

    次の図に、「フォーマット」ダイアログを示します。

  5. 必要に応じて第2の条件を定義します。
  6. 「OK」をクリックします。条件付き書式フィールドが、表示テキスト「C」のフォーム・フィールドとして挿入されます。

条件付き書式を編集するには、挿入されたフォーム・フィールドをダブルクリックして編集用のダイアログを開くか、またはフォーム・フィールドを右クリックして「Publisher」「プロパティ」の順に選択します。