
보고서는 플랫폼 내에서 접근 가능한 레코드의 하나 이상의 필드를 표시하는 데 사용됩니다. 적절한 보고서 유형을 선택하여 특정 객체나 객체 집합의 필드를 선택할 수 있습니다.
선택된 필드는 보고서 세부 정보의 데이터 테이블을 구성한다고 생각할 수 있으며, 다양한 필터를 적용하여 조회하고 표시되는 정보의 범위와 깊이를 조절할 수 있습니다.
Salesforce는 보고서의 성능을 향상시키고 더 빠르게 실행되도록 하기 위해, 필요한 정보를 표시하는 데 꼭 필요한 필드만 포함하고 불필요한 필드는 제거할 것을 권장합니다.

리포트 포맷은 리포트 결과(행과 열)가 어떻게 구성되고 표시되는지를 명시하는 데 사용됩니다. 사용 가능한 옵션에는 타뷸러(Tabular), 서머리(Summary), 매트릭스(Matrix), 조인드(Joined)가 있습니다.
타뷸러(Tabular): 리포트의 가장 간단한 형태로, 데이터 라인만을 보여주기에 적합합니다. 엑셀 스프레드시트와 유사하다고 볼 수 있습니다. 총계, 계산, 또는 데이터 그룹을 보여줄 필요 없이 데이터만 보고 싶을 때 이 리포트 유형이 적당합니다. 데이터를 내보낼 계획이라면 이 리포트 유형이 최선의 선택입니다.
서머리(Summary): 그룹핑을 추가하는 순간, 리포트는 서머리 리포트로 전환됩니다. 서머리 리포트는 아마 가장 흔히 사용되며, 데이터 그룹을 보여주기에 좋습니다. 예를 들어, 계정별 기회의 수나 가치를 보고 싶다면, 리포트를 계정 이름별로 그룹화하게 됩니다. 초기 그룹 아래에 필드를 드래그하여 하위 그룹도 생성할 수 있습니다.
매트릭스(Matrix): 매트릭스 리포트는 서머리 리포트와 매우 유사하지만, 행과 열 모두에 대해 그룹화하여 다양한 총계를 볼 수 있게 합니다. 위의 예를 계속해서, 계정별로, 월별로 기회의 가치를 보고 싶다면, Edge Communications가 1월에 $100,000, 2월에 $50,000의 기회를 가지고 있는 것을 볼 수 있습니다.
조인드(Joined Reports): 조인드 리포트를 사용하면 두 개의 별개의 리포트를 생성하여 데이터를 나란히 비교할 수 있습니다. 계정별로 기회와 사례의 총 수를 나란히 보여주는 조인드 리포트를 사용할 수 있습니다.
각 리포트 포맷은 사용자가 다양한 데이터 분석 요구 사항을 충족할 수 있도록 설계되었습니다. 따라서 리포트를 생성할 때 보고하고자 하는 정보의 유형과 목적을 고려하여 적절한 포맷을 선택하는 것이 중요합니다.

다음의 요구사항들을 만족하는 리포트를 생성해보겠습니다.

App launcher에서 reports를 검색해서 위와 같은 화면에 접근할 수 있습니다. Created by Me라는 폴더에서 New Report 버튼을 눌러 새로운 리포트를 생성해보겠습니다.

1번 요구사항을 구현하기 위해 Report Type을 선택하고 Start Report 버튼을 클릭했습니다.

Groups 영역에서 그룹화 하고 싶은 Type칼럼을 선택하면 오른쪽 프리뷰에서 타입 칼럼의 값 별로 그룹화된 것을 확인할 수 있습니다.

Save & Run 버튼을 눌러 저장하고 실행해보면 프리뷰에서 확인한대로 Type별로 그룹화된 것을 확인할 수 있고, Add Chart 버튼이 활성화 되어있습니다. 그룹핑을 추가하는 순간 리포트는 자동으로 Summary 타입으로 변경되기에 해당 버튼이 활성화 되었습니다.

레포트 타입 중 Contacts & Accounts를 선택한뒤 Start Report를 클릭합니다.

프리뷰에서 컨택트 레코드별로 어카운트 레코드 정보가 함께 조회되는 것을 볼 수 있습니다. 두개의 오브젝트를 조인해서함께 보여주기 때문에 Account 정보가 없는 Contact 레코드는 해당 레포트 타입에서 조회되지 않습니다.

Filters 탭에서 Created Date 기준 필터를 추가하고 Last 7 Days 항목을 선택해서 레포트 조회시점에 최근 7일자의 데이터만 포함하도록 할 수 있습니다.

Opportunities 타입의 레포트를 선택하여 생성했습니다.

Filter에서 Stage 필드를 추가한뒤 Closed 상태의 값들을 적용하여 레코드들을 조회할 수 있습니다.

Outline 탭의 Groups 영역에서 GROUP ROWS 에 Stage 필드를 추가하고 GROUP COLUMNS를 추가하면 위와 같이 행 단위로도 그룹화하여 집계할 수 있고 칼럼단위로도 집계가 가능합니다. 이렇게 로우와 칼럼별로 모두 집계해서 볼수 있는 보고서가 Matrix Report 입니다.

Salesforce의 Joined Report는 서로 다른 보고서 유형을 하나의 보기로 결합한 것입니다. Joined Report는 하나의 보고서처럼 나타나므로 보다 전체적인 데이터 뷰를 제공할 수 있습니다. Lightning Report Builder에서 보고서 블록을 추가하고 각 블록에 대한 필터를 정의합니다. 표준 및/또는 사용자 정의 보고서 유형을 보고서 블록으로 사용할 수 있습니다.
각 블록마다 다음의 내용을 담는 조인 리포트를 생성해보겠습니다.

Account Type의 리포트를 생성하고 좌상단의 메뉴를 클릭해서 Joined Report 타입을 선택했습니다.

포맷을 변경하자 Add Block 버튼이 추가되고 미리보기에서 자동으로 Account Block 1이라고 명명된 블록이 생겼습니다.

이후 Add Block 버튼을 통해 Cases 타입의 보고서 블록과 Opportunity 타입의 보고서 블록을 추가 했습니다.

이후 세 오브젝트가 모두 공통으로 갖고있는 Account Name 필드를 기준으로 그룹화하면 각 Account별로 관련된 Case와 Opportunity들을 집계하여 볼 수 있습니다.
Case에 대해 Status 필드별로 블록을 구분하고 Priority 별로 그룹화화는 리포트를 생성해보겠습니다.

첫번째 블록에는 위와 같이 Status 에 대한 필터를 적용해서 New인 레코드들만 표시할 수 있도록 했습니다.

이후 두번째 블록과 세번쨰 블록을 추가해서 각각 Status가 Closed인 레코드, Status가 New or Closed가 아닌 레코들을 포함하도록 했습니다.

이후 Priority 필드별로 그룹화하면 위와 같이 중요도별로 각 상태에 있는 Case 레코드들을 조회할 수 있습니다.

Salesforce의 Joined Reports를 사용할 때 다음과 같은 사항을 주의해야 합니다.
보고서 성능: 보고서에 포함된 블록이 많을수록 로드 시간이 길어집니다. 2개 이상의 블록이 있는 경우, 보고서 필터를 사용하여 필요한 데이터만 보고서 뷰에 표시되도록 합니다. 이렇게 하면 불필요한 데이터를 로드하는 시간을 줄일 수 있으며, 보고서의 성능을 향상시킬 수 있습니다.
내보내기: Joined Reports는 Salesforce 내부에서 시각적으로 유용하게 설계되었기 때문에, 추가 작업이 가능한 Details Only 형식으로 내보내기가 지원되지 않습니다. 따라서, 보고서를 외부 문서나 다른 시스템으로 전송하려는 경우 이 점을 고려해야 합니다.
차트: Joined Reports에는 하나의 차트만 추가할 수 있습니다. 이는 보고서의 시각적 요소에 제한을 둠으로써, 사용자가 중요한 데이터에 집중할 수 있도록 합니다.
블록 수: 최대 다섯 개의 블록을 사용하여 Joined Reports를 구성할 수 있습니다. 각 블록은 하나의 표준 또는 사용자 정의 보고서 유형에서 데이터를 표시합니다. 이를 통해 사용자는 단일 보고서에서 다양한 유형의 정보를 볼 수 있습니다.

Salesforce에서 사용자 정의 보고서 유형은 표준 보고서 유형과 자동 생성된 보고서 유형을 넘어서고 싶을 때 유용합니다. 사용자 정의 보고서 유형을 생성하는 몇 가지 주요 사례는 다음과 같습니다:
한 번에 두 개 이상의 객체에 대해 보고할 필요가 있을 때: Salesforce 표준 보고서 유형은 대체로 한 번에 두 개의 객체 간의 관계에 초점을 맞추고 있습니다. 하지만 복잡한 비즈니스 요구 사항으로 인해 세 개 이상의 객체에 대한 데이터를 통합하여 보고할 필요가 있다면 사용자 정의 보고서 유형이 필요할 수 있습니다.
'관계 없이(without a relationship)' 보고가 필요할 때: 예를 들어, 어떤 계정에도 속하지 않은 연락처를 찾는 등, 특정 관계를 가지지 않은 데이터에 대해 보고하고 싶을 때 사용자 정의 보고서 유형을 사용할 수 있습니다. 이는 표준 보고서 유형에서는 '와(과) 관계가 있는(with)' 데이터에 초점을 맞추는 것과 대조적입니다.
⚠️주의사항
사용자 정의 보고서 유형을 만들기 위해서는 Salesforce 관리자 권한이나 '사용자 정의 보고서 유형 관리(Manage Custom Report Types)' 권한이 필요합니다.

다음의 네가지 타입의 커스텀 리포트를 생성해보겠습니다
커스탬 타입의 리포토의 주요사항들은 다음과 같습니다
사용자 정의 보고서 유형의 주요 사항:

Quick Find에서 Report Types를 검색한뒤 New Custom Report Type 버튼을 통해 커스텀 리포트 타입을 생성할 수 있습니다.

위와 같이 Label과 Name을 입력하고 Deployed 상태로 정의했습니다.

이전 화면에서 선택한 Primary Object가 있고 (Click to relate another object) 버튼을 눌러서 해당 Primary Object와 관계가 있는 오브젝트를 선택할 수 있습니다. 두 오브젝트 사이 관계의 타입에 대해서는 Primary Object를 기준으로 Inner Join 또는 Left Outer Join을 선택할 수있습니다. 각 옵션에 대해 벤다이어그램으로 시각적으로 나타내 주므로 선택에 참고할 수 있습니다.
요구사항은 Opportunity 레코드가 있거나 없는 Account 레코드에 대해서 필요하므로 "A" records may or may not have related "B" records. 옵션을 선택하고 저장했습니다.

이후 비교를 위해 Each "A" record must have at least one related "B" record. 옵션을 선택한 타입도 생성했습니다.

새로운 리포트를 생성해보면 지정한 카테고리 밑에 직접 정의한 리포트 타입이 목록에서 조회 가능합니다.

Accounts with or without Opportunities로 명명한 타입의 리포트를 생성하고 조회해보면 Opportunity 레코드가 없는 Account 레코드들까지 총 37개의 레코드가 포함된 것을 볼수 있습니다.

Accounts with Opportunities로 명명한 타입의 리포트는 Opportunity 값이 없는 레코드들은 제외하고 총 33개의 레코드만 포함하고 있습니다.

Accounts with or without Conatcts 요구사항을 위해 새로운 커스텀 리포트 타입을 생성했습니다.

요구사항에 따라 위와 같이 옵션을 선택하고 저장했습니다.

Fields Available for Reports 영역에서 Edit Layout을 클릭하면 해당 타입의 보고서를 만들때 포함할 필드들을 선택할 수 있습니다.
보고서에서는 모든 필드들이 필요하지 않으므로 필요에 따라 원하는 필드들만 보고서에서 포함하도록 할수 있습니다.

예시를 위해 위와 같이 각 오브젝트별로 하나의 필드만 선택가능하도록 수정했습니다.

해당 타입의 리포트를 생성해보면 Fields 영역에서 Layout에서 선택한 필드만 포함가능한 것을 볼 수 있습니다.

Contacts with Cases 요구사항을 위해 Primary Object를 Contacts로 선택하고 커스텀 타입을 생성합니다.

Cases와 연관된 레코드들만 리포트에 포함해야 하므로 위와 같이 옵션을 선택하고 저장했습니다.

이후 조회되는 레코드들은 Case 정보가 존재하는 Contact들만 포함하는 것을 볼 수 있습니다.

Accounts with Orders and Products은 Accounts 레코드와 연관된 Order 정보를 포함하고 또 해당 Order에 포함된 Product 정보를 포함해야하기에 위와 같이 정의하여 리포트 타입을 생성했습니다.

기존에 Order 레코드가 존재하지 않아서 해당 타입의 보고서를 생성해도 조회되는 레코드가 없습니다.

Burlington Textiles Corp of America Account의 Order를 하나 생성해도 Order Product가 존재하지 않기에 여전히 리포트에서 조회되는 내용은 없습니다. Add Product 버튼을 통해 주문제품을 추가해보겠습니다.

Order Product 2종을 추가하니 보고서에서 해당 Account의 Order 레코드와 Order Product 관련 레코드들을 조회할 수 있습니다.

대시보드는 생성한 보고서를 시각적으로 표현하는 방법입니다. 보고서에 차트를 추가할 수 있지만, 대시보드는 더 많은 옵션을 제공하며, 한 페이지에 최대 20개의 차트와 테이블을 추가하여 여러 보고서를 빠르게 확인할 수 있습니다.
대시보드의 주요 기능:
대시보드를 생성하고 다음의 2가지 컴포넌트를 추가해보겠습니다.

대시보드는 리포트를 데이터 소스로 삼아서 해당 정보를 시각화 하기에 먼저 시각화할 리포트가 필요합니다. 먼저 Lead Source 값이 빈 값이 아닌 리포트를 위와 같이 생성했습니다.
중요한 점은 데이터 소스로 사용될 리포트가 그룹화 기능을 사용하지 않으면 시각화를 위한 컴포넌트를 추가할 수 없습니다. 따라서 Lead Source 필드를 기준으로 그룹화 했습니다.

App Launcher에서 Dashboards를 검색한뒤 New Dashboard 버튼을 눌러 새로운 대시보드를 생성할 수 있습니다.

이후 + Widget 버튼을 눌러 Chart or Table을 선택하면 위와 같이 데이터 소스로 리포트를 선택할 수 있습니다. 새로 생성한 리포트를 선택했습니다.

이후 컴포넌트의 타입을 파이차트로 선택하고 Add버튼을 눌러 대시보드에 추가 해줬습니다. 전체 리드중 각 리드 소스가 차지하는 비중을 한눈에 쉽게 파악할 수 있습니다.

컴포넌트를 추가한 뒤에는 위치나 크기 등을 해당 대시보드 내에서 자유롭게 조정할 수 있습니다. 또 하나의 대시보드에는 최대 20개의 컴포넌트를 추가할 수 있어서 다양한 데이터들을 직관적으로 살펴볼 수 있습니다.
각 월별로 얼마나 많은 Opp 들이 성사되었는지 파악하기 쉽도록 시각화 해보겠습니다.

먼저 데이터 소스로 사용할 리포트를 위와 같이 생성해줬습니다. Closed Won 상태의 레코드만 포함하도록 하고, 시각화 컴포넌트 사용을 위해 Close Month를 기준으로 그룹화 했습니다.

기존에 생성한 대시보드에 + Widget 버튼을 눌러 Chart or Table을 선택한 뒤 생성한 리포트를 선택하고 Vertical Bar Chart로 시각화 하도록 컴포넌트를 추가했습니다.

결과적으로 위와 같이 각기 다른 데이터들을 각각 적합한 형태로 시각화한 컴포넌트들을 추가함으로써 직관적으로 파악하기 쉽게 대시보드를 구성할 수 있습니다.

다이나믹 대시보드를 통해 Salesforce Lightning Experience에서 대시보드를 보는 사람이 누구인지에 따라 보이는 데이터를 동적으로 바꿀 수 있습니다. 이는 데이터 접근성을 맞춤화하고, 사용자별로 필요한 데이터를 정확하게 제공하는 데 매우 유용합니다.
다이나믹 대시보드 설정 방법:
대시보드 생성 또는 편집: 대시보드를 새로 생성하거나 기존 대시보드를 편집 모드로 엽니다.
대시보드 설정: 대시보드 설정 영역에서 '다이나믹 대시보드' 옵션을 선택합니다.
실행 사용자 지정:
나(Me): 대시보드를 보는 사람이 당신의 데이터 접근 권한에 따라 데이터를 볼 수 있습니다. 예를 들어, 당신이 캐나다의 오퍼튜니티만 볼 수 있다면, 대시보드 사용자도 캐나다의 오퍼튜니티 데이터만 볼 수 있습니다.
다른 사람(Another person): 지정한 다른 사용자의 데이터 접근 수준에 따라 대시보드 데이터가 결정됩니다. 예를 들어, 전 세계의 오퍼튜니티를 볼 수 있는 사용자를 선택하면, 대시보드 사용자는 모든 국가의 오퍼튜니티 데이터를 볼 수 있습니다.
대시보드 보는 사람(The dashboard viewer): 대시보드를 보는 사람이 자신의 데이터 접근 권한에 따라 데이터를 볼 수 있습니다. 이 설정은 다이나믹 대시보드로, 사용자별로 맞춤화된 정보를 제공할 수 있습니다.
다이나믹 대시보드 제한 사항:
조직은 엔터프라이즈 에디션의 경우 최대 5개, 언리미티드 및 퍼포먼스 에디션의 경우 최대 10개, 개발자 에디션의 경우 최대 3개의 다이나믹 대시보드를 가질 수 있습니다.
다이나믹 대시보드는 특정 에디션에서만 사용할 수 있으며, 경우에 따라 추가 다이나믹 대시보드를 구매할 수 있습니다.
⚠️주의사항:
- "모든 데이터 보기(View All Data)" 권한이 있는 경우, 조직 내의 어떤 사용자든 실행 사용자로 선택할 수 있습니다.
- "내 팀의 대시보드 보기(View My Team's Dashboards)" 권한이 있는 경우, 역할 계층에서 당신 아래에 있는 사용자를 선택할 수 있습니다.
다이나믹 대시보드를 활용함으로써, 조직 내 다양한 사용자의 필요에 맞춘 데이터 시각화와 정보 제공이 가능해집니다.

대시보드를 구독하여 설정한 일정(매일, 매주, 매월)에 따라 새로고침하고, 새로고침된 대시보드 결과를 이메일로 받을 수 있습니다. 자신뿐만 아니라 다른 사용자, 그룹, 역할을 대시보드에 구독시킬 수 있습니다.
예를 들어, 매주 월요일 오전 8시에 업무 시작과 함께 대시보드를 검토하려면, 대시보드를 매주 월요일에 받도록 일정을 설정하세요.
⚠️참고
대시보드 속성의 '대시보드 보기 설정'에서 대시보드 뷰어로 데이터를 표시하도록 구성된 대시보드는 구독할 수 없습니다.