[{"id":"5f98443c-9d59-4351-81ad-0910eb2535e7","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"50134b23-c8f4-4c83-8c49-4f7a4d307585","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"61551de1-9a9f-4a08-b71e-49ca882827f5","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"ebf0ce82-0782-496c-bd66-90f5433e31f2","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"50e4fa24-000f-45f0-8f09-9026e40c30ca","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"64f01bad-a9ca-47a2-b134-b485adffed2c","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"57569d12-0bea-4995-9743-1b5efb7dfda6","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"712bddae-c316-4524-add9-6dd487152146","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"afb74359-e66d-40e1-a5e2-f7a22468165d","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"cccfa340-c8a6-43ef-b2cd-f9fe44ce22dc","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"d404d4eb-0b25-4650-be78-033cc4aa3445","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"d778e74c-622b-47d6-b0b1-32e741ee6d1a","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"3103635f-71c9-4a28-8786-45ae6de6a49f","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"0d56fe97-9840-41da-931f-ad23201cd9e2","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"c90cdefc-81dd-4d8d-b8fa-ed93585c4b23","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"5d5d62ca-5108-4421-a925-f2c187eb2aeb","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"e588ca95-4aba-4e50-a99f-833a98531489","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"cc378615-c853-4f3e-994b-9a2260cc06a2","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"4a60e156-0f10-43a2-88bc-9d9691f15137","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"938d62d7-9526-479f-9798-31d0f9f58588","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"9e4f342b-5dcb-4548-a84c-afe71cf5d736","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"0d50ab1e-81c0-49b2-b8cb-1f50a6f3e12b","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"0a0c904c-bbb2-4abe-a626-a06200fb57fe","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"224e6263-b410-4f17-8822-e19f965c509d","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"74546345-b13f-4465-a716-7bc0f9c19730","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"60452ec3-5f68-4e01-b8f0-22ea893bf4ce","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"8c3493e9-e62c-45b7-9268-825db731f79b","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]}]
        
(Showing Draft Content)

연관된 데이터 집합을 사용하는 마스터-세부 정보 보고서 시작하기

마스터-세부 정보 보고서는 계층적 관계로 서로 관련된 데이터 구조를 표시하는 보고서 입니다. 예를 들어, 각 주문에 헤더(마스터 정보)와 품목(세부 정보)이 포함된 주문 목록을 시각화할 수 있습니다. ActiveReportsJS는 마스터-세부 정보 보고서를 생성하는 여러가지 방법을 제공합니다. 이 자습에서는 동일한 필드 값을 기반으로 포함된 일대다 관계로 연된 두 데이터 집합으로부터 마스터-세부 정보 보고서를 생성하는 방법을 보여줍니다.


첫 번째 데이터 집합은 제품 정보(마스터 정보)를 포함하고, 그 객체는 다음과 같습니다.

{
   "ProductId": 715,
   "Name": "Long-Sleeve Logo Jersey, L",
   "ProductNumber": "LJ-0192-L",
   "Color": "Multi",
   "Size": "L"
}

두 번째 데이터 집합은 제품 가격 내역(세부 정보)를 포함하고, 그 객체는 다음과 같습니다.

{
   "ProductId": 715,
   "StartDate": "2011-05-31",
   "EndDate": "2012-05-29",
   "ListPrice": 48.0673
}

한 제품은 여러 개의 가격 내역을 가집니다. 마스터 정보세부 정보ProductId 필드로 연결됩니다.One product may have multiple price history records. The master data and detail data are related by the ProductId field.


이 자습서에서는 Product Inventory 보고서를 처음부터 작성하며, 일반적인 보고서 디자인 과정을 경험해 볼 것 입니다. 자습서를 마치면 다음을 수행할 수 있습니다.

  • 새 보고서 만들기

  • OData API보고서를 OData API에 바인딩

  • OData $select 쿼리 옵션과 $filter 쿼리 옵션을 사용하여 검색되는 데이터 볼륨 줄이기

  • 필드 태그를 사용하여 필드의 데이터 형식 정의

  • 테이블 데이터 영역을 만들어 마스터 정보 표시

  • 테이블의 행, 열, 그리고 셀에 서식 적용

  • 중첩된 목록 데이터 영역을 추가하여 세부 정보 표시

  • 중첩된 목록에 필터 설정

  • Format 함수를 사용하여 서식이 지정된 데이터 표시

자습서 단계를 모두 완료하면 라이브 데모와 같은 최종 보고서가 빌드 됩니다..

필수 구성 요소

아래 내용에서는 독립 실행형 보고서 디자이너가 실행 중이라고 가정합니다. 자세한 내용은 자습서를 참조하십시오. 또한 데모 데이터 허에 액세스하려면 안정적인 인터넷 연결이 필요합니다.

새 보고서 생성

독립실행형 보고서 디자이너에서, 파일 메뉴를 클릭하고 새로 보고서를 작성하기 위한 연속 페이지 레이아웃 템플릿을 선택합니다. 보고서 레이아웃에서 회색 영역 중 아무 곳이나 클릭하면 속성 패널에서 보고서 속성이 로드됩니다. 여백 섹션에서, 스타일 속성을 좁게로 설정하여 보고서 페이지 여백 크기를 변경합니다.

확장하여 실행 중인 새 보고서 생성 보기


데이터 바인딩

데이터 바인딩은 보고서와 보고서에 표시되는 데이터 간 연결을 구축합니다. 이 데모에서는 전 세계적으로 자전거를 제조 및 판매하는 AdventureWorks라는 가상 회사의 데이터가 포함된 MESCIUS 데모 OData API를 사용합니다.

데이터 소스 추가

AdventureWorks OData API는 루트 URL https://demodata..mescius.io/adventureworks/odata/v1을 사용하여 연결할 수 있고, /Customers, /Stores, 그리고 /Products와 같은 끝점으로 표시되는 여러 "표"가 있는 "데이터베이스"로 생각할 수 있습니다. 다음 단계에 따라 해당 "데이터베이스"에 대한 연결을 설정하는 보고서 데이터 소스를 만들 수 있습니다.

  • 속성 검사자의 데이터 패널을 열고 추가 버튼을 클릭합니다.

  • 데이터 소스 편집기 대화창에서, 이름 필드에 AdventureWorks을 입력하고 끝점 필드에 https://demodata..mescius.io/adventureworks/odata/v1를 입력합니다.

  • 변경 사항 저장 버튼을 클릭합니다.

image

데이터 집합 추가하기

데이터 집합은 데이터 소스 끝점을 한 개 이상 나타냅니다. Product Inventory 보고서의 경우 이전 섹터에서 추가한 AdventureWorks 데이터 소스의 /Products/ProductListPriceHistories 끝점에 엑세스 해야합니다. 이 끝점으로 노출된 데이터들은 ProductId 필드로 관련되어 있습니다.


Products 데이터 집합을 추가하기 위해 다음 단계를 사용하세요.

  • 데이터 패널에서 AdventureWorks 근처에 있는 + 아이콘을 클릭합니다.

  • 데이터 집합 편집기 대화상자에서, 이름 필드에 Products를 입력하고, Uri/Path 필드에 /Products를 입력하고, Json 경로 필드에 $.value.*를 입력합니다.

  • 기본적으로, 각 Product 레코드에는 필드가 25개 있지만, 해당 필드가 모두 필요하지는 않습니다. 따라서 쿼리 매개 변수를 통해 $select 쿼리 옵션을 적용하여 검색되는 필드를 제한합니다.

    • 매개변수 섹션 우측의 + 아이콘을 클릭합니다.

    • 새롭게 추가된 매개변수 항목의 매개변수 필드에 $select을 입력합니다.

    • 동일한 매개변수 항목의 필드에 ProductNumber,Name,Color,Size를 입력합니다.

  • $filter 쿼리 옵션을 적용하여 조회된 데이터의 양을 더 줄일 수 있습니다.

    • 매개변수 섹션 우측의 + 아이콘을 클릭합니다.

    • 새롭게 추가된 매개변수 항목의 매개변수 필드에 $filter을 입력합니다.

    • 동일한 매개변수 항목의 필드에 ProductId+gt+714+and+ProductSubCategoryId+eq+21를 입력합니다.

  • 유효성 검사 버튼을 클릭합니다.

  • 데이터베이스 필드 섹션에 위에서 입력한 [5 항목]에 해당하는 텍스트가 표시되는지 확인합니다.

  • 변경 내용 저장 버튼을 클릭합니다.

확장하여 제품 데이터 집합 추가 보기


비슷하게, ProductListPriceHistories 데이터 집합을 추가합니다.

  • 데이터 패널에서 AdventureWorks 근처에 있는 + 아이콘을 클릭합니다.

  • 데이터 집합 편집기 대화 상자의 이름 필드에 ProductListPriceHistories를, URi/경로 필드에는 /ProductListPriceHistories를, 그리고 Json 경로 필드에는 $.value.*를 입력합니다.

  • $filter 쿼리 옵션을 적용하여 조회된 데이터의 양을 더 줄일 수 있습니다.

    • 매개변수 섹션 우측의 + 아이콘을 클릭합니다.

    • 새롭게 추가된 매개변수 항목의 매개변수 필드에 $filter을 입력합니다.

    • 동일한 매개변수 항목의 필드에 ProductId+gt+714를 입력합니다.

  • 유효성 검사 버튼을 클릭합니다.

  • 데이터베이스 필드 섹션에 위에서 입력한 [5 항목]에 해당하는 텍스트가 표시되는지 확인합니다.

  • 데이터베이스 필드를 확장합니다. StartDateEndDate 필드의 데이터 필드 속성을 각각 StartDate[Date]EndDate[Date]로 설정합니다.

  • 변경 내용 저장 버튼을 클릭합니다.

표 데이터 영역 추가

제품 정보(마스터 정보)를 표시하기 위해 표 데이터 영역을 사용합니다. 보고서에 새 표를 추가하는 여러 가지 방법이 있습니다. 이 자습서에서는 빠른 방법을 사용해 보겠습니다.

  • 펼침 아이콘을 사용하여 데이터 패널에서 Products 데이터 집합을 확장합니다.

  • Products 데이터 집합 이름 근처에 있는 필드 선택 아이콘을 클릭합니다.

  • ProductNumber, Name, Color, 그리고 Size 필드를 선택합니다.

  • 선택한 필드를 보고서 레이아웃의 왼쪽 상단 모서리로 끌어 놓습니다.

확장하여 실행 중인 표 데이터 영역 추가 보기


새로 생성된 표에는 선택한 각 필드에 해당하는 4개, 필드 이름을 표시하는 헤더 행, 필드의 값을 표시하는 세부 정보 행이 있습니다.

표 열 서식 지정

새로 생성된 테이블의 모든 열은 같은 너비로 표시되고, 각 열에 표시되는 데이터에 따라 조정되어야 합니다. 이를 위해, 표 내부 아무 곳이나 클릭하여 열 및 행 처리기를 표시하고 다음 단계를 수행합니다.

  • 첫 번째 열 처리기를 클릭하고 속성 패널에서 너비2.5in로 변경합니다.

  • 두 번째 열 처리기를 클릭하고 속성 패널에서 너비2in로 변경합니다.

  • 세 번째 열 처리기를 클릭하고 속성 패널에서 너비1in로 변경합니다.

  • 네 번째 열 처리기를 클릭하고 속성 패널에서 너비2in로 변경합니다.

확장하여 실행 중인 열 너비 설정 보기


테이블 행 추가

현재 표는 두 개 행만 있습니다. 다음 단계에서는 보고서 제목을 표시하기 위해 표 헤더에 행을 하나 더 추가하고, 제품 가격 내용을 표시하기 위해 표 세부 정보에 행을 두 개 더 추가합니다.

  • 첫 번째 행 처리기를 마우스 오른쪽 버튼으로 클릭하고 드롭다운 메뉴에서 행 > 위에 행 삽입 항목을 선택합니다.

  • 같은 방법으로 마지막 행 아래에 두 행을 삽입합니다.

확장하여 실행 중인 세부 정보 아래에 행 추가 보기


표 셀 병합

표의 첫 번째 행은 보고서 제목을 표시합니다. 그러므로, 첫 행의 셀을 병합하는 것이 편리합니다.

  • 첫 번째 행의 첫 번째 셀을 클릭하고, Windows의 Ctrl 키 또는 Mac OS의 Cmd 키를 누를 후 같은 행의 2, 3, 4번째 셀을 클릭합니다.

  • 선택 항목을 마우스 오른쪽 버튼으로 클릭하고 드롭다운 메뉴에서 셀 > 셀 병합 항목을 클릭합니다. 이제 행은 네 개의 열을 차지하는 단일 셀을 갖습니다.

같은 과정을 표의 마지막 두 행에서 반복합니다. 이 행에는 세부 정보에 대한 제목과 중첩된 목록이 호스팅됩니다.

확장하여 실행 중인 셀 병합 보기


보고서 제목 서식 지정

표의 첫 번째 행은 보고서 제목을 표시합니다. 다음 단계에 따라 행 서식을 적절하게 지정할 수 있습니다.

  • 첫 번째 행의 처리기를 클릭하고 속성 패널에서 높이 속성을 0.5in로 설정합니다.

  • 속성 패널에서 텍스트 상자 탭으로 전환하고 보고서 제목의 텍스트에 대해 다음 속성을 설정합니다.

속성

Product Inventory

색상

#3da7a8

글꼴 크기

24pt

글꼴 두께

굵게

세로 맞춤

가운데

확장하여 실행 중인 제목 서식 지정 보기


형 헤더 서식 지정

표의 두 번째 행은 열 헤더를 포함합니다. 보고서 제목과 동일한 단계를 사용하여, 행 높이와 행의 셀에 보여지는 텍스트에 대해 다음 속성을 설정합니다.

속성

행 높이

0.5in

테두리 너비

2pt

테두리 스타일

None None None Solid

테두리 색

#40cddf

글꼴 두께

Bold

세로 맞춤

가운데

마스터 정보 서식 지정

표의 세 번째 행은 Products 데이터 집합의 각 데이터 레코드에 대해 반복됩니다. 행 높이와 행의 셀에 표시되는 텍스트에 대해 다음 속성을 설정합니다.

속성

행 높이

0.4in

테두리 너비

1pt

테두리 스타일

없음 점선 없음 없음

테두리 색

#ccc

세로 맞춤

가운데

세부 정보 제목 서식 지정

표의 네 번째 행은 세부 정보에 대한 중첩된 목록의 제목을 표시합니다. 행 높이와 행의 셀에 표시되는 텍스트에 대해 다음 속성을 설정합니다.

속성

행 높이

0.4in

Price History

글꼴 크기

12pt

글꼴 두께

굵게

세로 맞춤

가운데

중첩된 데이터 영역 추가

표의 마지막 행은 현재 제품의 가격 내역을 표시합니다. 그렇게 하려면, 다음 단계를 사용하여 행에 중첩된 목록을 추가해야 합니다.

  • 마지막 행의 처리기를 클릭하고 속성 패널에서 높이 속성을 0.35in으로 설정합니다.

  • 도구 모음 왼쪽에 있는 햄버거 메뉴를 클릭하여 도구 상자를 확장합니다.

  • 도구 상자의 목록 항목을 표의 마지막 행으로 끌어다 놓습니다.

  • 새로 추가된 목록의 속성 패널에서 데이터 집합 이름 속성을 ProductListPriceHistories로 설정합니다.

  • 속성 검사자에서, 필터 편집기의 + 추가... 버튼을 클릭합니다.

  • 필터 UI에서, 추가... 버튼을 클릭하고, 드롭다운 메뉴에서 ProductId 필드를 선택한 후, = 기호 오른쪽 상자에 {ProductId}를 입력합니다. 그리고 헤더의 뒤로가기 화살표 버튼을 클릭하여 속성 검사자로 돌아갑니다.

확장하여 실행중인 중첩된 목록 추가 보기


세부 정보 표시

도구 상자에서 두 개의 텍스트 상자 항목을 목록에 끌어다 놓고, 새로 추가된 텍스트 상자에 대해 다음 속성을 설정합니다.

속성

첫 번째 텍스트 상자

두 번째 텍스트 상자

{Format(StartDate, "d")} - {IIF(EndDate, Format(EndDate, "d"), Format(Now(), "d"))}

{Format(ListPrice, "c2")}

#0096aa

#0096aa

텍스트 맞춤

Leave as Default

Right

왼쪽

0

6.25in

위쪽

0

0

너비

3.25in

1.25in

높이

0.35in

0.35in

Preview the report output

이제 보고서 출력을 미리 보고 각 제품에 대해 다음 정보가 표시되는지 확인할 수 있습니다.

  • 제품명, 수량, 크기, 색상(마스터 정보)

  • 제품 가격 내역(세부 정보)

보고서의 최종 버전은 데모 웹사이트에서 확인할 수 있습니다..