DAX SUMMARIZE() और डेटा ग्रुपिंग
यहाँ बताया गया है कि SUMMARIZE() फ़ंक्शन निर्दिष्ट कॉलम्स और एग्रीगेशन के आधार पर सार-तालिकाएँ कैसे बनाता है:
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
ऊपर दिए गए सिंटैक्स में:
-
tableआपके डेटा की स्रोत तालिका है। -
groupBy_columnNameवह कॉलम/वे कॉलम हैं जिनसे आप समूह बनाना चाहते हैं। -
nameआपकी नई गणना की गई कॉलम का नाम है। -
expressionवह गणना है जो आप करना चाहते हैं।
आप अपने डेटासेट में किसी भी तालिका या कॉलम के साथ SUMMARIZE() का उपयोग कर सकते हैं, जो इसे बहुत बहुमुखी बनाता है।
बेसिक ग्रुपिंग
आइए SUMMARIZE() के साथ बेसिक ग्रुपिंग का एक सरल उदाहरण देखें।
सबसे पहले, डेटा सेट को Power BI में इम्पोर्ट करें। ऐसा करने के लिए Home टैब > Get Data पर जाएँ। ड्रॉपडाउन मेनू से अपने सेव किए गए फ़ाइल के अनुरूप विकल्प चुनें और उसे लोड करें। इस उदाहरण में, मेरे पास Year, Product और SalesAmount कॉलम वाला डेटासेट है। मैं अब इसे Power BI में इम्पोर्ट करूँगा।

sales नाम की तालिका। चित्र: लेखक द्वारा।
डेटा इम्पोर्ट होने के बाद, Modeling टैब > New table पर जाएँ। फिर, Year कॉलम द्वारा ग्रुप करने और Total Sales को एग्रीगेट करने के लिए निम्न फ़ॉर्मूला दर्ज करें।
SummaryTable =
SUMMARIZE(
sales,
sales[Year],
"Total Sales", SUM(sales[SalesAmount])
)

फ़ॉर्मूला बार। चित्र: लेखक द्वारा।
इस फ़ॉर्मूला में:
-
SummarizedTableएक नई तालिका बनाता है। -
SUMMARIZE(डेटा का समूह और सार-संक्षेप शुरू करता है। -
SalesData,स्रोत तालिका है। -
SalesData[Year],को Year कॉलम के अनुसार समूहित करता है। -
"Total Sales", SUM(SalesData[SalesAmount])एक नया कॉलम Total Sales बनाता है, जो प्रत्येक वर्ष के लिए SalesAmount को जोड़ता है।

सार-संक्षेपित परिणाम। चित्र: लेखक द्वारा।
यहाँ, SUMMARIZE() फ़ंक्शन डेटा को Year के अनुसार समूहित करके एक सार-तालिका बनाता है और प्रत्येक वर्ष के लिए SalesAmount को जोड़कर Total Sales की गणना करता है।
मल्टीपल ग्रुपिंग
SUMMARIZE() अधिक जटिल ग्रुपिंग को भी संभाल सकता है। इसे एक उदाहरण से समझते हैं। यहाँ मेरे पास Year, Product, Region और SalesAmount कॉलम वाला डेटासेट है।

sales_data नाम की तालिका। चित्र: लेखक द्वारा।
यहाँ, मैं Year और Region के आधार पर समूह बना रहा/रही हूँ ताकि प्रत्येक संयोजन के लिए Total Sales की गणना की जा सके।
SummarizedTable =
SUMMARIZE(
sales_data,
sales_data[Year],
sales_data[Region],
"Total Sales", SUM(sales_data[SalesAmount])
)
इस फ़ॉर्मूला में:
-
sales_dataवह तालिका है जहाँ आपका डेटा संग्रहीत है। -
sales_data[Year]पहला कॉलम है जिसे Year के अनुसार समूहित किया जाएगा। -
sales_data[Region]दूसरा कॉलम है जिसे Region के अनुसार समूहित किया जाएगा। -
"Total Sales"बिक्री के योग के लिए कस्टम कॉलम नाम है। -
SUM(SalesData[SalesAmount])प्रत्येक समूह के लिए बिक्री को जोड़ता है।

एकाधिक कॉलम का सार-संक्षेप। चित्र: लेखक द्वारा।
यहाँ, मल्टीपल ग्रुपिंग ने हमें Region और Year दोनों के अनुसार बिक्री रुझान दिखाने में मदद की। North और East क्षेत्रों में 2021 से 2023 तक वृद्धि दिखती है। South में 2022 में उच्च बिक्री थी, जबकि West के पास केवल 2022–2023 के लिए डेटा है।
DAX SUMMARIZE() के साथ एडवांस्ड तकनीकें
हालाँकि SUMMARIZE() उपयोगी है, आप इसे अन्य DAX फ़ंक्शंस के साथ जोड़कर और भी उन्नत डेटा विश्लेषण क्षमताएँ आज़मा सकते हैं। तो, आइए कुछ उदाहरण देखें कि जटिल एग्रीगेशन और सार-संक्षेप के लिए SUMMARIZE() का लाभ कैसे उठाया जा सकता है।
ROLLUP() के साथ SUMMARIZE() का उपयोग
SUMMARIZE() के भीतर ROLLUP() फीचर आपकी सार-तालिकाओं में सबटोटल पंक्तियाँ जोड़ता है, ताकि विभिन्न ग्रुपिंग स्तरों पर उप-योग दिखाए जा सकें और अधिक विस्तृत अनुक्रमिक सारांश प्रदान किए जा सकें। यदि आप वित्त क्षेत्र या किसी प्रासंगिक विश्लेषण भूमिका में कार्य करते हैं, तो बहु-स्तरीय एग्रीगेशन करने में यह विशेष रूप से उपयोगी होगा।
-
अपने ग्रुपिंग कॉलम्स के बाद
SUMMARIZE()मेंROLLUP()कीवर्ड जोड़ें। -
निर्दिष्ट करें कि किन कॉलम्स को
ROLLUP()गणना में शामिल किया जाना चाहिए।
SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, ROLLUP(<groupBy_columnName>[,< groupBy_columnName>…])][, <name>, <expression>]…)
उदाहरण के लिए, यह डेटासेट किसी विशेष Region में प्रत्येक Product की Sales और Quantity दिखाता है। अब, मुझे Region और Product के अनुसार बिक्री का सार-संक्षेप निकालना है, जिसमें सबटोटल और कुल शामिल हों।

sales_rollup नाम की तालिका। चित्र: लेखक द्वारा।
ऐसा करने के लिए, मैं निम्न फ़ॉर्मूला का उपयोग करता/करती हूँ:
SalesWithRollup =
SUMMARIZE(
sales_rollup,
ROLLUP(sales_rollup[Region], sales_rollup[Product]),
"Total Sales", SUM(sales_rollup[Sales]),
"Total Quantity", SUM(sales_rollup[Quantity])
)

ROLLUP() का उपयोग। चित्र: लेखक द्वारा।
आप देख सकते हैं—यहाँ SUMMARIZE() फ़ंक्शन बिक्री डेटा को Region और Product के अनुसार समूहित करता है ताकि Total Sales और Total Quantity की गणना की जा सके। ROLLUP() उप-योग और कुल-योग पंक्तियाँ जोड़कर विभिन्न स्तरों पर बिक्री प्रदर्शन का अनुक्रमिक सारांश देता है।
SUMMARIZE() को ADDCOLUMNS() के साथ जोड़ना
आप SUMMARIZE() को ADDCOLUMNS() के साथ बढ़ा भी सकते हैं, ताकि समूहित डेटा के भीतर कस्टम-गणना वाले कॉलम शामिल किए जा सकें। यदि आप अपनी सार-तालिका में माप या जटिल गणनाएँ जोड़ना चाहते हैं, तो यह उपयोगी है।
उदाहरण के लिए, मैं वही डेटासेट उपयोग करता/करती हूँ और इस बार नया कॉलम जोड़ने के लिए निम्न फ़ॉर्मूला लागू करता/करती हूँ:
SalesWithAddColumns =
ADDCOLUMNS(
SUMMARIZE(
sales_rollup,
sales_rollup[Region],
sales_rollup[Product],
"Total Sales", SUM(sales_rollup[Sales]),
"Total Quantity", SUM(sales_rollup[Quantity])
),
"Average Sales per Unit",
DIVIDE(SUM(sales_rollup[Sales]), SUM(sales_rollup[Quantity]), 0)
)

SUMMARIZE() और ADDCOLUMNS() का संयोजन। चित्र: लेखक द्वारा।
यहाँ, SUMMARIZE() फ़ंक्शन बिक्री को Region और Product के अनुसार समूहित करके Total Sales और Total Quantity की गणना करता है। इसके बाद ADDCOLUMNS() प्रत्येक समूह के लिए कुल बिक्री को कुल मात्रा से भाग देकर Average Sales per Unit की गणना करता है।
आम DAX समस्याएँ और उनके समाधान
SUMMARIZE() का उपयोग करते समय, आपको कुछ समस्याओं का सामना करना पड़ सकता है। लेकिन चिंतित न हों—ऐसा हम सबके साथ होता है—मैं आपको कुछ आम चुनौतियों और उनके समाधान बताता/बताती हूँ।
अस्पष्ट परिणामों से बचना
कभी-कभी, SUMMARIZE() ऐसे परिणाम दे सकता है जो समझ में नहीं आते। यह अक्सर तब होता है जब आपका डेटा मॉडल या रिलेशनशिप स्पष्ट नहीं होते। इससे बचने के लिए:
-
अपने डेटा मॉडल की दोबारा जाँच करें: सुनिश्चित करें कि आपकी सभी तालिकाएँ सही ढंग से कनेक्टेड हैं।
-
स्पष्ट कॉलम नामों का उपयोग करें: विभिन्न तालिकाओं में डुप्लिकेट नामों से बचें।
-
तालिका नाम निर्दिष्ट करें: कॉलम का संदर्भ देते समय, भ्रम से बचने के लिए तालिका का नाम शामिल करें (जैसे
Orders[OrderDate])।
प्रदर्शन संबंधी विचार
हालाँकि SUMMARIZE() एक सहायक फ़ंक्शन है, यह बड़े डेटासेट्स को प्रोसेस करते समय संसाधन-गहन हो सकता है और गति धीमी कर सकता है। इसका अर्थ है कि आपके रिपोर्ट्स को रिफ्रेश होने में थोड़ा अधिक समय लग सकता है, खासकर यदि आप इस फ़ंक्शन का उपयोग जटिल मेजर्स के भीतर या बहुत-से ग्रुप्ड कॉलम्स के साथ कर रहे हैं।
अपनी क्वेरीज़ को तेज रखने के लिए ये सुझाव अपनाएँ:
-
Calculated columns पर विचार करें: बार-बार उपयोग होने वाले सार-संक्षेप के लिए हर बार
SUMMARIZE()का उपयोग करने के बजाय calculated columns बनाएँ। -
अनावश्यक कॉलम हटाएँ: अपने विश्लेषण से असंबंधित कॉलम, जैसे प्राइमरी कीज़ या ऐसे कॉलम जो अन्य से गणना किए जा सकते हैं, हटा दें।
-
फ़िल्टर्स का उपयोग करें: प्रोसेस किए जाने वाले डेटा की मात्रा कम करने के लिए DAX
SUMMARIZE()कोFilter()के साथ सार-संक्षेप से पहले उपयोग करें।
SUMMARIZE() के DAX विकल्प
भले ही SUMMARIZE() एक उपयोगी फ़ंक्शन है, कभी-कभी अन्य टूल्स काम बेहतर कर सकते हैं। आइए कुछ विकल्पों पर नज़र डालें और जानें कि कब उनका उपयोग करना चाहिए।
SUMMARIZECOLUMNS()
SUMMARIZECOLUMNS() एक और DAX फ़ंक्शन है जो बड़े डेटा या जटिल परिस्थितियों में सार-तालिकाएँ बनाना आसान बनाता है। यह SUMMARIZE() जैसा है, पर कुछ भिन्नताओं के साथ।
-
आप
SUMMARIZECOLUMNS()में सीधे फ़िल्टर्स जोड़ सकते हैं, जिससे यह तेज़ हो जाता है। -
SUMMARIZECOLUMNS()के साथ, आप अपने आउटपुट में सीधे measures शामिल कर सकते हैं।ADDCOLUMNS()जैसे अतिरिक्त फ़ंक्शंस की आवश्यकता नहीं होती। -
SUMMARIZECOLUMNS()रिक्त पंक्तियों को स्वतः संभालता है, इसलिए आपको उनके बारे में चिंतित होने की ज़रूरत नहीं।
SUMMARIZECOLUMNS(
<groupBy_columnName> [, <groubBy_columnName>] …, [<filterTable>] … [, <name>, <expression>] …
)
उदाहरण के लिए, मेरे पास एक डेटासेट है और मैं कर्मचारियों के वेतन को Region और Department के अनुसार सार-संक्षेप करना चाहता/चाहती हूँ, जबकि उन कर्मचारियों को फ़िल्टर करना है जिनका पहला नाम Raven है। मैं SUMMARIZECOLUMNS() का उपयोग विभिन्न क्षेत्रों और विभागों में Raven के कुल वेतन की गणना करने के लिए करूँगा/करूँगी।

employee_data नाम की तालिका। चित्र: लेखक द्वारा।
इसके लिए, मैं निम्न फ़ॉर्मूला का उपयोग करता/करती हूँ:
SalarySummary =
SUMMARIZECOLUMNS(
employee_data[Name],
employee_data[Region],
employee_data[Department],
FILTER(employee_data, employee_data[Name] = "Raven"),
"Total Salary", SUM(employee_data[Salary])
)
ऊपर दिए गए फ़ॉर्मूला में:
-
SalarySummaryबनाई जा रही calculated तालिका को दिया गया नाम है। -
SUMMARIZECOLUMNS(...)निर्दिष्ट कॉलम्स और गणनाओं के आधार पर सार-तालिका बनाता है। -
employee_data[Name], employee_data[Region], employee_data[Department]वे कॉलम हैं जिनके अनुसार डेटा को समूहित किया जाएगा। -
FILTER(employee_data, employee_data[Name] = "Raven")परिणामों को केवल उन पंक्तियों तक सीमित करता है जहाँ Name हो Raven। -
"Total Salary", SUM(employee_data[Salary])परिणाम में एक calculated कॉलम बनाता है। -
SUM(employee_data[Salary])प्रत्येक समूह के लिए सभी Salary मानों का योग करता है।

परिणामों का सार-संक्षेप करने के लिए SUMMARIZECOLUMNS का उपयोग करें। चित्र: लेखक द्वारा।
आप परिणाम देख सकते हैं—SUMMARIZECOLUMNS() फ़ंक्शन डेटासेट को फ़िल्टर करता है और विभिन्न स्थानों और विभागों में Raven के वेतन के कुल की गणना करता है।
GROUPBY()
GROUPBY() एक अन्य फ़ंक्शन है जो तब SUMMARIZE() की जगह ले सकता है जब आपको केवल डेटा को समूहित करना हो और उन्हीं समूहों पर गणनाएँ करनी हों। साधारण ग्रुपिंग ऑपरेशंस के लिए यह SUMMARIZE() से अधिक कुशल हो सकता है।
जहाँ SUMMARIZE() संबंधित तालिकाओं में काम कर सकता है, वहीं GROUPBY() एक ही तालिका के भीतर ग्रुपिंग और एग्रीगेशन पर केंद्रित रहता है, जो कुछ परिस्थितियों में प्रदर्शन को बेहतर बनाता है।
आइए एक उदाहरण देखें। मुझे आइटम, श्रेणियाँ, बिकी इकाइयाँ और यूनिट कीमतों को ट्रैक करने के लिए एक इन्वेंटरी डेटासेट बनाना है, फिर श्रेणी के अनुसार डेटा को समूहित करके प्रत्येक के लिए कुल राजस्व की गणना करनी है।

इन्वेंटरी तालिका। चित्र: लेखक द्वारा।
इसके लिए, मैं निम्न फ़ॉर्मूला का उपयोग करता/करती हूँ:
SummaryGroupBY =
GROUPBY(
Inventory,
Inventory[Category],
"Total Revenue",
SUMX(
CURRENTGROUP(),
Inventory[Units Sold] * Inventory[Unit Price]
)
)
ऊपर दिए गए फ़ॉर्मूला में:
-
GROUPBY()डेटा को Category के अनुसार समूहित करता है। -
CURRENTGROUP()प्रत्येक श्रेणी समूह को संदर्भित करता है (जैसे इलेक्ट्रॉनिक्स, फ़र्नीचर या उपकरण)। -
SUMX()प्रत्येक समूह के लिए कुल राजस्व की गणना करता है, जिसमें Units Sold को Unit Price से गुणा किया जाता है।

डेटा को समूहित करने के लिए GROUPBY का उपयोग। चित्र: लेखक द्वारा।
आप देख सकते हैं—GROUPBY() फ़ंक्शन आसानी से Total Revenue की गणना करता है, जिसमें श्रेणी के प्रत्येक आइटम के लिए Units Sold को Unit Price से गुणा करके प्राप्त राजस्व को जोड़ा जाता है।
DAX SUMMARIZE() पर अंतिम विचार
अब आप जानते हैं कि DAX में SUMMARIZE() फ़ंक्शन Power BI, Excel और अन्य टूल्स में डेटा को समूहित और विश्लेषित करने में कैसे मदद करता है। बेसिक ग्रुपिंग से लेकर ROLLUP() और ADDCOLUMNS() जैसी उन्नत तकनीकों तक, SUMMARIZE() सूचनाप्रद सार-संक्षेप बनाने में मदद करता है।
चूँकि अभ्यास से ही सिद्धि मिलती है, इन तकनीकों को अपने स्वयं के डेटा पर आज़माएँ और देखें कि ये उपयोगी अंतर्दृष्टियाँ कैसे उजागर करती हैं। यदि आप अपने DAX कौशल को और निखारना चाहते हैं, तो हमारे Introduction to DAX in Power BI में नामांकित हों और एक सच्चे पावर यूज़र बनें।
मैं एक कंटेंट स्ट्रैटेजिस्ट हूँ जिसे जटिल विषयों को सरल बनाना पसंद है। मैंने Splunk, Hackernoon, और Tiiny Host जैसी कंपनियों को अपने दर्शकों के लिए आकर्षक और सूचनात्मक सामग्री बनाने में मदद की है।
DAX Summarize() FAQs
क्या SUMMARIZE() केस-सेंसिटिव है?
DAX आम तौर पर केस-इनसेंसिटिव है, इसलिए SUMMARIZE() में उपयोग किए गए कॉलम नामों का मूल डेटा के केस से मेल खाना आवश्यक नहीं है।
SUMMARIZE() का उपयोग करते समय आम त्रुटियाँ क्या हैं?
सामान्य त्रुटियों में सिंटैक्स एरर, अस्तित्वहीन कॉलम नाम, और बड़े डेटासेट्स के साथ प्रदर्शन संबंधी समस्याएँ शामिल हैं। इन समस्याओं से बचने के लिए, हमेशा फ़ंक्शन के आर्ग्युमेंट्स और अपने डेटा मॉडल की दोबारा जाँच करें।
कॉन्टेक्स्ट के संदर्भ में SUMMARIZE() और SUMMARIZECOLUMNS() कैसे भिन्न हैं?
SUMMARIZE() एग्रीगेशन के लिए रो और फ़िल्टर दोनों कॉन्टेक्स्ट बरकरार रखता है, जबकि SUMMARIZECOLUMNS() में केवल फ़िल्टर कॉन्टेक्स्ट होता है।

बड़े डेटासेट्स से जूझिए मत। DAX
SUMMARIZE()फ़ंक्शन की मदद से डेटा को समूहित और एग्रीगेट करने की कला में निपुण बनिए, जो छिपे हुए पैटर्न उजागर करके आपको बेहतर निर्णय लेने में मदद करता है। DAXSUMMARIZE()के साथ, आप अपने बड़े डेटासेट के भीतर एक मिनी-रिपोर्ट बना सकते हैं और चुन सकते हैं कि किस जानकारी को समूहित करना है और किन संख्याओं को जोड़ना है। यह अत्यंत, अत्यंत सहायक है।पढ़ते रहें, और मैं आपको DAX
SUMMARIZE()को विस्तार से समझने में मदद करूँगा ताकि आप इसे अनेक परिदृश्यों में प्रभावी ढंग से इस्तेमाल कर सकें। यदि आप DAX में नए हैं और और संसाधन चाहते हैं, तो हमारे Power BI DAX Tutorial for Beginners को एक व्यापक दृष्टि के लिए देखें। आप वास्तविक प्रशिक्षण के लिए हमारा Introduction to DAX in Power BI कोर्स भी कर सकते हैं; इस कोर्स में बुनियादी के साथ-साथ उन्नत तकनीकें भी शामिल हैं, इसलिए यह हर स्तर के पेशेवरों के लिए उपयोगी है।DAX SUMMARIZE() फ़ंक्शन क्या है?
DAX
SUMMARIZE()फ़ंक्शन आपके डेटा को आपकी चुनी हुई कॉलम्स के आधार पर समूहित करता है। फिर यह प्रत्येक समूह के लिए कुल या अन्य सार-संक्षेप गणनाएँ करता है।उदाहरण के लिए, मान लीजिए आपके पास उत्पादों, क्षेत्रों और बिक्री राशि संबंधी जानकारी वाला बड़ा सेल्स डेटा है। यहाँ, आप
SUMMARIZE()का उपयोग करके डेटा को उत्पाद या क्षेत्र के अनुसार समूहित कर सकते हैं और प्रत्येक समूह की कुल बिक्री देख सकते हैं।आप Microsoft के कई टूल्स में DAX का उपयोग करेंगे, जैसे:
एक बार जब आप
SUMMARIZE()समझ लेते हैं, तो आप बेहतर रिपोर्ट बनाकर और गहरे विश्लेषण द्वारा अपने डेटा को कुशलतापूर्वक व्यवस्थित कर सकते हैं। इसलिए अगली बार जब आप बड़े डेटासेट के साथ काम कर रहे हों और उसे जल्दी समझना हो, तोSUMMARIZE()फ़ंक्शन का उपयोग करें।