모델 기반 앱 기본 양식에 Power BI 보고서 포함

중요

모델 기반 앱 양식에 Power BI 보고서를 추가하는 더 좋은 방법이 있습니다. 추가 정보: Power BI 보고서 컨트롤을 사용하여 보고서 추가

Power Apps 모델 기반 앱에서 Power BI 보고서를 사용하여 기본 양식에 풍부한 보고 및 분석을 제공하고 사용자가 더 많은 작업을 수행할 수 있도록 할 수 있습니다. 이를 통해 시스템 전체의 데이터를 집계하고 단일 레코드의 컨텍스트에 맞게 조정할 수 있습니다.  

필수 구성 요소

Power BI 콘텐츠를 포함하는 것은 선택적 기능이며 기본적으로 모든 환경에서 비활성화됩니다. Power BI 콘텐츠를 포함하기 전에 이 기능을 활성화해야 합니다. 추가 정보: 조직에서 Power BI 시각화를 활성화합니다.

이 기능을 사용하려면 솔루션을 내보내고 xml 조각을 추가하도록 수정한 다음 환경으로 다시 가져오는 방법을 수정해야 합니다. 관리형 솔루션을 통해서만 대상 환경에 대한 변경 사항을 가져와야 합니다. 기존 관리형 솔루션에 대한 업데이트 설치 지침은 솔루션 가져오기, 업데이트 및 내보내기를 참조하세요.

컨텍스트 필터링 없이 포함

Power BI 보고서를 포함하여 정확히 같은 보고서를 얻을 수 있습니다. 여기에는 현재 모델 기반 형식으로 컨텍스트화하는 작업이 포함되지 않으므로 테이블의 모든 레코드에 대해 동일한 보고서를 얻을 수 있습니다. 예를 들어 다음 보고서는 모든 계정의 지리적 위치를 한 번에 보여주며 요약 정보를 표시하는 데 유용합니다.

컨텍스트 필터링 없이 포함된 Power BI 보고서.

다음 단계에 따라 포함된 Power BI 보고서 및 타일을 호스팅할 수 있도록 기본 양식 XML sections 노드를 사용자 지정할 수 있습니다.

  1. 개발 환경에서 솔루션을 만들고 포함된 Power BI 보고서를 표시할 기본 양식이 포함된 테이블을 추가합니다.

    • 솔루션을 가져올 대상 환경에 테이블이 이미 있는 경우 솔루션에 테이블을 추가할 때 구성 요소 선택 옵션을 선택합니다. 그런 다음 테이블의 기본 양식만 추가합니다.
    • 솔루션을 가져올 대상 환경에 테이블이 없는 경우 솔루션에 테이블을 추가할 때 모든 구성 요소 포함을 선택합니다.
  2. 솔루션을 관리형으로 내보냅니다.

  3. 솔루션 패키지 zip 파일의 모든 파일을 추출합니다. 그런 다음, customizations.xml 파일을 편집하고 customizations.xml 파일의<forms type="main"> 노드 내부에 있는 <sections> 블록 안에 아래 제공된 XML 코드를 추가합니다.

<section id="{d411658c-7450-e1e3-bc80-07021a04bcc2}" locklevel="0" showlabel="true" IsUserDefined="0" name="tab_4_section_1" labelwidth="115" columns="1" layout="varwidth" showbar="false">
    <labels>
        <label languagecode="1033" description="Unfiltered Power BI embedding demo"/>
    </labels>
    <rows>
        <row>
            <cell id="{7d18b61c-c588-136c-aee7-03e5e74a09a1}" showlabel="true" rowspan="20" colspan="1" auto="false" solutionaction="Added">
                <labels>
                    <label languagecode="1033" description="Accounts (Parent Account)"/>
                </labels>
                <control id="unfilteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
                    <parameters>
                        <PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
                        <PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
                        <TileUrl>https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081</TileUrl>
                    </parameters>
                </control>
            </cell>
        </row>
        <row/>
    </rows>
</section>

중요

XML 샘플에 표시된 대로 classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}" 컨트롤을 사용해야 합니다.

  1. Power BI 보고서의 사용자 지정.xml 파일에 복사한 양식 XML을 다음과 같이 변경합니다. 이 표에서는 이전 XML 샘플의 요소로 변경해야 하는 값에 대해 설명합니다.
Property 설명
PowerBIGroupId Power BI 작업 영역 ID. 보고서가 내 작업 영역**에 있는 경우 작업 영역 ID는 00000000-0000-0000-0000-000000000000입니다. 그렇지 않으면 작업 영역 ID를 추가하세요. Power BI 서비스 URL에서 작업 영역의 ID를 찾을 수 있습니다. 추가 정보: Power BI 작업 영역 및 보고서 ID 찾기.
PowerBIReportId Power BI 보고서 ID. 이를 포함하려는 보고서로 바꿉니다. Power BI 서비스 URL에서 보고서의 ID를 찾을 수 있습니다. 추가 정보: Power BI 작업 영역 및 보고서 ID 찾기.
TileUrl 포함하려는 Power BI 보고서 URL입니다. 올바른 Power BI 하위 도메인 이름(app.powerbi.com 을 자신의 것으로 바꿔야 할 수도 있음)과 보고 ID(reportId=544c4162-6773-4944-900c-abfd075f6081을 자신의 것으로 대체)를 사용해야 합니다. https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081을 예로 들 수 있습니다.
solutionaction="Added" 대상 환경에 테이블이 이미 있는 경우 XML 샘플에 제공된 대로 셀 요소에 대한 solutionaction=Added 매개 변수를 그대로 둡니다. 대상 환경에 테이블이 없으면 solutionaction=Added 매개변수를 제거합니다.
  1. 이전에 추출한 모든 솔루션 파일에서 zip 파일을 만듭니다. 그런 다음 솔루션을 대상 환경으로 가져옵니다.

컨텍스트 필터링 포함

현재 모델 기반 양식에 컨텍스트 필터를 적용하여 Power BI 보고서를 더 의미 있게 만들 수 있으므로 현재 행의 특성에 따라 보고서거 필터링됩니다. 예를 들어 다음 보고서에서는 거래처 이름을 사용하여 Power BI 보고서를 필터링하여 거래처의 지리적 위치를 보여줍니다. 이렇게 하면 단일 보고서에서 테이블의 모든 행에 대한 컨텍스트 정보를 표시할 수 있습니다.

컨텍스트 필터링이 포함된 Power BI 보고서.

필터링은 여기에 표시된 것처럼 <parameter> 블록에 <PowerBIFilter> 요소를 추가하여 수행됩니다. 양식 테이블의 모든 특성을 사용하여 필터 식을 생성할 수 있습니다. 추가 정보: 필터 구성을 통해 자신의 필터를 만드는 방법을 이해합니다.

<control id="filteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
    <parameters>
        <PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
        <PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
        <TileUrl>https://xyz.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081</TileUrl>
        <PowerBIFilter>{"Filter": "[{\"$schema\":\"basic\",\"target\":{\"table\":\"table_name_of_power_bi_dataset\",\"column\":\"power_bi_field\"},\"operator\":\"In\",\"values\":[$a],\"filterType\":1}]", "Alias": {"$a": "field_name_in_powerapps_to_filter"}}</PowerBIFilter>
    </parameters>
</control>

이는 필터링되지 않은 보고서 포함과 동일한 컨트롤을 사용하므로 컨트롤 클래스 id는 변경되지 않습니다.

이 표에서는 이전 XML 샘플에서 사용된 추가 속성에 대해 설명합니다.

속성 설명
PowerBIFilter 양식 특성을 매개 변수로 전달하여 Power BI 보고서를 컨텍스트화하는 필터 식입니다. 읽기 쉽도록 필터는 다음과 같이 구성됩니다. 필터 식은 쉼표로 구분된 값 목록일 수 없습니다.
    {
            "Filter": "[{
                    \"$schema\":\"basic\",
                    \"target\":{
                            \"table\":\"table_name_of_power_bi_dataset\",
                            \"column\":\"power_bi_field\"
                    },
                    \"operator\":\"In\",
                    \"values\":[$a, $b],
                    \"filterType\":1
            }]",
            "Alias": {
                    "$a": "field1_name_in_powerapps_to_filter",
                    "$b":"field2_name_in_powerapps_to_filter"
            }
    }

이전 식의 대상 부분에서는 필터를 적용할 테이블과 열을 식별합니다. 연산자는 논리를 식별하고 값은 Power Apps 모델 기반 앱에서 전달된 데이터를 식별합니다. 일반적인 방식으로 매개 변수화하려면 값은 별칭으로 구성됩니다. 이전 식에서 거래처의 firstnamelastname 값이 전달되고, 그 중 하나가 Power BI 보고서의 거래처 이름 열에서 검색됩니다. firstnamelastname은 해당 값이 여기에 전달되는 거래처 테이블의 고유 특성 이름입니다.

필터 구성에서 예제를 보고 $schema 및 filterType에 대한 적절한 값을 제공하여 보다 복잡한 필터 식을 만들 수 있습니다. JSON이 올바르게 생성되도록 " 를 사용하여 필터 파트의 모든 리터럴을 이스케이프해야 합니다.

가져오기 전에 수정되지 않은 특성 제거

솔루션을 대상 환경으로 가져오기 전에 수정되지 않은 특성이 customization.xml 파일의 formXml 섹션에 있지는 않은지 확인하십시오. 수정되지 않은 속성이 Power BI 컨트롤 XML을 포함한 XML에 있으면 솔루션을 대상 환경으로 가져오기 전에 속성을 제거하십시오. 예를 들어 <systemform unmodified="1"><systemform>으로 바꿉니다.

Power BI 작업 영역 및 보고서 ID 찾기

  1. 이 예의 작업 영역 ID는 efc85277-2bdb-47bc-9762-363f64335108입니다.
  2. 이 예의 보고서 ID는 643ab643-7126-4a57-bd82-ca8f1fb676fc입니다. Power BI 작업 영역 ID 및 보고서 ID 예제

알려진 문제 및 제한 사항

  • 이 통합은 지원되는 웹 브라우저 및 모바일 장치에서 통합 인터페이스 클라이언트에서만 사용할 수 있습니다.

  • Power Apps 양식 디자이너에서 이 양식을 열면 의미 있는 방식으로 컨트롤을 표시하지 않습니다. 이는 컨트롤이 양식 디자이너 외부에서 사용자 지정되었기 때문입니다.

  • 사용자는 Power Apps 사용자 이름 및 암호를 사용하여 Power BI에 자동으로 인증됩니다. 자격 증명이 일치하는 Power BI 계정이 존재하지 않는 경우 여기에 설명된 대로 로그인 프롬프트가 표시됩니다.

    Power BI 로그인 프롬프트.

    Power BI에 로그인하는 데 잘못된 계정을 사용하는 경우 데이터가 표시되지 않습니다. 올바른 자격 증명으로 로그인하려면 로그아웃한 다음 다시 로그인합니다.

    Power BI 서비스에 로그인.

    로그인한 사용자에게 적절한 권한이 없음.

  • Power Apps 내에 표시되는 보고서 데이터의 보기는 Power BI에서와 동일하며 Power Apps 보안 역할 및 권한은 표시되는 데이터에 영향을 주지 않습니다. 따라서 데이터는 Power BI 데이터 집합의 작성자가 보는 것과 본질적으로 동일합니다. Power Apps 보안 역할 및 팀과 유사한 데이터 액세스 제한을 적용하려면 Power BI에 RLS(행 수준 보안)를 사용합니다.

  • 솔루션을 가져오고 사용자 지정 항목을 게시한 후 양식에 Power BI 보고서가 표시되지 않는 경우 모델 기반 양식 편집기에서 보고서를 열고 저장하여 양식 JSON이 다시 생성되도록 합니다.

  • 양식에 Power BI 타일을 포함하는 것은 컨텍스트 필터링 없이만 지원됩니다.

  • Power BI 보고서 포함은 테넌트 간 참조를 지원하지 않습니다. 예를 들어 Contoso 테넌트에 속하는 Power BI 보고서를 Fabrikam 테넌트에 속하는 모델 기반 앱에 포함하려는 시도는 포함되는 보고서가 Power BI를 통해 Fabrikam 테넌트의 사용자와 공유된 경우에도 현재 지원되지 않습니다.

일반적인 문제

  • 그룹 ID는 필요한 경우 제어 매개 변수의 TileUrl 노드에 지정되지 않았습니다. 이 예에는 그룹 ID가 포함되어 있습니다.
<parameters>
    <PowerBIGroupId>fd266a4c-9a02-4553-9310-80e05ee844f3</PowerBIGroupId>
    <PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
    <TileUrl>https://xyz.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081&amp;groupId=fd266a4c-9a02-4553-9310-80e05ee844f3</TileUrl>
</parameters>
  • 필드는 Power BI 및 Dataverse에서 서로 다른 데이터 유형을 갖습니다. Power BI의 문자열 및 Dataverse의 문자열과 같이 동일한 유형이어야 합니다.
  • 문자열 필드에 Power BI 필터에서 이스케이프된 따옴표가 없습니다. values[$a]가 아닌 [\"$a\"]가 있음에 주의합니다.
    {
            "Filter": "[{
                    \"$schema\":\"basic\",
                    \"target\":{
                            \"table\":\"table_name_of_power_bi_dataset\",
                            \"column\":\"power_bi_field\"
                    },
                    \"operator\":\"In\",
                    \"values\":[\"$a\"],
                    \"filterType\":1
            }]",
            "Alias": {
                    "$a": "field_name_in_powerapps_to_filter",
            }
    }

참조 항목

Power Apps 모델 기반 개인 대시보드에 Power BI 대시보드 포함

Dynamics 365 앱에 Power BI 사용

참고

귀사의 설명서 언어 기본 설정에 대해 말씀해 주시겠습니까? 간단한 설문 조사에 응해주세요. (이 설문 조사는 영어로 되어 있습니다.)

이 설문 조사는 약 7분 정도 걸립니다. 개인 데이터는 수집되지 않습니다(개인정보처리방침).