WinForms 피벗을 통한 KPI 분석
페이지 정보
작성자 GrapeCity 작성일 2019-12-09 00:00 조회 4,479회 댓글 0건본문
첨부파일
관련링크
피벗 그리드는 OLAP Cube와 같은 다차원 데이터 소스를 읽고 다양한 분석 보기를 통해 데이터를 시각화할 수 있습니다. 다차원 데이터 소스를 쉽게 읽을 수 있도록 ComponentOne은 Flex 피벗 (Excel 피벗 테이블과 유사한 강력한 분석 도구)을 제공합니다. 피벗 테이블의 필드 목록에서 선택한 필드를 기반으로 특정 데이터 보기를 제공합니다.
ComponentOne의 최신 릴리스에서 강화된 피벗 그리드는 FlexPivot for WinForms을 통해, KPI (Key Performance Indicator)에 대한 지원을 제공합니다. 여기에서는 KPI가 무엇인지 설명하고, ComponentOne의 피벗 그리드에서 KPI를 시각화하는 방법을 안내합니다.
이 기능을 통해 개발자는 FlexPivot에서 KPI 데이터 정보를 표시할 수 있습니다. 이를 통해 그리드 뷰 (피벗 테이블)에 KPI 추세, 상태 및 기타 정보를 표시할 수 있습니다.
이 기능을 통해 FlexPivot은 데이터 소스에 KPI 유형 데이터가 있는지 자동으로 감지할 수 있습니다. KPI 필드가 콜렉션에 추가되면 해당 필드와 관련된 상태, 경향 및 목표를 제시 할 수 있습니다.
핵심 성과 지표 (KPI)
KPI는 다차원 데이터 구조인 OLAP (On-line Analytical Processing) 큐브에 있는 데이터 메트릭 입니다. 정해진 목표를 향한 진행 상황을 측정하여 비즈니스 성공을 평가하는 데 도움이 됩니다. 일반적으로 KPI는 상태(status), 추세(trends) 및 목표(goal)로 구성됩니다.
위 이미지는 KPI의 Categories 필드를 보여줍니다 (3 년 동안의 추세 및 상태를 보여줍니다.)
피벗 그리드의 KPI
OLAP Cube에 연결하면, FlexPivot(고급 처리 컨트롤)이 KPI 정보를 자동으로 인식하여, 피벗 그리드에 렌더링 합니다.
아래에서 실제로 피벗 그리드를 OLAP 큐브에 연결하고 KPI를 표시하는 방법을 살펴 보겠습니다.
OLAP 큐브에 피벗 그리드 연결
FlexPivot을 OLAP 큐브에 연결하면, 한 단계 만으로 다차원 데이터베이스가 만들어집니다.
피벗 그리드는 피벗 그리드를 큐브 데이터 소스에 연결하는 데, 도움이되는 'ConnectCube'방법을 제공합니다.
//Set up data-connection string
string connectionString = @"Data Source=http://ssrs.componentone.com/OLAP/msmdpump.dll;Provider=msolap;Initial Catalog=AdventureWorksDW2012Multidimensional";
string cubeName = "Adventure Works";
//Connect Cube Data to FlexPivotPage
//Set up data-connection string
string connectionString = @"Data Source=http://ssrs.componentone.com/OLAP/msmdpump.dll;Provider=msolap;Initial Catalog=AdventureWorksDW2012Multidimensional";
string cubeName = "Adventure Works";
//Connect Cube Data to FlexPivotPage
c1FlexPivotPage1.FlexPivotPanel.ConnectCube(cubeName, connectionString);
시연을 위해 위 예제는 FlexPivot을 'AdventureWorks'OLAP 큐브에 연결합니다.
피벗 그리드에 KPI 표시
피벗 그리드가 큐브에 연결되면 KPI 정보를 자동으로 식별됩니다. 피벗 그리드에 데이터를 이미 추가했으며, 다음 코드를 사용했다고 가정할 경우, 피벗 그리드에서 KPI 필드를 표시하는 방법에 초점을 맞추어봅니다.
var fp = c1FlexPivotPage1.FlexPivotEngine;
fp.BeginUpdate();
fp.ColumnFields.Add("Date.Fiscal Year");
fp.RowFields.Add("Category ");
fp.EndUpdate();
각 KPI마다 상태(status) 및 추세(trend)에 대한 필드가 있습니다. OLAP Cube에서 이러한 KPI 필드를 추가하려면, 피벗 그리드의 FlexPivotEngine.ValueFields 컬렉션을 사용하여 피벗 그리드에 표시하십시오.
//Show KPI Field data in the FlexPivotPage using ValueFields
var fp = c1FlexPivotPage1.FlexPivotEngine;
fp.BeginUpdate();
fp.ValueFields.Add("Internet Revenue Trend");
fp.ValueFields.Add("Internet Revenue Status");
fp.EndUpdate();
위의 코드는 인터넷 수익 KPI 추세(Trend) 및 상태(Status)를 그리드를 피벗에 추가합니다.
피벗 그리드에서 KPI 그래픽 수정
KPI 필드 상태 및 추세는 각각 기본 그래픽 'Cylinder'및 'StandardArrow'와 함께 나타납니다. 그러나 피벗 그리드를 사용하면 개발자가 기본 그래픽을 변경하고 요구 사항에 따라 그래픽을 사용할 수 있습니다.
각 KPI와 관련된 그래픽은 KpiGraphics 열거(enumeration)를 사용하여 지정할 수 있습니다. 따라서 사용자 지정 그래픽으로 KPI 값을 시각화하려면, 상태 및 추세 필드에 KpiGraphics 속성을 설정하십시오.
void Scan(IEnumerable<C1FlexPivotField> list)
{
foreach (var field in list)
{
if (field is C1KpiField)
(field as C1KpiField).KpiGraphics = (KpiGraphics)Enum.Parse(typeof(KpiGraphics), KpiGraphicsCombo.SelectedValue.ToString());
if (field is C1CubeField)
Scan((field as C1CubeField).SubFields);
}
}
위의 'Scan' 메도스는 필드 목록을 탐색하고, 필드가 KPI 필드인 경우, 콤보 상자에서 선택한 것으로 그래픽을 변경합니다. 따라서 피벗 그리드의 모든 필드에 대한 그래픽을 변경하려면, 모든 필드를 위의 방법으로 전달하십시오.
Scan(c1FlexPivotPage1.FlexPivotEngine.Fields);
이 포스팅에서는 핵심 성과 지표 (KPI)의 정의, WinForms (FlexPivot)의 피벗 그리드에서 시각화하는 방법 및 KPI 필드 값에 대한 기본 제공 그래픽을 수정하는 방법에 대해 설명했습니다. 이 기능이 응용 프로그램에 유용하기를 바랍니다.
댓글목록
등록된 댓글이 없습니다.