편집

다음을 통해 공유


Power Apps 및 Power Automate를 사용하여 Power BI 데이터 쓰기 저장

Power BI
Power Apps
Power Automate
Microsoft Power Platform

이 솔루션은 Power BI의 네이티브 Power Apps 시각적 개체를 통해 Power Apps 캔버스 앱을 구현합니다. Power Automate는 대량 처리 및 새로 고침을 위한 백그라운드 자동화를 제공합니다.

아키텍처

Diagram that shows an architecture for Power BI data write-back.

이 아키텍처의 Visio 파일을 다운로드합니다.

데이터 흐름

이 솔루션의 핵심 구성 요소는 지원 백 엔드의 모든 업데이트에 대해 Power BI에서 미리 필터링된 데이터를 Power Apps 및/또는 Power Automate 유입 경로로 전달하는 기능을 통합합니다. 업데이트가 모든 사용자에게 표시되도록 Power BI 데이터 세트(또는 데이터 흐름)를 새로 고치는 것이 중요합니다.

배포

자세한 내용은 이 문서의 뒷부분에 있는 이 시나리오 배포를 참조하세요.

A. 관련 사용자 지정 테이블을 사용하여 Dataverse 및 지원 모델 기반 앱을 배포합니다.

B. 모든 백 엔드 테이블과 보기를 Power BI 데이터 세트(PBIX)로 가져옵니다.

C. 데스크톱 애플리케이션에서 Power Apps 시각화를 통해 Power BI와 Power Apps 간의 통합을 시작합니다.

D. Power Apps를 사용하여 캔버스 앱을 생성한 후 필요한 모든 데이터와 상호 작용하고 업데이트하는 기능을 제공합니다.

프로세스 흐름

  1. 데이터를 수집합니다. Power BI 보고서에서 시각화의 일부를 선택하여 선택한 행 또는 데이터 세트를 교차 필터링합니다. 이 상호 작용은 Power BI 보고서 인터페이스에서 필요한 기본 데이터가 포함된 캔버스 앱으로 전달합니다.
  2. 캔버스 앱의 UI를 사용하여 데이터를 업데이트하거나 Dataverse에 삽입합니다. Power Apps가 기본이고 백 엔드 데이터에 직접 연결된 폼 및 갤러리와 같은 바인딩된 컨트롤을 사용하여 이 작업을 수행할 수 있습니다. 또는 바인딩되지 않은 컨트롤을 사용하여 보다 사용자 지정된 기능을 구현할 수 있습니다. 이러한 컨트롤에는 추가 Power Fx 코드가 필요합니다. 단일 업데이트 시나리오의 경우 SubmitForm, Patch, UpdateIf 함수를 통해 백 엔드에 데이터를 직접 커밋하도록 앱을 코딩할 수 있습니다. 대량 업데이트 시나리오의 경우 Collect 함수를 사용하여 컬렉션(가상 테이블)을 설정할 수 있습니다. 그런 다음, 컬렉션을 전달하여 모든 데이터 업데이트를 한 번에 처리할 수 있습니다. 캔버스 앱의 스크린샷은 Power App UI를 참조하세요.
  3. 원본에 업데이트를 푸시합니다. Power Automate 흐름은 시나리오에 요구한 대로 백그라운드 자동화를 제공합니다. 선택한 테이블의 행이 하나만 업데이트되는 단일 업데이트 시나리오의 경우 간단한 흐름이 실행되어 PBIX 데이터 세트를 새로 고칩니다. 이렇게 하면 업데이트된 데이터가 Dataverse 백 엔드 및 보고 레이어에 반영됩니다. 대량 업데이트 시나리오의 경우 더 복잡한 흐름이 실행됩니다. 이전 단계에서 설명한 Power Apps 컬렉션에서 전달된 중첩된 개체의 JSON 컬렉션을 사용합니다. 그러면 흐름에서 중첩된 각 개체를 반복하여 필요에 따라 Dataverse의 데이터를 개별적으로 업데이트합니다. 업데이트 단계가 완료되면 흐름이 PBIX를 새로 고칩니다. Power BI 보고서에서 DirectQuery를 사용하는 경우 PBIX 새로 고침과 관련된 자동화된 단계는 필요하지 않습니다.
  4. 업데이트를 시각화합니다. 모든 데이터가 업데이트되고 새로 고쳐집니다. 최종 사용자는 브라우저 창을 새로 고쳐 업데이트를 확인합니다.

구성 요소

  • Dataverse 매우 안전하고, 사용자 지정 가능하며, 확장 가능한 환경에 데이터를 저장하는 데 사용할 수 있는 백 엔드 데이터베이스 솔루션입니다. 이 환경은 Dynamics 365, Azure, Visual Studio, Power Query에 원활하게 연결됩니다. Dataverse는 의미적 일관성을 제공하는 효율적인 데이터 처리 및 오픈 소스 공유 데이터 모델을 제공합니다.
  • 게시합니다. 관련 없는 데이터 원본을 시각적으로 몰입도가 뛰어나고 일관된 대화형 정보로 변환하는 소프트웨어 서비스, 앱, 커넥터 컬렉션입니다.
  • Power Apps 포괄적인 데이터 플랫폼에서 사용할 수 있는 앱, 서비스, 커넥터 제품군입니다. 이 서비스를 사용하여 사용자 지정 비즈니스 요구 사항을 충족하는 애플리케이션을 빠르게 생성할 수 있습니다. 이 솔루션에서 Power Apps는 직관적인 UI로 데이터 업데이트 및 삽입에 사용됩니다. 자동화를 위한 트리거로도 작동합니다.
  • Power Automate. 연결된 다양한 앱과 외부 서비스 간에 자동화된 워크플로를 생성하는 데 사용할 수 있는 서비스입니다. 데이터를 전송하고, 알림을 보내고, 아티팩트 등을 수집하도록 구성할 수 있습니다. 이 솔루션에서 Power Automate는 업데이트된 데이터의 대량 처리, PBIX 및/또는 데이터 흐름 레이어의 데이터 새로 고침에 사용하여 업데이트된 데이터를 Power BI 보고서로 다시 푸시합니다.

대안

  • Dataverse의 대안으로는 다음 솔루션이 포함됩니다.
  • 환경의 데이터 규모와 효율성에 따라 이 솔루션에 대해 Power Query 데이터 흐름을 개별적으로 또는 Power BI 데이터 세트와 함께 사용할 수 있습니다. 솔루션에서 데이터 흐름을 사용하는 경우 Power Automate 확장을 관리하여 각 데이터 흐름 또는 데이터 세트를 적절하게 새로 고쳐야 합니다.
  • 선택한 데이터를 업데이트하기 위해 Power BI 보고서에 포함할 수 있는 JavaScript, HTML, C# 또는 기타 언어를 사용하여 사용자 지정 애플리케이션을 빌드할 수 있습니다. 그러나 Power Apps에 대한 네이티브 시각화가 없으므로 이러한 앱은 Power BI 보고서 레이어에서 다르게 구현되어야 합니다. 이러한 앱에 대한 확장성을 구현하는 경우 모니터링해야 합니다. Power BI에서 사용자 지정 구성 요소를 가장 잘 구현하는 방법에 대한 자세한 내용은 Power BI 개발자 센터를 참조하세요.
  • 쓰기 저장 시나리오의 경우 Power BI용 Power Automate 시각적 개체를 사용할 수도 있습니다. 이 시각적 개체는 대규모 데이터 세트를 처리하는 데 최적화되어 있으며 Power Apps는 위임을 처리합니다. Power Automate 및 Power Apps 시각적 개체를 함께 사용하여 확장 가능한 효율성을 제공할 수 있습니다. Power Automate 시각적 개체를 사용하는 경우 표시된 UI 없이 백그라운드에서 데이터가 업데이트됩니다.

시나리오 정보

Power BI의 데이터 쓰기 저장 기능을 위한 이 솔루션은 Power BI에서 직접 데이터를 변경하는 효율적인 대화형 방식을 제공합니다. Power BI에는 현재 보고서 또는 대시보드와 상호 작용하는 동안 데이터의 인라인 또는 대량 업데이트에 사용할 수 있는 네이티브 솔루션이 없습니다. 변경 내용을 데이터에 푸시하려면 데이터 저장소에서 직접 업데이트한 다음, DirectQuery를 사용하지 않는 경우 데이터 세트를 새로 고쳐 프로세스 흐름을 완료해야 합니다. 이 프로세스는 비효율적일 수 있으며 특정 백 엔드 또는 기본 데이터에 액세스할 수 없는 사용자에게 문제가 발생할 수 있습니다.

잠재적인 사용 사례

이 아키텍처는 매우 반복적입니다. 여러 다른 백 엔드 데이터 저장소와 함께 사용하고 다양한 사용 사례에 맞게 조정할 수 있습니다. 이 아키텍처의 일반적인 용도는 다음과 같습니다.

  • 인라인 편집 솔루션은 백 엔드 데이터베이스에 대한 프로비저닝된 액세스 없이 즉시 업데이트해야 하는 데이터에 사용할 수 있습니다.
  • 승인 워크플로 Power Apps 및 Power Automate를 사용하여 Power BI의 기능을 확장하면 최종 사용자가 대시보드에서 직접 검토해야 하는 데이터를 수집하여 후속 승인자에게 보낼 수 있습니다.
  • 데이터 기반 경고 이 솔루션은 레코드 제출을 통해 또는 Power Automate 흐름으로 데이터 패킷을 전달하여 특정 인사이트에 대한 자동화된 알림을 사용자 지정할 수 있습니다.

Power App UI

다음 스크린샷은 Power BI에서 기본 데이터베이스로 데이터를 전달하는 프로세스를 보여 줍니다.

캔버스 앱의 홈 화면은 다음과 같습니다.

Screenshot that shows the home screen for the canvas app.

이 스크린샷은 단일 업데이트에 대한 프로세스를 보여 줍니다.

Screenshot that shows the process for a single update.

이 스크린샷은 대량 업데이트 프로세스를 보여 줍니다.

Screenshot that shows the process for a bulk update.

고려 사항

이러한 고려 사항은 워크로드의 품질 개선에 사용할 수 있는 일련의 기본 지침인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

확장성

쓰기 저장 지원을 위해 Power BI와 캔버스 앱 간의 통합을 올바르게 설정하려면 Power BI 보고서의 Power Apps 시각화에서 직접 캔버스 앱을 생성하여 설정해야 합니다. 이 통합이 올바르게 설정되지 않은 경우 Power BI 보고서 레이어에서 Power Apps UI로 교차 필터링된 데이터를 전달할 방법이 없습니다.

확장성을 고려할 경우 위임을 처리해야 합니다. 위임은 앱의 논리가 실행되는 동안 클라우드를 통한 데이터 처리 범위를 제한하는 Power Apps(캔버스 앱)의 고유 개념입니다. 이 솔루션에서 구현된 캔버스 앱은 루프 또는 복잡한 필터 문을 사용하는 대규모 데이터 세트를 처리하여 백 엔드 데이터베이스 및 Power BI 데이터 세트에 대한 업데이트를 실행할 때 모든 데이터가 처리되도록 제대로 프로비저닝되어야 합니다. 이 시나리오에서는 Power Automate를 사용하여 2,000개 이상의 행에 대한 대규모 대량 업데이트를 처리할 때 효율성을 높일 수 있습니다.

가용성

이 아키텍처에 설명된 모든 구성 요소는 지역 가용성에 따라 자동으로 스케일링되는 관리되는 서비스입니다. 현재 Power Apps는 6개 핵심 지역 및 42개 언어로 제공됩니다. 자세한 내용은 서비스 가용성을 참조하세요.

Dataverse는 서비스 보호 제한을 사용하여 서비스를 방해할 수 있는 악의적인 동작을 완화함으로써 엔터프라이즈 수준의 확장성 요구 사항을 충족하도록 설계되었습니다.

SLA에 대한 자세한 내용은 서비스 수준 계약을 참조하세요.

보안

RLS(행 수준 보안)는 Power BI의 개별 사용자 또는 그룹에 대한 데이터 액세스를 제한하는 가장 좋은 방법입니다. RLS 모델은 이 솔루션에 유지됩니다. Power BI에서 사용자의 사용 권한이 전체 데이터 모델의 하위 집합만 표시하도록 설정된 경우 해당 하위 집합만 Power Apps 레이어에 전달할 수 있습니다. 그러나 최종 사용자가 특정 데이터에만 액세스할 수 있도록 Power Apps 레이어를 구성해야 합니다.

Dataverse 백 엔드에서 역할 기반 보안을 사용하여 Power Apps에 대한 데이터 보안을 구성합니다. 팀, 그룹 또는 개별 사용자에게 역할을 적용하여 이 솔루션에서 조작할 수 있는 레코드를 지정할 수 있습니다. 이 기능을 사용하면 백 엔드에 대한 액세스 수준이 다른 사용자에 대해 단일 캔버스 앱을 사용할 수 있습니다. 솔루션 전체에서 일관성을 보장하려면 역할 기반 보안 구성이 각 팀, 그룹 또는 사용자에 대한 Power BI 행 수준 보안 모델에 설명된 권한과 일치하는지 확인합니다.

잘 설계된 프레임워크를 구현하는 방법에 대한 자세한 내용은 Microsoft 보안 핵심 요소를 참조하세요.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

Power AppsPower Automate는 유연한 가격 책정 모델이 있는 SaaS(Software as a Service) 애플리케이션입니다. 비즈니스 요구 사항에 맞는 앱별 또는 사용자별 플랜으로 Power Apps에 라이선스를 부여할 수 있습니다. 마찬가지로 사용자별 또는 흐름별(단일 자동화) 플랜을 사용하여 Power Automate에 라이선스를 부여할 수 있습니다.

여러 버전의 Power BI를 사용할 수 있습니다. 선택 항목은 수집된 데이터의 양에 따라 달라집니다. Power BI Pro의 경우 사용자별 플랜만 사용할 수 있습니다. Power BI Premium은 사용자별 및 용량별 플랜을 제공합니다.

시나리오 배포

프로덕션 환경에서 이 솔루션을 실행하려면 관련 Power Platform 라이선스가 있어야 합니다. 또한 솔루션 관리자 또는 사용자 지정자는 Power Apps 및 Power Automate에 액세스할 수 있도록 적절한 보안 역할이 필요합니다. 이러한 라이선스 또는 역할에 아직 액세스할 수 없는 경우 Power Apps 개발자 플랜을 사용하여 그 동안 개발을 시작할 수 있습니다.

이 솔루션을 배포하려면 다음을 수행합니다.

  1. Power BI Desktop 보고 레이어의 기본 구성 요소로 PBIX 파일을 생성합니다. Dataverse 또는 사용 중인 백 엔드에서 필요한 모든 데이터를 가져옵니다.
  2. 시각화 창에서 Power BI용 Power Apps 시각적 개체를 직접 추가합니다. Power BI용 Power Apps 시각적 개체에서 직접 앱을 생성하는 것은 Power BI와 Power Apps 간의 통합을 구현하는 유일한 방법입니다.
  3. 통합을 구현한 후에는 간소화하려는 비즈니스 프로세스를 수행하도록 캔버스 앱을 개발, 디자인, 코딩해야 합니다.
  4. 대량 처리가 필요한 경우 개발자는 Power Apps의 데이터 사용과 Dataverse로의 전파를 처리하기 위해 Power Automate 흐름을 생성해야 합니다. 자동화에 통합하려는 알림 또는 승인 워크플로를 제공하도록 이 흐름을 구성할 수 있습니다.
  5. 앱이 완료되면 Power BI 보고서에 통합해야 합니다. Power BI 보고서 화면에서 직접 또는 드릴스루 페이지를 구성하여 이 작업을 직접 수행할 수 있습니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자:

다른 기여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.

다음 단계

제품 설명서:

Microsoft Learn 학습 모듈: