개발자는 고유한 Power BI 시각적 개체를 만들 수 있습니다. 이러한 시각적 개체는 사용자, 조직 또는 타사에서 사용할 수 있습니다.
이 문서는 Power BI용 R 기반 시각적 개체를 만들기 위한 단계별 가이드입니다.
이 튜토리얼에서는 다음을 배우게 됩니다:
- R로 구현된 비주얼 만들기
- Power BI Desktop에서 R 스크립트 편집
- 비주얼화의 종속성 파일에 라이브러리 추가
- 정적 속성 추가
필수 조건
- Power BI Pro 계정. 시작하기 전에 무료 평가판에 등록합니다.
- R 엔진입니다. Microsoft R Open 다운로드 페이지 및 CRAN 리포지토리를 포함하여 여러 위치에서 무료로 다운로드할 수 있습니다. 자세한 내용은 R을 사용하여 Power BI 시각적 개체 만들기를 참조하세요.
- Power BI Desktop.
- Windows 사용자용 Windows PowerShell 버전 4 이상 또는 OSX 사용자용 터미널
시작하기
비주얼 용 샘플 데이터를 준비합니다. 이러한 값을 Excel 데이터베이스 또는 .csv 파일에 저장하고 Power BI Desktop으로 가져올 수 있습니다.
월번호 총 단위 1 2303 2 2319 3 1732 4 1615 5 1427 6 2253 7 1147 8 1515 9 2516 10 3131 11 3170 12 2762 시각적 개체를 만들려면 PowerShell 또는 터미널을 열고 다음 명령을 실행합니다.
pbiviz new rVisualSample -t rvisual이 명령은 rVisualSample 시각적 개체에 대한 새 폴더를 만듭니다. 구조는 템플릿을 기반으로 합니다
rvisual. 시각적 개체의 루트 폴더에 script.r 이라는 파일을 만듭니다. 이 파일은 시각적 개체가 렌더링될 때 이미지를 생성하기 위해 실행되는 R 스크립트를 보유합니다. Power BI Desktop에서 R 스크립트를 만들 수 있습니다.새로 만든
rVisualSample디렉터리에서 다음 명령을 실행합니다.pbiviz startPower BI Desktop에서 R 스크립트 시각적 개체를 선택합니다.
MonthNo 및 총 단위를 시각적 개체의 값 필드에 끌어 놓아 개발자 시각적 개체에 데이터를 할당합니다.
요약하지 않도록총 단위의 집계 유형을 설정합니다.
Power BI Desktop의 R 스크립트 편집기에서 다음을 입력합니다.
plot(dataset)이 명령은 의미 체계 모델의 값을 입력으로 사용하여 분산형 차트를 만듭니다.
스크립트 실행 아이콘을 선택하여 결과를 확인합니다.
R 스크립트 편집
R 스크립트를 수정하여 다른 유형의 시각적 개체를 만들 수 있습니다. 이제 꺾은선 차트를 만들어 보겠습니다.
다음 R 코드를 R 스크립트 편집기에 붙여넣습니다.
x <- dataset[,1] # get the first column from semantic model y <- dataset[,2] # get the second column from semantic model columnNames = colnames(dataset) # get column names plot(x, y, type="n", xlab=columnNames[1], ylab=columnNames[2]) # draw empty plot with axis and labels only lines(x, y, col="green") # draw line plot스크립트 실행 아이콘을 선택하여 결과를 확인합니다.
R 스크립트가 준비되면 시각적 프로젝트의 루트 디렉터리에 있는
script.r파일에 복사합니다.capabilities.json 파일에서 :
dataRoles을name데이터 세트로 변경하고 입력을dataViewMappings데이터 세트로 설정합니다.{ "dataRoles": [ { "displayName": "Values", "kind": "GroupingOrMeasure", "name": "dataset" } ], "dataViewMappings": [ { "scriptResult": { "dataInput": { "table": { "rows": { "select": [ { "for": { "in": "dataset" } } ], "dataReductionAlgorithm": { "top": {} } } } }, ... } } ], }다음 코드를 추가하여 src/visual.ts 파일에서 이미지 크기 조정을 지원합니다.
public onResizing(finalViewport: IViewport): void { this.imageDiv.style.height = finalViewport.height + "px"; this.imageDiv.style.width = finalViewport.width + "px"; this.imageElement.style.height = finalViewport.height + "px"; this.imageElement.style.width = finalViewport.width + "px"; }
시각적 패키지에 라이브러리 추가
패키지는 corrplot 상관 관계 행렬의 그래픽 표시를 만듭니다. 자세한 corrplot내용은 corrplot 패키지 소개를 참조하세요.
corrplot파일에 라이브러리 종속성을 추가합니다dependencies.json. 파일 콘텐츠의 예는 다음과 같습니다.{ "cranPackages": [ { "name": "corrplot", "displayName": "corrplot", "url": "https://cran.r-project.org/web/packages/corrplot/" } ] }이제
script.r파일에서 corrplot 패키지를 사용할 수 있습니다.library(corrplot) corr <- cor(dataset) corrplot(corr, method="circle", order = "hclust")패키지를 사용한
corrplot결과는 다음 예제와 같습니다.
속성 창에 정적 속성 추가
이제 기본 corrplot 시각적 개체가 있으므로 사용자가 시각적 개체의 모양과 느낌을 변경할 수 있도록 속성 창에 속성을 추가해 보겠습니다.
인수를 method 사용하여 데이터 요소의 모양을 구성합니다. 기본 스크립트는 원을 사용합니다. 사용자가 여러 옵션 중에서 선택할 수 있도록, 비주얼을 수정하십시오.
objectcapabilities.json 파일에 설정을 정의하고 다음 속성을 지정합니다."settings": { "properties": { "method": { "type": { "enumeration": [ { "value": "circle" }, { "value": "square" }, { "value": "ellipse" }, { "value": "number" }, { "value": "shade" }, { "value": "color" }, { "value": "pie" } ] } } } }src/settings.ts 파일을 엽니다.
VisualCardSettings아래 코드 상자에 표시된 것처럼 공용 속성method,name,displayName,slices를 사용하여 클래스를 만드십시오.import ItemDropdown = formattingSettings.ItemDropdown; const methodOptions = [ { displayName: "Circle", value: "circle" }, { displayName: "Square", value: "square" }, { displayName: "Ellipse", value: "ellipse" }, { displayName: "Number", value: "number" }, { displayName: "Shade", value: "shade" }, { displayName: "Color", value: "color" }, { displayName: "Pie", value: "pie" } ] class VisualCardSettings extends FormattingSettingsCard { method: FormattingSettingsSlice = new ItemDropdown({ name: "method", displayName: "Method", items: methodOptions, value: methodOptions[0] }); name: string = "settings"; displayName: string = "Settings"; slices: Array<FormattingSettingsSlice> = [this.method]; }이러한 단계 후에는 시각적 개체의 속성을 변경할 수 있습니다.
마지막으로 R 스크립트에는 기본 속성이 있어야 합니다. 사용자가 속성 값(이 경우 셰이프 설정)을 변경하지 않으면 시각적 개체에서 이 값을 사용합니다.
속성에 대한 R 런타임 변수의 경우 명명 규칙은
<objectname>_<propertyname>이 경우settings_method입니다.다음 R 스크립트를 실행합니다.
library(corrplot) corr <- cor(dataset) if (!exists("settings_method")) { settings_method = "circle"; } corrplot(corr, method=settings_method, order = "hclust")
시각화 패키징 및 가져오기
이제 시각적 개체를 패키지하고 모든 Power BI 보고서로 가져올 수 있습니다.
displayName,supportUrl,description, 작성자name및email그리고 기타 중요한 정보를pbivis.json파일에 입력합니다.시각화 창에서 시각적 개체의 아이콘을 변경하려면 자산 폴더의 icon.png 파일을 바꿉 니다 .
귀하의 비주얼 실행 파일의 루트 디렉터리에서:
pbiviz package시각적 개체 패키징에 대한 자세한 내용은 사용자 지정 시각적 개체 패키징을 참조하세요.
시각적 개체의 pbiviz 파일을 Power BI 보고서로 가져옵니다. 이 작업을 수행하는 방법에 대한 지침은 로컬 컴퓨터에서 Power BI로 시각적 파일 가져오기 를 참조하세요.
최종 시각적 요소는 다음 예제처럼 보입니다.