Template Builderを使用した基本テンプレートの構築

この項では、Excel Template Builderを使用して単純なExcelテンプレートを作成するステップを説明することで、Excelテンプレートの概念を示します。

この手順では次のステップを実行します。

ステップ1: Template Builderへのサンプル・データのロード

サンプル・データをロードすると、適切にフォーマットされたベースが提供され、それを使用してテンプレートを構築できます。

サンプル・データのロードのために選択するメソッドは、接続モードでの作業か、または切断モードでの作業かによって異なります。

この例に対するサンプル・データは、部門ごとの従業員のリストです。従業員は部門ごとにグループ分けされ、リストされています。

<?xml version="1.0" encoding="UTF-8"?>
<! - Generated by Oracle BI Publisher 11.1.1.4.0 - >
<DATA>
 <DEPT>
   <DEPARTMENT_ID>20</DEPARTMENT_ID>
   <DEPARTMENT_NAME>Marketing</DEPARTMENT_NAME>
     <EMPS>
       <EMPLOYEE_ID>201</EMPLOYEE_ID>
       <EMP_NAME>Michael Hartstein</EMP_NAME>
       <EMAIL>MHARTSTE</EMAIL>
       <PHONE_NUMBER>515.123.5555</PHONE_NUMBER>
       <HIRE_DATE>1996-02-17T00:00:00.000+00:00</HIRE_DATE>
       <SALARY>13000</SALARY>
     </EMPS>
     <EMPS>
       <EMPLOYEE_ID>202</EMPLOYEE_ID>
       <EMP_NAME>Pat Fay</EMP_NAME>
       <EMAIL>PFAY</EMAIL>
       <PHONE_NUMBER>603.123.6666</PHONE_NUMBER>
       <HIRE_DATE>1997-08-17T00:00:00.000+00:00</HIRE_DATE>
       <SALARY>6000</SALARY>
     </EMPS>
  </DEPT>
<DEPT>
...
...
</DEPT>
</DATA>

このチュートリアルで説明されたテンプレートを構築するには、BI Publisher Desktopとともにインストールされた「サンプル」フォルダで使用可能なサンプル・データを使用します。<Install Directory>\BI Publisher Desktop\Template Builder for Word\samples\Excel templates\Employee By Departments\EmpByDept Single Sheets\EmpbyDeptExcelData.xmlに非常に類似したデータ・セットがあります。

ステップ2: Excelでのレイアウトの設計

Excelを使用すると、レイアウト設計が簡略化されます。

次の図に示すように、Excelで、データをどのように表示するかを決定し、サンプル設計を作成します。

この設計では、部門名と、部門内の各従業員に対してそれぞれ1行を表示します。フォント・スタイル、網掛け、配置など、設計にExcelの書式設定を適用できます。このレイアウトには合計フィールドが含まれることに注目してください。このフィールドの値はデータには含まれず、計算が必要になります。

ステップ3: Template Builderを使用したフィールドの挿入

データをテンプレート内のデータ・フィールドにマップできます。

このレイアウト設計では、次のフィールドをデータからテンプレートにマップする必要があります。

レイアウトのフィールド データの要素

部門(Department)

DEPARTMENT_NAME

従業員名(Employee Name)

EMP_NAME

従業員ID (Employee ID)

EMPLOYEE_ID

電子メール (Email)

EMAIL

電話番号(Telephone)

PHONE_NUMBER

給与(Salary)

SALARY

Template Builderを使用してフィールド・マッピングを挿入するには:

  1. データ・フィールドを表示するスプレッドシートでセルを選択します。たとえば、DEPARTMENT_NAME要素をマップするには、B5セルを選択します。
  2. 「Publisher」タブの「挿入」グループで、「フィールド」をクリックします。(これが挿入する最初のフィールドであるため、メタデータ・シートが作成されることを示すメッセージが表示されます。)次の図に示すように、データ構造を示す「フィールド」ダイアログが表示されます。
  3. 「フィールド」ダイアログで要素を選択して、「挿入」をクリックします。サンプル・データがテンプレート内のセルに挿入されます。
  4. テンプレート内の従業員名、従業員ID、「電子メール」、「電話」および給与の各フィールドで操作を繰り返します。

ステップ4: Template Builderを使用した繰返しグループの挿入

グループとは、特定の要素の出現ごとに繰り返されるデータのセットです。

サンプル・テンプレートの設計では、次の2つのグループを使用します。

  • <EMPS>要素の出現ごとに、従業員のデータ(名前、電子メール、電話番号、給料)がワークシートに表示されます。

  • <DEPT>要素の出現ごとに、部門名およびその部門に属する従業員のリストが表示されます。

つまり、従業員は部門ごとにグループ化され、各従業員のデータは従業員要素ごとにグループ化されます。これを最終的なレポートで実行するには、グループ化要素ごとに繰り返すセルの前後に繰返しグループを挿入します。

データは、テンプレート内に作成するグループに基づいて構造化されている必要があることに注意してください。この例のデータ構造は次のとおりです。

<DATA> 
   <DEPT>
      <EMPS>

これにより、レポートに適切なグループ化が設定されます。

従業員の繰返しグループを挿入するには:

  1. グループを構成するセルを選択します。この例では、最初のグループは、表内で1行を構成する、A8からE8のセルの従業員データです。

  2. Publisherタブの「挿入」グループで、「繰返しグループ」をクリックします。

  3. 「プロパティ」ダイアログで次を選択します。

    • 「各」リストからEMPSを選択します。

    • 「グループ基準」リストから、EMPLOYEE_IDを選択します。

部門の繰返しグループを挿入するには:

  1. 部門グループを定義するには、次の図に示すように、部門名セルとその下のすべての従業員フィールド(A5-E9)を選択します。
  2. Publisherタブの「挿入」グループで、「繰返しグループ」をクリックします。部門レベルで繰り返されるように、部門グループに給与合計セルが含まれていることに注意してください。
  3. 「プロパティ」ダイアログで次を選択します。
    • 「各」リストからDEPTを選択します。

    • 「グループ基準」リストから、DEPARTMENT_IDを選択します。

ステップ5: 計算済の給与フィールドの挿入

最後に、各部門の集計合計になる第2の給与フィールドを挿入します。

計算済フィールドを挿入するには:

  1. 計算済の給与を表示するスプレッドシートでセルを選択します。この例では、E9セルです。
  2. 「Publisher」タブのグループで、「フィールド」をクリックしてダイアログを表示します。
  3. SALARY要素を選択し、「挿入」をクリックして、テンプレートにマッピングを挿入します。
  4. XDO_METADATAシートを開きます。

    最初のフィールドの挿入時に、Template Builderによって非表示のXDO_METADATAシートが作成されています。シート1を右クリックしてメニューから「非表示解除」を選択することで、ワークブックでのシートの非表示を解除します。

    次の図は、サンプル・テンプレートのXDO_METADATAシートを示しています。

    給与合計フィールドがXDO_?XDOFIELD7?という名前のセルにマップされます。

  5. 列Bに、XPATH関数として計算を入力します。グループ内のすべての従業員に対するSALARY要素の合計を計算するには、<?sum(.//SALARY)?>と入力します。次の図にエントリを示します。

ステップ6: テンプレートのテスト

プレビューを使用して、テンプレートをテストできます。

サンプル・データがロードされたテンプレートをプレビューするには:

  • 「Publisher」タブのグループで、「Excel」をクリックします。

    サンプル・データがテンプレートに適用され、新しいブックで出力ドキュメントが開きます。