[{"id":"3d06deaa-2e4d-479c-b95a-2dcb8abfc887","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"e822faa9-5b39-474c-8f04-d95dcd787a4e","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"091ec731-67fd-4a2a-a703-3728fe885481","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"c4d1bedb-691f-49bb-96ed-65f91b580b0c","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"83de1fff-256a-4bcf-9d47-c12ac032a9e4","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"844918ae-7b53-4e16-8a83-4d9203303aa2","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"eaf39ba6-65df-466b-bc99-d40907e64e8e","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"65c6fd4f-dc15-4112-b00a-45207cea85fc","tags":[{"product":null,"links":null,"id":"e1d31134-0bda-4c05-bee0-b1f21f82940b","name":"new","color":"#00A273","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"460f9118-8a3c-40da-8eba-63a1ba9df454","tags":[{"product":null,"links":null,"id":"e1d31134-0bda-4c05-bee0-b1f21f82940b","name":"new","color":"#00A273","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"d2fc8bc1-89bf-4483-a3c2-be4be40fff31","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"b63907ef-97db-412d-b9e9-61e1cb319d27","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"d7124176-a563-4cf4-8f9a-f8ae3af669ac","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"f1ef6a79-1200-4477-bf3b-d1f4b52bf586","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"4b1a964f-7b24-4943-a2e2-77ff450e1f1d","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"ab703b5b-c2f4-48dc-925d-878261bce75f","tags":[{"product":null,"links":null,"id":"e1d31134-0bda-4c05-bee0-b1f21f82940b","name":"new","color":"#00A273","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"a4de2920-3951-4baf-a478-888961b5e3c4","tags":[{"product":null,"links":null,"id":"e1d31134-0bda-4c05-bee0-b1f21f82940b","name":"new","color":"#00A273","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]}]
        
(Showing Draft Content)

レポートの実行

PageReportクラス

PageReportクラスは、レポートテンプレート、パラメータ値、およびランタイム設定を受け取り、レポート出力を生成するためのプロパティとメソッドを提供するレポートインスタンスを表します。

PageReportクラスのコンストラクタには、3つのプロパティを持つオプションのoptions引数があります。その中に、2つは内部使用のみですが、もう一つはmemoizeDataプロパティであり、レポートデータを保存して、レポートを再実行するときに再利用するかどうかを決定します。memoizeDataプロパティをtrue(デフォルト値)に設定すると、レポートデータが保存され、レポートを再実行するときに再利用されます。これにより、データを再取得する必要が減り、パフォーマンスが向上されます。falseに設定すると、レポートデータが保存されず、レポートが実行されるたびに新しく取得されます。レポートのデータ連結が動的であり、レポートを再実行するときに変更できるパラメータ値に依存している場合、memoizeDataの値は無視されます。以下のサンプルコードは、PageReportクラスの新しいインスタンスを初期化する方法を示しています。

import {Core} from "@grapecity/activereports";

var report = new Core.PageReport({
    memoizeData: true
});

レポートテンプレートの読み込み

PageReportクラスのloadメソッドを使用して、レポートテンプレートを設定し、レポートを実行するときに必要な環境を構成できます。loadメソッドの最初の引数は、レポートテンプレートを取得するURLまたはReport型のオブジェクトです。2番目の引数はオプションであり、いくつかのプロパティを持つオブジェクトです。

  • resourceLocator :リソースロケータの実装

  • environment{&ReportName}を使用してレポートで参照できるReportNameプロパティを持つオブジェクト。

loadメソッドは、リモートリソースからレポートテンプレートを取得するため、Promiseオブジェクトを取得します。したがって、loadメソッドを呼び出すコードは、返されたPromiseが履行されるまで待機する必要があります。次に例を示します。

import {Core} from "@grapecity/activereports";

var report = new Core.PageReport();
await report.load(`assets/Products.rdlx-json`, {
  environment: {
    ReportName: "製品カタログ",
  },
});

レポートパラメータの設定

PageReportクラスには、レポートを実行するためのパラメータ値を指定できるparametersプロパティが存在しています。parametersプロパティは、レポートパラメータの名前と一致する動的キーを持つオブジェクトです。キーはレポートパラメータの構成に関する情報を提供し、パラメータの値を設定できる記述子です。パラメータの値は数値、文字列、Bool値、または日付の配列を使用可能です。パラメータの値が1つの場合でも、配列で指定する必要があります。

以下のサンプルコードは、PageReportクラスのインスタンスを作成し、レポートテンプレートを読み込み、パラメータ値を設定します。

import {Core} from "@grapecity/activereports";

var report = new Core.PageReport();
// レポートテンプレートを読込、パラメータ値を設定する
await report.load(`assets/Products.rdlx-json`, {
    reportParameters: [{
        Name: 'Header',
        Value: ['製品リスト']  // 文字列の単一値のパラメータ
    }, {
        Name: 'SupplierIds',
        Value: [1, 2, 3] // 整数の複数の値のパラメータ
    }]
});

または、ReportParametersオブジェクトのapplyStepsメソッドを使用して、様々なシナリオでパラメータ値を設定できます。

var report = new Core.PageReport();
await report.load(`assets/Products.rdlx-json`);

// applyStepsメソッドでパラメータ値を設定する
report.reportParameters.applySteps([
  {
    Name: "Header",
    Value: ["製品リスト"],  // 文字列の単一値のパラメータ
    Type: "Set"
  },
  {
    Name: "SupplierIds",
    Value: [1, 2, 3], // 整数の複数の値のパラメータ
    Type: "Set"
  }
]);

レポートの実行

レポートテンプレートが読み込まれ、パラメータ値が設定された後、PageReportインスタンスのrunメソッドを呼び出すことができます。これは、PageDocumentインスタンスで実行されるPromiseオブジェクトを返します。

import {Core} from "@grapecity/activereports";

const report = new Core.PageReport();
await report.load(`assets/Products.rdlx-json`);
report.parameters["Header"].values = ["製品リスト"];
const document = await report.run();