! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

.NET을 사용하여 Microsoft Dynamics 365 영업 파이프라인 보고서를 빌드하는 방법 > 블로그 & Tips

본문 바로가기

ComponentOne

블로그 & Tips

.NET을 사용하여 Microsoft Dynamics 365 영업 파이프라인 보고서를 빌드하는 방법

페이지 정보

작성자 GrapeCity 작성일 2021-10-21 13:50 조회 3,625회 댓글 0건

본문

영업 파이프라인은 잠재 고객을 체계적인 방식으로 추적하는 한 가지 방법입니다. 영업 파이프라인을 통해 여러 영업 단계를 통과하는 각 잠재 고객의 진행 상황을 관찰할 수 있습니다. Dynamic 365 Sales에서 영업 파이프라인은 자격 검증, 개발, 제안, 마감의 네 가지 영업 단계로 나뉘고 영업 파이프라인 보고서를 만들어 잠재 고객을 모니터링합니다.


영업 파이프라인 보고서의 정보는 미래 수익을 예측하고 영업 팀의 목표를 설정하는 데 사용됩니다. 보고서에는 사용자, 영업 지역, 고객 지역, 날짜, 제품, 평가 또는 영업 단계별로 그룹화된 잠재적 매출 차트가 표시되며 사용자가 모두 표시나 유사한 옵션을 클릭하여 세부 정보 보고서를 볼 수 있습니다.


이 블로그에서는 FlexReportDesigner에서 C1.AdoNet.D365S 데이터 공급자로 Dynamic 365 Sales에 바인딩하여 영업 파이프라인 보고서를 만드는 방법을 알아봅니다. 영업 파이프라인 차트가 영업 단계와 마감 날짜를 기준으로 그룹화되는 영업 파이프라인 보고서를 만든 후 기본적으로 숨겨지고 세부 정보 보고서 보기 옵션을 클릭하여 볼 수 있는 세부 정보 보고서를 만듭니다. 만들려는 보고서의 빠른 다중 페이지 보기는 다음과 같습니다.


Image0


영업 파이프라인 보고서를 만들려면 아래의 자세한 단계를 따르십시오.



FlexReportDesigner를 사용하여 영업 파이프라인 보고서 만들기


FlexReportDesigner는 Studio for Winforms가 시스템에 설치되어 있는 경우 C:\Program Files (x86)\ComponentOne\Apps\v4.5.2 위치에서 사용할 수 있는 독립 실행형 응용 프로그램입니다. FlexReportDesigner에는 32비트와 64비트의 두 가지 버전이 있으며, 요구 사항에 따라 두 버전 중 하나를 사용할 수 있습니다. FlexReportDesigner에 대한 자세한 내용은 설명서 링크를 참조하십시오.


아래 제공된 단계에 따라 보고서를 만드는 데 사용할 FlexReportDesigner 응용 프로그램 인스턴스를 먼저 열어봅시다.



1단계: 새 보고서 만들기


영업 파이프라인 보고서를 만드는 첫 번째 단계는 아래 단계에 따라 빈 보고서를 새로 만드는 것입니다.


1. 새 보고서를 만들려면 FlexReportDesigner 왼쪽 패널의 보고서 섹션에서 “새 보고서” 드롭다운 버튼을 클릭합니다. 드롭다운 메뉴에서 “빈 보고서”를 선택합니다. 이름이 Report1인 빈 보고서가 추가되는 것을 관찰합니다.

img

2. 속성 창에서 ReportName 속성을 설정하여 보고서 이름을 변경합니다. 여기서는 Sales Report로 설정합니다.

img



2단계: DataSource에 보고서 바인딩


보고서를 만들 때 핵심 목적은 보고서 사용자가 데이터의 여러 측면을 분석하는 데 도움이 되는 표시 가능 형식으로 데이터를 나타내는 것입니다. 영업 파이프라인 보고서를 통해 사용자는 곧 사용할 수 있는 영업 기회를 분석하고 그에 따라 영업 작업을 미리 계획할 수 있습니다. 이 단계에서는 Dynamic 365 Sales에서 데이터를 가져와 보고서에 바인딩하는 방법을 알아봅니다.


보고서 탭 옆에 제공되는 데이터 탭으로 전환합니다. 기본적으로 이름이 Main인 데이터 소스가 보고서에 추가되고 Sales Report의 DataSource 속성에 설정된 것을 확인할 수 있습니다. 그러나 Main DataSource는 아직 어떤 데이터에도 바인딩되어 있지 않습니다. 아래 단계는 이 기본 데이터 소스를 데이터에 바인딩하는 방법을 설명합니다.


1. Main 데이터 소스를 선택하고 맨 위 메뉴 모음에서 편집 옵션을 클릭합니다. 데이터 소스 창이 표시됩니다.

2. Dynamic 365 Sales 데이터에 바인딩하여 영업 파이프라인 보고서를 만들기 때문에 데이터 소스 창의 데이터 공급자 드롭다운 메뉴에서 C1.AdoNet.D365S를 선택합니다. C1.AdoNet.D365S 데이터 공급자는 Dynamic 365 Sales 데이터를 가져오는 데 사용되며, FlexReportDesigner가 지원하는 C1DataConnector에서 제공됩니다. 자세한 내용은 C1DataConnector 설명서를 참조하십시오. img



3. 연결 문자열 필드에서 Dynamic 365 Sales 데이터의 연결 문자열을 직접 추가할 수 있습니다. 또는 연결 문자열 필드 옆에 있는 줄임표를 클릭하고 데이터 링크 속성 창을 사용하여 나중에 통합되어 연결 문자열로 표시되는 연결 문자열의 개별 특성을 설정할 수 있습니다.


img


연결 문자열에 대한 자세한 내용은 연결 문자열 설명서 주제를 참조하십시오. Winforms 응용 프로그램에서 FlexReport와 C1DataConnector를 통합하는 경우 연결 문자열을 사용하여 데이터 공급자에 대한 캐시 설정을 활성화할 수 있습니다.


자세한 내용은 캐시 설정 설명서 주제를 참조하십시오.


Dynamic 365 Sales 데이터에 바인딩하는 데 필요한 연결 문자열은 다음과 같습니다.

Url=https://xxx.xxxx.com/api/data/v9.1/;Use Etag=true;OAuth Client Id=*****;Username=*****;Password=*****;OAuth Token Endpoint=*****;OAuth Extend Properties={'resource':'https://xxx.xxxx.com/'};Max Page Size = 100;



데이터 소스 탭에 표가 표시되는 것을 확인합니다. 이 목록에서 표와 필드를 선택하거나 SQL 문 탭에서 SQL 쿼리를 정의할 수 있습니다.

img



데이터 가져오기


일반적으로 Dynamic 365 Sales는 영업 파이프라인 보고서를 생성하는 데 필요한 필드를 기회 엔터티에 저장합니다. 다음 SQL 쿼리를 사용하여 내부 조인으로 여러 표에서 필요한 필드를 가져옵니다.


데이터 및 보고서 요구 사항에 따라 이 쿼리를 변경할 수 있습니다.

Select op.opportunityid, op. gc_renewaldate, opp.extendedamount, p.name, ps.stagename, su.fullname from opportunities op inner join opportunityproducts opp on opp._opportunityid_value = op.opportunityid inner join opportunitysalesprocesses osp on osp._opportunityid_value = op.opportunityid inner join products p on p.productid = opp._productid_value inner join accounts a on a.accountid = op._parentaccountid_value and a.name like 'account%' inner join processstages ps on ps.processstageid = osp._activestageid_value inner join systemusers su on su.systemuserid = op._ownerid_value where gc_renewaldate IS NOT NULL LIMIT 105


위의 쿼리를 SQL 문 탭에 추가하고 Main 데이터 소스 아래에 표시된 모든 필드를 관찰합니다.


img



3단계: 보고서 레이아웃 디자인


헤더 섹션 구성


FlexReport의 헤더 섹션은 보고서를 렌더링할 때 첫 번째로 렌더링되는 섹션입니다. 보고서 시작 부분에서 한 번만 렌더링됩니다. 이 섹션에는 보고서 제목, 세부 정보 보고서의 표시 유형을 제어하는 데 사용되는 숨겨진 TextField, 영업 파이프라인 차트, 세부 정보 보고서 보기 옵션을 추가합니다.


먼저 헤더 섹션의 Height 속성을 10770으로 설정합니다. 또한 세부 정보 보고서를 렌더링할 때 페이지 나누기를 추가하기 위해 OnFormat 이벤트를 처리할 스크립트를 작성합니다. 이 페이지 나누기는 영업 파이프라인 차트가 렌더링된 페이지가 아닌 새 페이지에서 세부 정보 보고서 렌더링이 시작되도록 합니다. VBScript 편집기를 사용하여 OnFormat 이벤트에 다음 스크립트를 추가합니다. FlexReportDesigner에서 VBScript 편집기를 사용하는 방법을 설명하는 설명서 링크를 참조하십시오.

If hiddenField.Text = "Hide Report"
Then
Header.ForcePageBreak = "None"
Else
Header.ForcePageBreak = "After"
EndIf



보고서 제목 추가


이 단계에서는 보고서의 헤더 섹션에 TextField를 삽입하여 보고서 제목을 추가하고 다음 속성을 설정하여 TextField의 서식을 지정합니다.


table1



숨겨진 TextField 추가


여기서는 세부 정보 보고서의 표시 유형을 제어하는 데 사용되는 TextField를 추가합니다. 헤더 섹션에 TextField를 삽입하고 다음 속성을 설정하여 구성합니다.


table2



세로 막대형 차트 추가


다음에는 영업 파이프라인 차트를 만들기 위해 세로 막대형 차트를 추가합니다. 차트는 보고서 맨 위에 한 번만 렌더링되어야 하므로 보고서의 헤더 섹션에 세로 막대형 차트를 추가합니다. 다음 단계를 따르십시오.


1. 헤더 섹션에 차트 제목 역할을 할 TextField를 삽입하고 다음 속성을 설정하여 TextField의 서식을 지정합니다.


table3


2. TextField 아래에 FlexChartField를 다음 구성으로 삽입합니다.

table4


3. FlexChartField의 Series 속성 옆에 있는 줄임표를 클릭하여 액세스하는 계열 컬렉션 편집기에서, Series 속성을 아래에 설명된 대로 구성하여 FlexChartField에 계열을 추가합니다.


  • 제거 및 추가 버튼을 각각 클릭하여 기본 계열을 제거하고 새 계열을 추가합니다.

  • 식 편집기를 사용하여 계열의 YExpression 속성을 =sum(extendedamount)으로 설정합니다. 여기서 extendedamount는 데이터베이스 필드입니다.

  • 계열의 Label 속성을 =stagename으로 설정합니다. 여기서 stagename은 데이터베이스 필드입니다.


계열을 추가하고 구성한 후 계열 컬렉션 편집기의 빠른 보기는 다음과 같습니다.


img


4. 다음에는 영업 단계별로 차트 계열을 그룹화하기 위해 계열 그룹을 추가합니다. FlexChartField의 SeriesGroups 속성 옆에 있는 줄임표를 클릭하여 액세스하는 DataGroup 컬렉션 편집기에서 SeriesGroups 속성을 아래에 설명된 대로 구성하여 FlexChart에 계열 그룹을 추가합니다.


  • 추가 버튼을 클릭하여 새 SeriesGroup을 추가합니다.

  • SeriesGroup의 GroupExpression 속성을 stagename으로 설정합니다. 여기서 stagename은 데이터베이스 필드입니다.


계열 그룹을 추가하고 구성한 후 DataGroup 컬렉션 편집기의 빠른 보기는 다음과 같습니다.


img



5. FlexChartField의 CategoryGroups 속성 옆에 있는 줄임표로 DataGroup 컬렉션 편집기에 액세스하여 CategoryGroup을 추가합니다. 새 CategoryGroup을 추가하고 GroupExpression 속성을 Month(gc_renewaldate)로 설정하여 XAxis에 표시되는 날짜를 월별로 그룹화합니다. 여기서 gc_renewaldate는 데이터베이스 필드입니다.


범주 그룹을 추가하고 구성한 후 DataGroup 컬렉션 편집기의 빠른 보기는 다음과 같습니다.


img


  1. 차트의 XLabelExpression 속성을 MonthName(Month(gc_renewaldate)) & " " & Year(gc_renewaldate)로 설정하여 월별 및 연도별로 그룹화된 CloseDate를 X축에 그립니다.

  2. FlexChart의 Stacking 속성을 Stacked로 설정합니다.

  3. AxisX Title 속성을 “Close Date”, TitleStyle Font 속성을 Segoe UI, 11pt, Bold, LabelAngle을 30으로 설정하여 AxisX 제목을 구성합니다.

  4. AxisY Title 속성을 “Sum of Amount”, TitleStyle Font 속성을 Segoe UI, 11pt, Bold로 설정하여 AxisY 제목을 구성합니다.

  5. 범례 Title 속성을 Sales Stage, Legend → Style → Font 속성을 Segoe UI, 10pt, Bold로 설정하여 범례를 구성합니다.



세부 정보 보고서를 표시할 하이퍼링크 추가


이 단계에서는 클릭 시 자세한 영업 파이프라인 보고서를 표시하는 TextField를 추가합니다. FlexChartField 아래에 TextField를 삽입하고 다음 속성을 설정하여 하이퍼링크 역할을 하도록 구성합니다.


table5


다음에는 VBScript 편집기를 사용하여 하이퍼링크 클릭 시 실행되는 스크립트를 추가합니다. LinkTargetOnNavigate 속성 옆에 있는 줄임표를 클릭하여 VBScript 편집기를 엽니다. 다음 스크립트를 추가합니다.

hiddenField.Text = "View Report"


위에서 언급한 필드를 모두 추가한 후 FlexReportDesigner 헤더 섹션의 빠른 보기는 다음과 같습니다.


img

세부 정보 섹션 구성



자세한 영업 파이프라인 보고서를 표시할 TextField 추가


세부 정보 섹션의 Height 속성을 1560으로 설정합니다.


1. 다음에는 보고서의 세부 정보 섹션에 자세한 영업 파이프라인 보고서를 표시할 TextField 4개를 추가합니다. 세부 정보 섹션에 TextField 4개를 삽입하고 적절하게 구성합니다.

table6


2. 다음 스크립트를 추가하여 세부 정보 보고서의 표시 유형을 제어할 세부 정보 섹션 OnFormat 이벤트를 처리합니다.

If hiddenField.Text = "Hide Report" Then
Detail.Visible = False
Else
Detail.Visible = True
EndIf


위에서 언급한 필드를 모두 추가한 후 FlexReportDesigner 세부 정보 섹션의 빠른 보기는 다음과 같습니다.

img

GroupHeader 섹션 구성 



GroupHeader를 추가하여 영업 단계별로 SalesPipelineReport 데이터 그룹화


기본적으로 세부 정보 보고서에는 데이터 소스에서 가져온 대로 데이터가 표시되지만 자격 검증, 개발, 제안, 마감 등의 영업 단계별로 데이터를 그룹화하겠습니다. 이렇게 하려면 아래 언급된 단계를 따르십시오.


  1. 홈 탭의 데이터 섹션에서 그룹 옵션을 클릭하여 보고서에 그룹을 추가합니다 그룹 편집기가 표시됩니다. 추가 버튼을 클릭하여 그룹을 추가합니다.

  2. 그룹의 GroupBy 속성을 데이터베이스 필드인 stagename으로 설정합니다. 그룹 이름이 자동으로 Group_stagename으로 변경됩니다.

  3. 그룹 편집기에서 그룹의 ShowGroupHeader 속성을 True, KeepTogetherKeepWholeGroup으로 설정합니다. 그룹을 추가하고 구성한 후 그룹 편집기의 빠른 보기는 다음과 같습니다. img

  4. 그룹 편집기 창을 닫고 GroupHeader 및 GroupFooter 섹션이 보고서에 추가된 것을 확인합니다.

  5. 삽입 탭의 하위 섹션 추가 옵션을 사용하여 GroupHeader하위 섹션을 추가합니다. 여기서는 GroupHeader의 두 가지 서식 유형을 표시하기 위해 하위 섹션이 필요합니다.

  6. 첫 번째 GroupHeader 섹션의 Height 속성을 1275, 두 번째 GroupHeader 섹션의 Height 속성을 810으로 설정합니다.

  7. 첫 번째 GroupHeader 섹션에서 Background를 진한 파랑(31, 73, 125)으로 설정하고 몇 개의 TextField를 아래에 설명된 대로 추가합니다. table7

  8. 두 번째 GroupHeader 섹션에서 Background를 회색(217, 217, 217)으로 설정하고 세부 정보 섹션에 표시되는 세부 정보의 열 헤더 역할을 할 TextField 4개를 추가합니다. TextField 4개를 삽입하고 다음과 같이 구성합니다. table8

  9. 마지막으로, GroupHeaderOnFormat 이벤트를 처리하여 세부 정보 보고서의 표시 유형을 제어하는 다음 스크립트를 추가합니다.

    If hiddenField.Text = "Hide Report" Then
    Group_stagename_Header.SubSections(0).Visible = False
    Group_stagename_Header.SubSections(1).Visible = False
    Else
    Group_stagename_Header.SubSections(0).Visible = True
    Group_stagename_Header.SubSections(1).Visible = True
    EndIf

위에서 언급한 필드를 모두 추가한 후 FlexReportDesigner GroupHeader 섹션의 빠른 보기는 다음과 같습니다.

img



4단계: 보고서 저장 및 미리 보기


이제 보고서가 디자인되었으며 미리 볼 수 있습니다. 신속하게 보고서를 저장하고 미리 보기 버튼을 클릭하여 보고서를 미리 봅니다. 아래 GIF는 렌더링된 보고서를 보여 줍니다. 처음에는 영업 파이프라인 차트가 렌더링되고, 세부 정보 보고서 보기 옵션을 클릭하면 다양한 영업 단계별로 그룹화된 세부 정보 보고서가 렌더링됩니다.


Image


FlexReport와 FlexReportDesigner의 다양한 기능을 사용하여 다른 유형의 차트를 만드는 방법에 대한 인사이트를 얻으려면 FlexReport 설명서를 참조하십시오.





지금 바로 ComponentOne을 다운로드하여 직접 테스트해보세요!

 


  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.