XSL変換(XSLT)ファイルを使用したデータの前処理
最高のパフォーマンスを達成するには、データ処理を可能なかぎり実行するようにデータ・モデルを設計します。データ・エンジンから必要な出力を取得できない場合は、データを変換する命令を含むXSLTファイルを使用してデータを前処理できます。
次のようなユースケース・サンプルがあります。
- 適切なレイアウトをサポートするために必要な階層を設定するグループの作成
- データ要素へのスタイル属性の追加
- Excelテンプレートでは不可能であるか、パフォーマンス上の理由から望ましくない、複雑なデータ処理ロジックの実行Template Builder for Excelでは、XSLT前処理が必要なテンプレートのプレビューはサポートされていません。
XSLT前処理ファイルを使用するには:
- ファイルを作成し、.xslとして保存します。
- テンプレートの場合と同様に、ファイルをPublisherカタログ内のレポート定義にアップロードします。
- ExcelテンプレートのXDO_METADATAシートのHeaderセクションで、Preprocess XSLT Fileパラメータにファイル名を入力します。たとえば、
splitByBrand.xsl
です。
XSLT前処理の例: 複数のシートへのフラット・データの分割
このトピックでは、XSLT前処理ファイルを使用してフラット・データをグループ化し、Excelでの複数のシートに分割できるようにする操作の2つの例について説明します。
例は次のとおりです。
-
レポート・データがExcel 2003のシートの行サイズ(シート当たり65,536行)を超えている場合には、行数でデータを分割するというオプションもあります。
どちらの例でも、次のXMLデータが使用されます。
<ROWSET>
<ROW>
<Products.Type>COATINGS</Products.Type>
<Products.Brand>Enterprise</Products.Brand>
<Markets.Region>CENTRAL REGION</Markets.Region>
<Markets.District>CHICAGO DISTRICT</Markets.District>
<Periods.Year>2000</Periods.Year>
<Measures.Dollars>1555548.0</Measures.Dollars>
</ROW>
<ROW>
<Products.Type>COATINGS</Products.Type>
<Products.Brand>Enterprise</Products.Brand>
<Markets.Region>EASTERN REGION</Markets.Region>
<Markets.District>NEW YORK DISTRICT</Markets.District>
<Periods.Year>2000</Periods.Year>
<Measures.Dollars>1409228.0</Measures.Dollars>
</ROW>
...
</ROWSET>
特定のフィールドによるデータの分割
この例では、XSLT前処理ファイルを使用して、データのグループ化を作成し、そのグループ化を基準にしてデータを複数のExcelシートに分割できるようにします。
この例では、Products.Brand
フィールドによってサンプル・データがグループ化されます。