[{"id":"d1ffb4db-74d8-4220-a972-c13d6fa8123b","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"1ea0de02-4d95-4f9a-bd1e-e4f1e58e5146","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"cd911f7e-e532-41c5-b415-fd5a1a83b8d6","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"54a4a5be-ed96-43df-a901-6a53495a4ff7","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"fe055276-b12c-40ab-9569-c2d9ebd4f5b8","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"71be3f0b-8a29-45e8-8d43-4965d3e0897e","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"ea12b649-a786-495c-ad0f-7ef38ce94a9e","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"9582e49d-f693-4f0d-96b3-7f4accc2bb6e","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"a6f863bb-031a-44cc-8a12-fc91219e8c15","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"c5da505a-f378-4333-b85f-2429d057b519","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"7daee9d7-e908-4166-9d62-2ca3e93547fb","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"8659262c-9b4e-4e31-9c6c-b97d1d0e0740","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"966a73cf-5b72-4f4b-8939-e7a06e0863da","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"6c63e26a-a944-4aa9-a190-ecc8ac767287","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"3af6c981-53ee-41ba-8ef7-03efb56a8fff","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"8f1b28f2-c419-43fb-b765-5fde0a36fb08","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"d67bf68e-cb2e-4b6f-9253-68ca0ee46560","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"e23050c1-7dc0-4265-a2d9-eaaf938c2d35","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"c9c6aa74-7d95-41b4-9702-98774683bf0a","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"83a0368a-9a1a-4b31-8081-d2edc554d42f","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"0e562678-2dd4-4972-ab4d-e718f050accb","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"9965a8b8-f6c2-4727-a6d6-4cf12bd5b14f","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"e805fe27-20e5-4468-85b9-078665b18438","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"a1a9a9bc-d0b6-4d18-8abf-5c6f2a7cfa40","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"fdcc0c41-acb5-4465-9b66-7e06200a48c4","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"05d00001-6629-4aea-be2a-ddc570ca6a09","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]}]
        
(Showing Draft Content)

보고서 실행

Page Report 클래스

Page Report 클래스는 보고서 템플릿, 매개 변수 값 및 런타임 구성을 입력으로 사용하고 보고서 출력을 생성하는 속성 및 메서드를 제공하는 보고서 인스턴스를 나타냅니다.

페이지 보고서 클래스 생성자에는 세 가지 options속성이 있는 개체인 선택적 인수가 있습니다. 그 중 2개는 내부용이지만 memoizeData라는 세 번째 호출은 보고서 데이터를 저장하고 보고서의 후속 실행에서 재사용해야 하는지 여부를 결정합니다. 기본값인 true로 설정하면 보고서 데이터가 저장되고 이후 실행을 위해 재사용되므로 데이터를 다시 가져올 필요가 줄어들어 성능이 향상됩니다. false로 설정하면 보고서 데이터가 저장되지 않고 보고서가 실행될 때마다 새로 가져옵니다. 그러나 보고서의 데이터 바인딩이 동적이며 후속 실행에 따라 달라질 수 있는 매개 변수 값에 따라 달라지는 경우 memoizeData 값이 무시됩니다.

다음은 새 PageReport 클래스 인스턴스를 초기화하는 코드 예입니다.

import {Core} from "@mescius/activereportsjs";

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

보고서 템플릿 로드 중

PageReport클래스의 load 메소드를 사용하여 보고서 템플릿을 설정하고 보고서 실행에 필요한 런타임 환경을 구성할 수 있습니다. load메서드의 첫 번째 인수는 보고서 템플릿을 검색하는 URL이거나 보고서 유형의 개체입니다. 두 번째 인수는 선택 사항이며 여러 속성이 있는 개체입니다.

  • resourceLocator - 리소스 로케이터의 구현

  • environment - {&ReportName} 식을 사용하여 보고서에서 참조할 수 있는 ReportName 속성이 있는 개체입니다.

load메서드는 원격 리소스에서 보고서 템플릿을 가져올 수 있으므로 Promise 개체를 검색합니다. 결과적으로 load 메서드를 호출하는 코드는 반환된 promise가 이행될 때까지 기다려야 합니다.


예를 들면 다음과 같습니다.

import {Core} from "@mescius/activereportsjs";

var report = new Core.PageReport();
await report.load(`assets/Products.rdlx-json`, {
  environment: {
    ReportName: "Product Catalog",
  },
});

매개변수 값 설정

PageReport 클래스에는 매개변수 값을 설정, 유효성 검사 및 확인하는 메서드가 포함된 reportParameters 속성이 있습니다. 매개변수 값을 제공할 때 단일 값 매개변수의 경우에도 항상 원자 값(예: 숫자, 문자열, 부울 값 또는 날짜)의 배열을 사용하십시오.


다음은 PageReport 클래스의 인스턴스를 만들고, 보고서 템플릿을 로드하고, 매개 변수 값을 설정하는 방법을 보여주는 예입니다.

import {Core} from "@mescius/activereportsjs";
var report = new Core.PageReport();
// Load the report template and set parameter values
await report.load(`assets/Products.rdlx-json`, {
    reportParameters: [{
        Name: 'Header',
        Value: ['Product List'] // string single value parameter
    }, {
        Name: 'SupplierIds',
        Value: [1, 2, 3] // integer multi value parameter
    }]
});

또는 다양한 고급 시나리오에서 매개 변수 값을 설정하기 위해 reportParameters 개체의 applySteps 메서드를 사용할 수 있습니다.

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

// Set parameter values using the applySteps method
report.reportParameters.applySteps([
  {
    Name: "Header",
    Value: ["Product List"], // string single value parameter
    Type: "Set",
  },
  {
    Name: "SupplierIds",
    Value: [1, 2, 3], // integer multi value parameter
    Type: "Set",
  },
]);

보고서 실행

보고서 템플릿이 로드되고 매개 변수 값이 설정되면 코드는 PageReport 인스턴스의 run 메서드를 호출할 수 있습니다. PageDocument 인스턴스로 이행되는 Promise 객체를 반환합니다.

import {Core} from "@mescius/activereportsjs";

const report = new Core.PageReport();
await report.load(`assets/Products.rdlx-json`);
report.parameters["Header"].values = ["Product List"];
const document = await report.run();