इसके माध्यम से साझा किया गया


मॉडल-चालित अनुप्रयोग मुख्य प्रपत्र में Power BI रिपोर्ट को एम्बेड करें

महत्वपूर्ण

मॉडल-चालित ऐप फॉर्म में Power BI रिपोर्ट जोड़ने का एक बेहतर तरीका है। अधिक जानकारी:रिपोर्ट जोड़ने के लिए Power BI रिपोर्ट नियंत्रण का उपयोग करें

आप अपने मुख्य प्रपत्रों में समृद्ध रिपोर्टिंग और विश्लेषण लाने और अपने उपयोगकर्ताओं को अधिक कार्य करने में सशक्त बनाने के लिए, Power Apps मॉडल-चालित अनुप्रयोगों में Power BI रिपोर्ट का उपयोग कर सकते हैं. यह पूरे सिस्टम में डेटा एकत्र करने की शक्ति को अनलॉक करता है और उसे एकल रिकॉर्ड के संदर्भ के अनुकूल बनाता है.  

पूर्वावश्यकताएँ

Power BI सामग्री को एम्बेड करना एक वैकल्पिक सुविधा है और डिफ़ॉल्ट रूप से यह सभी परिवेशों में अक्षम होती है. Power BI सामग्री को एम्बेड करने से पहले आपको उसे सक्षम करना होगा. अधिक जानकारी: संगठन में Power BI दृश्यावलोकन सक्षम करें.

इस सुविधा के लिए, एक समाधान को निर्यात करने, xml स्निपेट को जोड़ने के लिए उसे संशोधित करने और उसके बाद उसे वापस परिवेश में आयात करने की आवश्यकता होती है. केवल एक प्रबंधित समाधान के माध्यम से अपने लक्षित परिवेश पर परिवर्तनों को आयात करना सुनिश्चित करें. किसी मौजूदा प्रबंधित समाधान पर अद्यतन स्थापित करने पर मार्गदर्शन के लिए, निर्यात करें, अद्यतन करें, और आयात समाधान देखें.

प्रासंगिक फ़िल्टरिंग के बिना एम्बेड करें

आप बस Power BI रिपोर्ट्स को एम्बेड करके उनका उपयोग कर सकते हैं, और ठीक वही रिपोर्ट प्राप्त कर सकते हैं. इसमें उन्हें वर्तमान मॉडल-चालित प्रपत्र के संदर्भ में शामिल नहीं किया गया है और इसलिए आपको तालिका के सभी रिकॉर्ड पर एक ही रिपोर्ट मिलती है. उदाहरण के लिए, निम्न रिपोर्ट एक साथ सभी खातों की भौगोलिक स्थिति को दिखाती है और सारांश जानकारी दिखाने के लिए उपयोगी होती है.

प्रासंगिक फ़िल्टरिंग के बिना एंबेडेड Power BI रिपोर्ट.

आप मुख्य प्रपत्र XML sections नोड को कस्टमाइज़ कर सकते हैं, ताकि वह इन चरणों का पालन करके एक एम्बेडेड Power BI रिपोर्ट और टाइल को होस्ट कर सके:

  1. अपने विकास परिवेश में, एक समाधान बनाएँ और वह तालिका जोड़ें जिसमें वह मुख्य प्रपत्र हो जहां आप एम्बेडेड Power BI रिपोर्ट प्रदर्शित करना चाहते हैं.

    • यदि तालिका पहले से ही उस लक्ष्य परिवेश में मौजूद है जहाँ आप समाधान आयात करते हैं, तो समाधान में तालिका जोड़ते समय घटक चुनें विकल्प चुनें. फिर, केवल तालिका का मुख्य प्रपत्र जोड़ें.
    • यदि तालिका उस लक्ष्य परिवेश में मौजूद नहीं है जहाँ आप समाधान आयात करते हैं, तो समाधान में तालिका जोड़ते समय सभी घटकों को शामिल करें चुनें.
  2. समाधान को अप्रबंधित के रूप में निर्यात करें.

  3. सभी फ़ाइलें समाधान पैकेज ज़िप फ़ाइल में निकालें. फिर, customizations.xml फ़ाइल को संपादित करें और नीचे दिए गए XML कोड को customizations.xml फ़ाइल में <sections> ब्लॉक जो अंदर है <forms type="main"> नोड के अंदर जोड़ें.

<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. उस प्रपत्र XML में निम्नलिखित बदलाव करें जिसे आपने अपनी Power BI रिपोर्ट के लिए customizations.xml फ़ाइल में कॉपी किया था. यह तालिका उन मानों का वर्णन करती है, जिन्हें आपको पिछले XML नमूने के एलीमेंट्स में बदलने की आवश्यकता है.
गुण विवरण
PowerBIGroupId Power BI कार्यस्थान ID। यदि आपकी रिपोर्ट मेरे कार्यक्षेत्र में है,** तो कार्यक्षेत्र आईडी है 00000000-0000-0000-0000-000000000000. अन्यथा, कार्यस्थान आईडी जोड़ें। आप 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. पहले निकाली गई सभी समाधान फ़ाइलों में से एक ज़िप फ़ाइल बनाएँ. उसके बाद, समाधान को लक्षित परिवेश में आयात कर सकते हैं.

प्रासंगिक फ़िल्टरिंग के साथ एम्बेड करें

आप वर्तमान मॉडल-चालित प्रपत्र में प्रासंगिक फ़ि‍ल्टर लागू करके Power BI रिपोर्ट्स को अधिक सार्थक बना सकते हैं, ताकि रिपोर्ट वर्तमान पंक्ति के एट्रिब्यूट के आधार पर फ़िल्टर हो जाए. उदाहरण के लिए, निम्न रिपोर्ट खाता नाम की सहायता से Power BI रिपोर्ट को फ़िल्टर करके किसी खाते की भौगोलिक स्थिति को दर्शाती है. इसके चलते एक एकल रिपोर्ट टेबल के सभी पंक्तियाँ के लिए प्रासंगिक जानकारी को दिखा सकती है.

प्रासंगिक फ़िल्टरिंग के साथ एंबेडेड Power BI रिपोर्ट.

जैसा कि यहाँ दिखाया गया है, <PowerBIFilter> तत्व को <parameter> ब्लॉक में जोड़कर फ़िल्टरिंग की जाती है. फ़िल्टर व्यंजक को बनाने के लिए, आप प्रपत्र के टेबल के किसी भी एट्रिब्यूट का उपयोग कर सकते हैं. और जानकारी: अपने फ़िल्टर बनाने के तरीके को समझने के लिए फ़िल्टर बनाना देखें.

<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 मॉडल-चालित अनुप्रयोग से पास किए गए डेटा की पहचान करते हैं. मूल रूप में पैरामैटराइज़ करने के लिए, मान एलाइज़िंग द्वारा बनाए जाते हैं. पिछले व्यंजक में, खाते के firstname और lastname के मान को पास किया गया था और दोनों में से किसी एक को Power BI रिपोर्ट के खाता नाम स्तंभ में खोजा गया था. ध्यान दें कि प्रथम नाम और अंतिम नाम खाता टेबल के एट्रिब्यूट के अद्वितीय नाम होते हैं, जिनके मान को यहाँ पास किया जाएगा.

आप फ़िल्टर बनाने के उदाहरणों को देख कर और $schema और filterType के लिए उचित मान प्रदान करके अधिक जटिल फ़िल्टर व्यंजक बना सकते हैं. " का उपयोग करके किसी भी लिटरल को शामिल न करना सुनिश्चित करें, ताकि JSON सही प्रकार जनरेट किया जा सके.

आयात से पहले असंशोधित एट्रिब्यूट निकालें

इससे पहले कि आप लक्ष्य परिवेश में समाधान आयात करें, सुनिश्चित करें कि असंशोधित एट्रिब्यूट customizations.xml फ़ाइल के formXml सेक्शन में शामिल नहीं है. यदि असंशोधित एट्रिब्यूट उस XML में मौजूद है, जिसमें Power BI नियंत्रण 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 रिपोर्ट एम्बेड करना क्रॉस-टेनेंट संदर्भों का समर्थन नहीं करता है. उदाहरण के लिए, Fabrikam टेनेंट से संबंधित मॉडल-चालित ऐप में Contoso टेनेंट से संबंधित रिपोर्ट एम्बेड करने का प्रयास वर्तमान में समर्थित नहीं है, भले ही एम्बेड की जा रही रिपोर्ट को Fabrikam टेनेंट में उपयोगकर्ताओं के साथ Power BI के माध्यम से साझा किया गया हो. Power BI

  • डैशबोर्ड के भाग के रूप में पिन की गई रिपोर्ट इंटरैक्टिव नहीं होती हैं। Power BI यदि आप इंटरैक्टिव रिपोर्ट चाहते हैं, तो उन्हें डैशबोर्ड पर पिन करने के बजाय सीधे एम्बेड करें। Power BI

सामान्य समस्याएँ

  • समूह आईडी को नियंत्रण पैरामीटर के नोड में निर्दिष्ट नहीं किया गया है, जबकि इसकी आवश्यकता हो सकती है। 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 and 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 का उपयोग करें

नोट

क्या आप हमें अपनी दस्तावेज़ीकरण भाषा वरीयताओं के बारे में बता सकते हैं? एक छोटा सर्वेक्षण पूरा करें. (कृपया ध्यान दें कि यह सर्वेक्षण अंग्रेज़ी में है)

सर्वेक्षण में लगभग सात मिनट लगेंगे. कोई भी व्यक्तिगत डेटा एकत्र नहीं किया जाता है (गोपनीयता कथन).