मुख्य सामग्री पर जाएँ

Power BI में SUMX फ़ंक्शंस का उपयोग कैसे करें

Power BI में SUMX फ़ंक्शन, उसका सिंटैक्स, यह कैसे काम करता है, और ध्यान रखने योग्य सर्वोत्तम प्रथाओं का अन्वेषण करें।
· 8 मि॰ पढ़ें

AI के साथ खोजें

यदि आपने हमारे Data Analyst in Power BI करियर ट्रैक के साथ अभी-अभी Power BI सीखना शुरू किया है, तो आप introduction to DAX कोर्स से बेसिक SUM फ़ंक्शन पहले से जानते होंगे (यदि नहीं, तो यह त्वरित DAX ट्यूटोरियल देखें)। ऐसे में, आप यह भी सोच रहे होंगे कि SUMX फ़ंक्शन क्या है, यह कैसे काम करता है, और आप इसे अपने विश्लेषण में कैसे उपयोग कर सकते हैं।

यह ट्यूटोरियल SUMX फ़ंक्शन की पड़ताल करेगा, इन सभी सवालों के जवाब देगा, और आपको Power BI में इसे लागू करने का मार्गदर्शन करेगा।

जब आप इस और अन्य Power BI ट्यूटोरियल्स से गुजरते हैं, तो यह याद रखें कि यद्यपि आपसे एक बिज़नेस इंटेलिजेंस या Power BI डेवलपर के रूप में प्रोग्रामिंग सीखने की अपेक्षा न हो, फिर भी यह आपके करियर के लिए एक बड़ा लाभ हो सकता है। यह जानने के लिए हमारा लेख देखें कि क्या आपको एक BI विश्लेषक के रूप में कोड सीखना चाहिए।

Power BI में SUMX फ़ंक्शन क्या है?

Power BI में SUMX फ़ंक्शन एक शक्तिशाली DAX फ़ंक्शन है, जिसका उपयोग किसी तालिका की प्रत्येक पंक्ति के लिए गणना किए गए किसी अभिव्यक्ति का योग निकालने के लिए किया जाता है। यह फ़ंक्शन महत्वपूर्ण है क्योंकि यह साधारण योग से अधिक जटिल गणनाएँ करने देता है।

कई उपयोगी DAX फ़ंक्शंस के त्वरित संदर्भ के लिए हमारा DAX चीट शीट हाथ में रखें।

image2.png

SUMX फ़ंक्शन का सिंटैक्स है

SUMX(Table, Expression)

  • Table: वह तालिका या तालिका-अभिव्यक्ति जिस पर फ़ंक्शन इटरेट करता है।
  • Expression: वह अभिव्यक्ति जो तालिका की प्रत्येक पंक्ति के लिए मूल्यांकित होती है। यह अभिव्यक्ति अक्सर तालिका के कॉलम के डेटा को शामिल करती है।

SUMX विशेष रूप से तब उपयोगी है जब आपको परिणामों का योग करने से पहले उन गणनाओं की ज़रूरत होती है जो प्रत्येक पंक्ति के मानों पर निर्भर करती हैं। उदाहरण के लिए, प्रत्येक लेनदेन के लिए मात्रा और कीमत को गुणा करके कुल बिक्री की गणना करना, या कुल रियायती बिक्री का योग करने से पहले प्रति उत्पाद अलग-अलग छूट दरें लागू करना। यह आपके कैलकुलेशंस में लचीलेपन और सटीकता की पेशकश करता है, जिससे यह सीखने के लिए एक काफ़ी महत्वपूर्ण फ़ंक्शन बन जाता है।

Power BI में SUMX कैसे काम करता है

यहाँ बताया गया है कि SUMX फ़ंक्शन अंदर से कैसे काम करता है:

  • जब SUMX को कॉल किया जाता है, तो यह निर्दिष्ट तालिका की पंक्तियों पर एक-एक करके इटरेट करता है। प्रत्येक पंक्ति के लिए, यह अस्थायी रूप से एक रो कॉन्टेक्स्ट स्थापित करता है, जो एक ऐसा परिवेश है जहाँ मौजूदा पंक्ति के मान सीधे उपलब्ध होते हैं।
  • इस रो कॉन्टेक्स्ट में, फ़ंक्शन अपने दूसरे आर्ग्युमेंट में दी गई अभिव्यक्ति का मूल्यांकन करता है। अभिव्यक्ति आमतौर पर मौजूदा पंक्ति के एक या अधिक अन्य कॉलम मानों को शामिल करती है। जैसे-जैसे फ़ंक्शन तालिका के माध्यम से इटरेट करता है, यह पंक्ति के डेटा के आधार पर प्रत्येक पंक्ति के लिए इस अभिव्यक्ति की फिर से गणना करता है।
  • जैसे-जैसे SUMX प्रत्येक पंक्ति को प्रोसेस करता है, यह परिणामों को एकत्रित करता जाता है और एक रनिंग टोटल रखता है। Power BI DAX के इन-मेमोरी एनालिटिक्स इंजन (VertiPaq) का उपयोग करता है, जो इस तरह की गणनाओं के लिए अनुकूलित है।
  • सभी पंक्तियों पर इटरेट करने के बाद, SUMX एकत्र किए गए कुल को अंतिम रूप देता है, जो प्रत्येक पंक्ति के लिए गणना किए गए व्यक्तिगत परिणामों का योग होता है। यही अंतिम मान फ़ंक्शन के आउटपुट के रूप में लौटाया जाता है।

कॉन्टेक्स्ट को समझना

Power BI में, कॉन्टेक्स्ट यह समझने के लिए महत्वपूर्ण है कि SUMX जैसे DAX फ़ंक्शंस कैसे काम करते हैं। कॉन्टेक्स्ट तय करता है कि डेटा मॉडल्स में मान कैसे गणना और प्रदर्शित किए जाते हैं। हमारा introduction to DAX कोर्स देखें, जहाँ हम कॉन्टेक्स्ट्स पर विस्तार से चर्चा करते हैं। SUMX फ़ंक्शन के साथ, दो मुख्य प्रकार के कॉन्टेक्स्ट पर विचार करना होता है: रो कॉन्टेक्स्ट और फ़िल्टर कॉन्टेक्स्ट।

Row context

रो कॉन्टेक्स्ट वह परिवेश है जहाँ DAX फ़ॉर्मूले किसी तालिका की प्रत्येक पंक्ति का मूल्यांकन करते हैं। जब आप रो कॉन्टेक्स्ट में होते हैं, तो आप सीधे तालिका के कॉलम को संदर्भित कर सकते हैं, और DAX फ़ॉर्मूले गणनाओं में मौजूदा पंक्ति से मान का उपयोग करेंगे।

जब आप SUMX का उपयोग करते हैं, तो यह अपने संचालन के लिए रो कॉन्टेक्स्ट बनाता और उसका लाभ उठाता है। निर्दिष्ट तालिका की प्रत्येक पंक्ति के लिए, SUMX उस विशेष पंक्ति के कॉन्टेक्स्ट में दी गई अभिव्यक्ति का मूल्यांकन करता है।

Filter context

फ़िल्टर कॉन्टेक्स्ट वह फ़िल्टर्स का सेट है जो Power BI रिपोर्ट में डेटा पर लागू होते हैं, जैसे विज़ुअल्स, स्लाइसर और रिपोर्ट-स्तरीय फ़िल्टर्स। यह कॉन्टेक्स्ट निर्धारित करता है कि किन डेटा बिंदुओं पर गणनाएँ की जाएँगी।

यद्यपि SUMX अपनी रो-दर-रो गणनाओं के लिए रो कॉन्टेक्स्ट में काम करता है, फिर भी ये गणनाएँ रिपोर्ट या विज़ुअल के समग्र फ़िल्टर कॉन्टेक्स्ट के अधीन रहती हैं। इसका मतलब है कि SUMX जिन पंक्तियों पर इटरेट करता है, वे वही होती हैं जो मौजूदा फ़िल्टर कॉन्टेक्स्ट द्वारा परिभाषित मापदंडों को पूरा करती हैं।

SUMX में कॉन्टेक्स्ट्स के बीच अंतःक्रिया

SUMX का उपयोग करते समय, फ़ंक्शन रो कॉन्टेक्स्ट और फ़िल्टर कॉन्टेक्स्ट—दोनों का सम्मान करता है। SUMX जिस तालिका पर इटरेट करता है, वह फ़िल्टर कॉन्टेक्स्ट द्वारा आकार लेती है, जबकि प्रत्येक पंक्ति की गणना रो कॉन्टेक्स्ट में की जाती है।

आप SUMX के भीतर एक मेज़र का उपयोग कर सकते हैं। इस स्थिति में, एक कॉन्टेक्स्ट ट्रांज़िशन होता है, जहाँ रो कॉन्टेक्स्ट अस्थायी रूप से समकक्ष फ़िल्टर कॉन्टेक्स्ट में बदल जाता है ताकि प्रत्येक पंक्ति के लिए मेज़र का मूल्यांकन किया जा सके।

SUMX के सर्वोत्तम अभ्यास

Power BI में SUMX फ़ंक्शन का उपयोग करते समय, इन सर्वोत्तम प्रथाओं पर विचार करें:

  • SUMX लागू करने से पहले अपने डेटा मॉडल की संरचना ठीक रखें। सही परिभाषित रिलेशनशिप्स और मॉडल स्कीमा सटीक और अनुकूलित Power BI रिपोर्ट्स के लिए महत्वपूर्ण हैं।
  • गणना किए गए कॉलम या रो-स्तरीय सुरक्षा नियमों में उपयोग किए जाने पर DirectQuery मोड में SUMX समर्थित नहीं है।
  • SUMX के भीतर उपयोग की गई अभिव्यक्तियों को यथासंभव सरल और कुशल रखें। अत्यधिक जटिल गणनाओं से बचें जो विशेषकर बड़े डेटासेट्स पर प्रदर्शन को धीमा कर सकती हैं।
  • कॉन्टेक्स्ट ट्रांज़िशन के प्रति सचेत रहें और यह आपके फ़ंक्शन के परिणामों को कैसे प्रभावित कर सकता है।
  • SUMX केवल संख्याओं पर विचार करता है। रिक्त, लॉजिकल मान और टेक्स्ट को अनदेखा किया जाता है।

SUMX बनाम अन्य फ़ंक्शंस

कुछ फ़ंक्शंस SUMX के समान हैं, और किस फ़ंक्शन का कब उपयोग करना है, यह थोड़ा भ्रमित कर सकता है। आइए उन दो फ़ंक्शंस को समझें जो सबसे अधिक भ्रम पैदा करते हैं।

SUMX बनाम SUM

SUM का उपयोग किसी तालिका में एक कॉलम का योग निकालने के लिए किया जाता है और इसका निम्नलिखित सिंटैक्स है:

SUM(Column)

SUMX किसी अभिव्यक्ति का मूल्यांकन करने के लिए प्रत्येक पंक्ति पर इटरेट करता है, जबकि SUM सीधे एकल कॉलम के मानों को एग्रीगेट करता है। इसका अर्थ है कि SUMX कई कॉलमों को शामिल करने वाली अधिक जटिल गणनाओं को संभाल सकता है।

हालाँकि, SUMX की इटरेटिव प्रकृति इसे SUM की तुलना में अधिक संसाधन-गहन बनाती है, खासकर बड़े डेटासेट्स के साथ। यदि आप बड़े डेटा मॉडल के साथ काम कर रहे हैं, तो इसे याद रखें, और साधारण योग के लिए SUM पर ही टिके रहें।

SUMX बनाम CALCULATE

CALCULATE किसी गणना पर फ़िल्टर कॉन्टेक्स्ट को संशोधित करता है और DAX के सबसे शक्तिशाली फ़ंक्शंस में से एक है। CALCULATE फ़ंक्शन का सिंटैक्स यह है:

CALCULATE(Expression, Filter1, Filter2,...)

CALCULATE उन परिस्थितियों के लिए उपयुक्त है जहाँ आपको रिपोर्ट या मॉडल पर वर्तमान में लागू फ़िल्टर्स से अलग फ़िल्टर शर्तों के तहत गणनाएँ करनी हों। दूसरी ओर, SUMX रो-स्तरीय गणनाओं के बाद एग्रीगेशन के लिए है।

जटिल परिदृश्यों में, हम CALCULATE को अन्य फ़ंक्शंस, जैसे SUMX, के साथ उपयोग कर सकते हैं। उदाहरण के लिए, आप CALCULATE का उपयोग एक विशिष्ट फ़िल्टर कॉन्टेक्स्ट परिभाषित करने के लिए कर सकते हैं, जिसके भीतर SUMX अपनी रो-स्तरीय गणनाएँ और एग्रीगेशन करता है।

Power BI में SUMX लागू करना: चरण-दर-चरण गाइड

Power BI के सैंपल डेटा (जो Power BI Desktop इंस्टॉल करने पर उपलब्ध होता है) का उपयोग करके, हम दिखाएँगे कि SUMX फ़ंक्शन का उपयोग कैसे करें और SUMX को कुछ अन्य उपयोगी DAX फ़ंक्शंस के साथ कैसे जोड़ा जाए।

यहाँ हमारे डेटा का एक स्नैपशॉट है, जो विभिन्न सेगमेंट्स और देशों में अलग-अलग उत्पादों की मासिक बिक्री दिखाता है।

image4.png

चरण 1: SUMX का उपयोग करके एक मेज़र बनाना

यह SUMX की क्षमता का एक क्लासिक उदाहरण है। हम कुल बिक्री मूल्य की गणना करने के लिए बेची गई इकाइयों की संख्या, प्रति इकाई मूल्य और दी गई किसी भी छूट के मान का उपयोग करना चाहते हैं।

SUMX(Sales, (Sales[Units Sold] * Sales[Sale Price])-Sales[Discounts])

यहाँ हमारी SUMX फ़ंक्शन का परिणाम दिखाने वाली एक तालिका है। जैसा कि आप देख सकते हैं, कुल बिक्री पर भी फ़िल्टर कॉन्टेक्स्ट लागू किया जा सकता है—इस मामले में, हम Year और Product द्वारा फ़िल्टर करते हैं।

image1.png

चरण 2: SUMX पर फ़िल्टर्स लागू करना

हम SUMX फ़ंक्शन के साथ दो तरीकों से फ़िल्टर्स का उपयोग कर सकते हैं: FILTER या CALCULATE के साथ।

FILTER का उपयोग SUMX के भीतर किसी तालिका या अभिव्यक्ति पर विशिष्ट फ़िल्टर्स लागू करने के लिए किया जाता है। यह SUMX जिन पंक्तियों पर इटरेट करता है, उन पर अधिक सूक्ष्म नियंत्रण देता है।

SUMX(FILTER(Sales, Sales[Discount Band] = "High"), Sales[Units Sold])

CALCULATE SUMX फ़ंक्शन के लिए फ़िल्टर कॉन्टेक्स्ट को संशोधित करता है, जिससे जटिल सशर्त एग्रीगेशंस संभव होते हैं।

SUMX(Sales, CALCULATE(SUM(Sales[Units Sold]), Sales[Year] = 2020))

चरण 3: SUMX को अन्य फ़ंक्शंस के साथ संयोजित करना

ALL और ALLEXCEPT

इन फ़ंक्शंस का उपयोग किसी तालिका से या निर्दिष्ट तालिकाओं को छोड़कर सभी तालिकाओं से फ़िल्टर्स हटाने के लिए किया जाता है। इन्हें अक्सर CALCULATE के भीतर और SUMX के साथ संयोजन में एक अनफ़िल्टर्ड डेटासेट पर गणनाएँ करने के लिए उपयोग किया जाता है।

SUMX(ALL(Sales), Sales[Sale Price] * Sales[Units Sold])

VALUES

VALUES किसी कॉलम से अनोखे मानों की एक-स्तंभीय तालिका लौटाता है। आप इसे SUMX के साथ संयोजित कर सकते हैं जब गणना के लिए अनोखे मानों पर इटरेशन की आवश्यकता हो।

SUMX(VALUES(Sales[Country]), [Total Sales])

AVERAGEX, MINX, और MAXX

ये अन्य इटरेटिव फ़ंक्शंस हैं जो SUMX के समान हैं, लेकिन क्रमशः औसत, न्यूनतम या अधिकतम मानों की गणना के लिए उपयोग होते हैं। इन्हें SUMX के साथ नेस्ट किया जा सकता है या साथ-साथ उपयोग किया जा सकता है।

AVERAGEX(Customers, SUMX(RELATEDTABLE(Sales), Sales[Units Sold]))

IF और SWITCH

IF और SWITCH जैसे लॉजिकल फ़ंक्शंस का उपयोग SUMX के भीतर सशर्त गणनाओं के लिए किया जा सकता है।

SUMX(Sales, IF(Sales[Country] = "Mexico", Sales[Units Sold], 0))

USERELATIONSHIP

USERELATIONSHIP किसी गणना में उपयोग की जाने वाली विशेष रिलेशनशिप को निर्दिष्ट करता है। जब तालिकाओं के बीच कई रिलेशनशिप्स मौजूद हों, तो यह विशेष रूप से उपयोगी है।

SUMX(CALCULATETABLE(Sales, USERELATIONSHIP(Date[Date], Sales[Date])), Sales[Units Sold])

निष्कर्ष

इस ट्यूटोरियल में, हमने Power BI में SUMX फ़ंक्शन का विस्तार से अध्ययन किया और आपको इसे स्वयं लागू करना दिखाया। यह न केवल एक लचीला और शक्तिशाली DAX फ़ंक्शन है, बल्कि DAX में कॉन्टेक्स्ट्स को समझने के महत्व को भी दर्शाता है। और जानने के लिए हमारा Power BI fundamentals स्किल ट्रैक देखें।

Joleen Bothma

लेखक

Joleen Bothma

विषय