DAX स्टेटमेंट से डेटा लेने वाले Power BI मैट्रिक्स के साथ काम करें
मेरी निम्नलिखित ज़रूरतें हैं:
- उपयोगकर्ता को एक वेब पेज पर पावर बी मैट्रिक्स दिखाई देगा (पावर बीआई डेस्कटॉप के विपरीत)।
- वेब पेज में तीन तत्व होने चाहिए: एक पाठ क्षेत्र, एक बटन और पावर बी मैट्रिक्स (संभावित रूप से पावर बीआई रिपोर्ट में शामिल)।
- उपयोगकर्ता पाठ क्षेत्र में DAX विवरण दर्ज करेगा और DAX कथन लेने, उसे निष्पादित करने और डेटा को पॉप्युलेट करने के लिए मैट्रिक्स को निर्देशित करने के लिए बटन पर क्लिक करेगा।
- उपयोगकर्ता को मैट्रिक्स में ड्रिल करने में सक्षम होना चाहिए।
- मैट्रिक्स को रीफ्रेश करते हुए उपयोगकर्ता एक नए DAX स्टेटमेंट को पुन: प्रस्तुत कर सकता है।
अब, सभी प्रलेखन मैं मिल सकता है, उदाहरण के लिए यहाँ , पावर में मैट्रिक्स बीआई डेस्कटॉप (यानी न वेब पेज) और डेटा (स्क्रीन के दाईं ओर पर) मैन्युअल का चयन टेबल / कॉलम / उपायों द्वारा उठाए गए के बारे में बात।
पावर बीआई स्टूडियो में, मुझे पता है कि मैं शीर्ष बार में एक टेबल बनाकर एक डीएएक्स स्टेटमेंट दर्ज कर सकता हूं, उदाहरण के लिए यदि मेरे पास डीएआरआई है:
EVALUATE TOPN (3, branches)
मैं मैट्रिक्स को पॉप्युलेट करने के लिए एक तालिका बना सकता हूं:
BranchesTable = TOPN (3, branches)
लेकिन एक वेब पेज पर मैट्रिक्स के रन-टाइम पर परिभाषित एक DAX प्रतिमा को गतिशील रूप से कैसे लिंक करें?
जवाब
वर्तमान में यह संभव नहीं है कि आप क्या चाहते हैं। आप किसी डेटा स्रोत को गतिशील रूप से बदल सकते हैं और किसी विशिष्ट रिपोर्ट में उपयोग की जाने वाली क्वेरी को अपडेट कर सकते हैं, लेकिन एक एपीआई उपलब्ध नहीं है (PowerBI REST या PowerBI जावास्क्रिप्ट) यह अपडेट करने के लिए कि किसी रिपोर्ट में दृश्य पर कॉलम क्या हैं। आप जो चाहते हैं उसके बहुत करीब पहुंच सकते हैं, लेकिन रिपोर्ट को View
मोड में प्रदर्शित नहीं किया जा सकता है और इसे मोड में प्रदर्शित करना होगा, Edit
इसलिए उपयोगकर्ता के पास अपने अपडेट किए गए DAX क्वेरी परिणामों से उत्पन्न फ़ील्ड को मैट्रिक्स दृश्य पर मैन्युअल रूप से खींचने की क्षमता होगी यदि वे एक परिवर्तन प्रस्तुत करते हैं।
यह मानते हुए कि आपके पास पहले से आवश्यक ऐप पंजीकरण पंजीकरण और कॉन्फ़िगरेशन पूरा हो चुका है और आपके यहाँ एम्बेड करने के लिए तैयार कुछ ऐसे कदम हैं जो आपकी तलाश में हैं। यदि आपका एम्बेड करने के लिए तैयार नहीं है, तो पूर्व-अपेक्षित सेटअप को पूरा करने के लिए प्रदान किए जाने वाले 8 चरणों के नीचे कुछ दस्तावेज हैं जो एम्बेड करने में सक्षम हैं।
- PowerBI Desktop का उपयोग करके एक टेम्प्लेट रिपोर्ट बनाएं जिसमें मैट्रिक्स विज़ुअल हो और जिस डेटा स्रोत का आप उपयोग करना चाहते हैं उसका कनेक्शन हो। एक विशिष्ट क्वेरी का उपयोग करके इस रिपोर्ट को सेट करना सुनिश्चित करें और डेटा स्रोत में सभी तालिकाएं नहीं हैं कि क्या इसका SQL या SSAS है। (जब आप प्रारंभ में डेटा स्रोत को रिपोर्ट में सेट करते हैं तो आप उन्नत विकल्पों के तहत क्वेरी निर्दिष्ट करते हैं)
- अपनी रिपोर्ट का उपयोग करने वाले डेटा स्रोत के लिए एक Power BI डेटा गेटवे सेटअप करें
- रिपोर्ट को अपलोड करने के लिए PowerBI.com पर एक कार्यक्षेत्र बनाएँ
- PowerBI डेस्कटॉप का उपयोग करना आपने चरण 1 में बनाई गई रिपोर्ट को चरण 3 में आपके द्वारा बनाए गए कार्यक्षेत्र में प्रकाशित करें
- आपके वेब एप्लिकेशन पर, जब कोई उपयोगकर्ता रिपोर्ट व्यूअर पेज को देखता है, तो आपको प्रत्येक उपयोगकर्ता को पहचानने का एक तरीका चाहिए। मान लें कि आपके पास
UserId
फ़ील्ड है जो प्रत्येक उपयोगकर्ता के लिए एक अद्वितीय आईडी है। समूह में GetReports को कॉल करेंhttps://docs.microsoft.com/en-us/rest/api/power-bi/reports/getreportsingroup। आपको एक ज्ञात रिपोर्ट नाम प्लस उपयोगकर्ता आईडी की आवश्यकता है। अपने डायनामिक रीपोर्ट को मानें। इसलिए GetReports को कॉल करें औरDynamicReport_UserId
देखें कि क्या आपके वेब एप्लिकेशन में रिपोर्ट व्यूअर पृष्ठ को देखने की कोशिश कर रहे उपयोगकर्ता के लिए मौजूद है। - यदि किसी उपयोगकर्ता के लिए रिपोर्ट मौजूद नहीं है, तो एपीआई कॉल चरण 5 से परिणाम देता है https://docs.microsoft.com/en-us/rest/api/power-bi/reports/clonereport चरण 4 में प्रकाशित टेम्प्लेट रिपोर्ट को क्लोन करने के लिए।
- उपयोगकर्ता के लिए उपयोगकर्ता विशिष्ट टेम्प्लेट रिपोर्ट (DynamicsReport_UserId) एम्बेड करें और प्रदर्शित करें।
- रिपोर्ट व्यूअर पृष्ठ पर तर्क रखें ताकि उपयोगकर्ता
POST
एक DAX क्वेरी सबमिट कर सके । जब वे सबमिट करते हैं तो उपयोग करने के लिए तर्क होते हैंhttps://docs.microsoft.com/en-us/rest/api/power-bi/datasets/updatedatasources अपनी रिपोर्ट में डेटा स्रोत को अपडेट करने के लिए बैक एंड पर और फिर DAX स्टेटमेंट और बदले हुए डेटा के साथ रिपोर्ट को एम्बेड करें।
उपयोगकर्ता द्वारा सबमिट की गई नई क्वेरी से दृश्य स्वचालित रूप से नए फ़ील्ड में अपडेट होने वाला नहीं है, लेकिन उनके पास संपादक मोड में उपलब्ध डेटा फ़ील्ड बदल जाएगा। उपयोगकर्ता को अपनी DAX क्वेरी से मैट्रिक्स दृश्य या जो भी दृश्य प्रकार वे उपयोग करने के लिए चुने जा रहे हैं, उन पर फ़ील्ड को ड्रैग और ड्रॉप करना होगा। View
जब आप दृश्य में फ़ील्ड्स को प्रोग्राम के अनुसार अपडेट करने का कोई तरीका नहीं है, तो आप केवल मोड में रिपोर्ट प्रदर्शित करने में सक्षम नहीं होंगे । उपयोगकर्ता परिवर्तित किए गए क्वेरी और पहले से उपयोग किए गए क्वेरी से दृश्य संदर्भित फ़ील्ड के कारण प्रारंभ में टूटी हुई दृश्य देखकर भी समाप्त हो सकता है। आप उपयोगकर्ता के उपयोगकर्ता अनुभव को सुधारने के लिए मौजूदा दृश्य को छिपाने के लिए PowerBI जावास्क्रिप्ट एपीआई का उपयोग कर सकते हैं, कुछ टूटा हुआ नहीं देख रहे हैं।
मुझे बताएं कि क्या आपके पास इन एपीआई कॉल के बारे में कोई विशिष्ट प्रश्न हैं या उनका उपयोग कैसे करें।
यहाँ मैं Power BI जावास्क्रिप्ट कार्यक्षमता की तलाश कर रहा हूँ https://github.com/Microsoft/powerbi-javascript/wiki (मैट्रिक्स विज़ुअल्स के लिए कुछ भी विशिष्ट नहीं मिल सकता है। विजुअल के लिए जावास्क्रिप्ट कार्यक्षमता विज़ुअल के लिए सामान्य है और विज़ुअल प्रकार जैसे मैट्रिक्स या कार्ड नहीं)
यहाँ उपलब्ध REST API और पर Microsoft का प्रलेखन है https://docs.microsoft.com/en-us/rest/api/power-bi/
एम्बेड करने के बारे में अधिक जानने के लिए यहां कुछ अच्छे संसाधन हैं
https://docs.microsoft.com/en-us/power-bi/developer/embedded/register-app https://docs.microsoft.com/en-us/power-bi/developer/embedded/embedding
यदि आपको ड्रिल डाउन क्षमता की आवश्यकता है तो पदानुक्रम एक बढ़िया विकल्प हैं
https://spreadsheeto.com/power-bi-hierarchy/