TOP

DAX-पाठ 2. CALCULATE फ़ंक्शन

YouLibreCalc for Excel logo

विवरण

DAX सीखना शुरू करने वाला पहला फ़ंक्शन CALCULATE है। इस फ़ंक्शन का Excel में कोई सटीक समकक्ष नहीं है, लेकिन यह फ़ंक्शन से तुलनीय है SUMIFS और COUNTIFs . संक्षेप में, यह फ़ंक्शन अन्य गणना कार्यों पर फ़िल्टर लागू करता है, इस प्रकार हम गणना में केवल वही डेटा चुन सकते हैं और शामिल कर सकते हैं जिसकी हमें आवश्यकता है।

फ़ंक्शन का सिंटैक्स CALCULATE()

=CALCULATE(< सांख्यिकीय अभिव्यक्ति >, < फ़िल्टर1 >, < फ़िल्टर2 >,...)

< सांख्यिकीय अभिव्यक्ति >

सांख्यिकीय अभिव्यक्ति हमें गणना का परिणाम लौटाना चाहिए (एक मान, तालिका नहीं)। इस कारण से, इस सेटिंग में अक्सर इस प्रकार के सांख्यिकीय कार्यों का उपयोग किया जाता है SUM , मिन , मैक्स , देश वगैरह।

  1. SUM([ आम नाम ])
  2. SUM([ नामकॉलम1 ]) / मैक्स([ नामकॉलम2 ])
  3. अन्य गणना फ़ील्ड का नाम (माप)

< फ़िल्टर1 >, < फ़िल्टर2 >,...

फ़िल्टर काम किए जाने वाले डेटा की सीमा को परिभाषित करता है। मानों के चयन की शर्तें यहां निर्दिष्ट हैं।

  1. [ आम नाम ] = ऑटो
  2. [ आम नाम ] >= 6
  3. ALL( 'तालिका नाम' ) या ALL( 'तालिका नाम' [ आम नाम ] )
  4. FILTER ( 'तालिका नाम' , 'तालिका नाम' [ आम नाम ] = " हरा ")

मान लीजिए हमारे पास एक ऐसी तालिका है, जिसे कहा जाता है Demo और लोड किया गया PowerPivot .

आइए इसके आधार पर एक सारांश तालिका बनाएं और प्रत्येक उत्पाद के लिए रिकॉर्ड की संख्या गिनें।

अब एक नया गणना क्षेत्र बनाएं (Measure) हमारी धुरी तालिका में count_All_Product, जो सभी पंक्तियों के विरुद्ध रिकॉर्ड की कुल संख्या प्रदर्शित करेगा।

हमें गणना क्षेत्र काउंट_ऑल_प्रोडक्ट में संख्याएँ कैसे मिलीं 16 ? स्पष्टीकरण यह है कि हमने इस फ़ील्ड के लिए फ़ंक्शन का उपयोग करके पिवट तालिका में लागू किए गए सभी फ़िल्टर हटा दिए हैं (पिवट तालिका में प्रत्येक पंक्ति एक अलग फ़िल्टर है) ALL() . दूसरे शब्दों में, यह एक फ़ंक्शन है ALL (Demo) गणना किए गए फ़ील्ड काउंट_ऑल_प्रोडक्ट के लिए तालिका पर लागू होने वाले सभी फ़िल्टर को हटाने का आदेश देता है Demo .

आइए एक और फ़ील्ड जोड़ें (City) शहर के अनुसार प्रत्येक उत्पाद की बिक्री देखने के लिए पंक्तियों में:

हम देखते हैं कि संख्याएँ फ़ील्ड में हैं Count of Rows बदलें, लेकिन गणना फ़ील्ड काउंट_ऑल_प्रोडक्ट में नहीं। यह सही है, क्योंकि पिछले फ़िल्टर के लिए हमने सूत्र के सभी फ़िल्टर हटा दिए थे। आइए अब अपने फॉर्मूले में कुछ छोटे बदलाव करें और परिणाम देखें।

=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))

हमने तर्क को प्रतिस्थापित करके ALL() फ़ंक्शन में बदल दिया Demo पर Demo[Product] . अब संपूर्ण तालिका के लिए फ़िल्टर नहीं हटाए जाएंगे Demo , लेकिन केवल इसके कॉलम के लिए Demo[Product] .

तो हम देखते हैं कि मैदान पर क्या है Count of Rows फ़िल्टर प्रभावी हैं Product और City , और परिकलित फ़ील्ड काउंट_ऑल_प्रोडक्ट पर केवल एक फ़िल्टर City .