कोर्स
LOOKUPVALUE अन्य तालिकाओं में मान खोजने और प्राप्त करने के लिए एक उपयोगी DAX फ़ंक्शन है।
हालाँकि यह आपके Power BI रिपोर्टों में अच्छे डेटा मॉडलिंग अभ्यासों का विकल्प नहीं है, LOOKUPVALUE कई शर्तों के साथ जटिल अभिव्यक्तियाँ लिखते समय काफी लचीलापन देता है—खासकर तब, जब आप LOOKUPVALUE को अन्य DAX फ़ंक्शनों के साथ संयोजित करना चाहते हैं।
इस ट्यूटोरियल में, हम LOOKUPVALUE फ़ंक्शन की बुनियाद, यह कैसे काम करता है, इसे कैसे उपयोग करना है (विशेष रूप से अन्य DAX फ़ंक्शनों के साथ मिलाकर), और Power BI रिपोर्टों में LOOKUPVALUE का उपयोग करते समय प्रदर्शन संबंधित विचारों और सर्वोत्तम प्रथाओं पर चर्चा करेंगे।
Power BI में LOOKUPVALUE, Microsoft Excel में VLOOKUP के बहुत समान है। फिर भी, LOOKUPVALUE पर काम शुरू करने से पहले DAX और Power BI से परिचित होना अच्छा विचार है। हमारा Power BI fundamentals स्किल ट्रैक आपको जल्दी गति पकड़ने में मदद करेगा, और हमारा DAX चीट शीट DAX फ़ंक्शनों के साथ काम करते समय हाथ में रखने के लिए एक बढ़िया संदर्भ है।

LOOKUPVALUE की बुनियाद
LOOKUPVALUE फ़ंक्शन का उपयोग करके, हम एक या अधिक खोज शर्तों के आधार पर किसी अन्य तालिका के किसी कॉलम से एकल मान प्राप्त कर सकते हैं।
मानक सिंटैक्स इस प्रकार है:
LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)
यदि आप अभी DAX और इसके सिंटैक्स में नए हैं, तो हमारा Introduction to DAX कोर्स देखें या हमारे शुरुआती लोगों के लिए DAX ट्यूटोरियल को सरसरी निगाह से पढ़ लें। आप हमारे Intermediate DAX कोर्स से DAX ज्ञान को और गहरा भी कर सकते हैं।
आइए LOOKUPVALUE के पैरामीटर्स को विस्तार से समझें:
- result_column: यह वह कॉलम है जिसे आप लक्ष्य तालिका से प्राप्त करना चाहते हैं।
- search_column1: यह लक्ष्य तालिका में वह कॉलम है जिसमें वह मानदंड होता है जिससे आप मेल कराना चाहते हैं।
- search_value1: यह वह मान है जिसे search_column1 में ढूँढना है। यह कोई स्थिर मान (जैसे टेक्स्ट), किसी अभिव्यक्ति का परिणाम (जैसे min या max), या स्रोत तालिका का कोई कॉलम हो सकता है जिससे
LOOKUPVALUEमेल कराए। - [search_column2, search_value2, ...]: ये खोज कॉलमों और मानों की अतिरिक्त वैकल्पिक जोड़ियाँ हैं। आप अधिक जटिल खोज शर्तें बनाने के लिए कई जोड़ियाँ दे सकते हैं।
- [alternateResult]: यह डिफ़ॉल्ट या वैकल्पिक परिणाम है। यदि
LOOKUPVALUEउपयुक्त मेल नहीं पाता, तो यह यही मान लौटाएगा।
हर बार जब LOOKUPVALUE लक्ष्य तालिका में खोज करता है, तो उसे केवल एक ही मेल मिलना चाहिए। यदि कई संभावित मेल मिलते हैं, तो आपको अतिरिक्त खोज जोड़ियाँ परिभाषित करनी होंगी जब तक कि LOOKUPVALUE एक अद्वितीय मेल न ढूँढ ले।
स्पष्टता के लिए, हम अगले खंड में इसका एक उदाहरण चर्चा करेंगे।
सरल LOOKUPVALUE उदाहरण
बुनियादी उपयोग
मान लीजिए आपके पास एक products तालिका है जिसमें ProductID और ProductName कॉलम हैं। आप ID 101 वाले प्रोडक्ट का नाम खोजना चाहते हैं।
Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101)
एकाधिक खोज शर्तें
मान लें, आपके पास Sales तालिका है जिसमें ProductID, Region, और Revenue कॉलम हैं। आप किसी विशेष प्रोडक्ट (ID 101) के लिए किसी विशेष क्षेत्र (East) में राजस्व खोजना चाहते हैं।
Product_Revenue = LOOKUPVALUE(Sales[Revenue], Sales[ProductID], 101, Sales[Region], "East")
ब्लैंक्स को संभालना
जहाँ खोज शर्तें कोई मेल नहीं लौटातीं, वहाँ LOOKUPVALUE खाली (blank) लौटाता है।
इन खाली मानों को संभालने के दो तरीके हैं:
LOOKUPVALUEके वैकल्पिक परिणाम पैरामीटर का उपयोग करना।- यदि
LOOKUPVALUEखाली लौटाए, तो वैकल्पिक परिणाम निर्दिष्ट करने के लिएCOALESCEफ़ंक्शन का उपयोग करना।
विधि 1: वैकल्पिक परिणाम
आप LOOKUPVALUE फ़ंक्शन में एक डिफ़ॉल्ट मान या वैकल्पिक परिणाम निर्दिष्ट कर सकते हैं। यह एक वैकल्पिक पैरामीटर है जिसे LOOKUPVALUE अभिव्यक्ति के बिलकुल अंत में रखा जाता है।
Product_Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], 101, "Not Found")
विधि 2: COALESCE
दूसरे, आप COALESCE फ़ंक्शन का उपयोग कर सकते हैं, जो लगभग उसी तरह काम करता है जैसे LOOKUPVALUE में वैकल्पिक परिणाम निर्दिष्ट करना।
हालाँकि, आपके उपयोग-परिदृश्य और डेटासेट के आधार पर, COALESCE अधिक बेहतर प्रदर्शन दे सकता है। यदि आपके Power BI रिपोर्ट में गति और प्रदर्शन महत्वपूर्ण हैं, तो COALESCE पर विचार करना उचित है।
Commission Rate =
COALESCE(
LOOKUPVALUE(
'CommissionRates'[Rate],
'CommissionRates'[SalespersonID], SELECTEDVALUE('Sales'[SalespersonID])
),
0.05
)
LOOKUPVALUE बनाम RELATED
अपनी तालिकाओं के बीच संबंध परिभाषित करना हमेशा अच्छा डेटा मॉडलिंग अभ्यास है। यह DAX फ़ंक्शन LOOKUPVALUE के उपयोग की तुलना में तेज़ होता है और आपके सेमांटिक मॉडल को अभी और भविष्य में समझना आसान बनाता है।
जब आप तालिकाओं के बीच संबंध बनाते हैं, तो आप RELATED फ़ंक्शन का उपयोग कर पाते हैं। अधिकांश मामलों में, RELATED फ़ंक्शन LOOKUPVALUE की तुलना में सरल और अधिक प्रत्यक्ष होता है।
RELATED फ़ंक्शन तब आदर्श है जब आपको किसी ऐसी दूसरी तालिका से मान लाना हो जिसका आपके स्रोत तालिका से सीधा संबंध हो।
उदाहरण के लिए, यदि आप sales तालिका में ग्राहक का नाम जोड़ना चाहते हैं, और sales तथा customers तालिकाओं के बीच CustomerID पर सीधा संबंध है, तो आप इसका उपयोग कर सकते हैं:
Customer Name = RELATED(Customers[CustomerName])
हालाँकि, `LOOKUPVALUE` `RELATED` की तुलना में अधिक लचीला है और तब सर्वोत्तम है जब आपको अपने मॉडल में मौजूदा सीधे संबंध के बिना लुकअप करना हो या जटिल या बहु मानदंडों के आधार पर मान ढूँढना हो। यह बहुमुखी है, पर ध्यान रखें कि इसका अत्यधिक उपयोग न करें क्योंकि इससे प्रदर्शन पर प्रभाव पड़ सकता है।
LOOKUPVALUE को अन्य DAX फ़ंक्शनों के साथ जोड़ना
हमने पहले देखा कि मेल न मिलने पर वैकल्पिक परिणाम देने के लिए आप LOOKUPVALUE को COALESCE के साथ कैसे जोड़ सकते हैं।
अन्य DAX फ़ंक्शन भी हैं जो LOOKUPVALUE के साथ अच्छे से जोड़ी बनाते हैं, जैसे CALCULATE और SWITCH।
हम इस खंड में इनका उदाहरणों के साथ जायजा लेंगे।
LOOKUPVALUE और CALCULATE
LOOKUPVALUE फ़ंक्शन को CALCULATE फ़ंक्शन के साथ मिलाना उन परिस्थितियों में उपयोगी होता है जहाँ आपको किसी ऐसी गणना या फ़िल्टर संदर्भ के आधार पर दूसरी तालिका से मान प्राप्त करना हो जो किसी सरल संबंध या सीधे लुकअप से सुलभ न हो।
इसे अक्सर फ़िल्टर लगाने या गणनाओं की सूक्ष्मता बदलने के लिए उपयोग किया जाता है। जब आप इसे LOOKUPVALUE के साथ जोड़ते हैं, तो आप गणनाओं के परिणामों के आधार पर लुकअप के मानदंडों को गतिशील रूप से समायोजित कर सकते हैं।
यहाँ एक उदाहरण है: मान लीजिए किसी तालिका में विशिष्ट वर्ष के लिए उत्पादों और उनके बिक्री लक्ष्य की सूची है। दिए गए Product ID के लिए, आप चालू वर्ष का बिक्री लक्ष्य लाना चाहते हैं।
आइए देखें, यह CALCULATE और LOOKUPVALUE फ़ंक्शनों को मिलाकर कैसे किया जा सकता है।
Product Sales Target =
VAR SpecificProductID = 123
VAR CurrentYear = YEAR(TODAY())
RETURN
CALCULATE(
LOOKUPVALUE(
SalesTargets[SalesTarget],
SalesTargets[ProductID],
SpecificProductID,
SalesTargets[Year],
CurrentYear
),
ALL(SalesTargets)
)
LOOKUPVALUE और SWITCH
LOOKUPVALUE फ़ंक्शन को SWITCH फ़ंक्शन के साथ मिलाना तब अच्छा काम करता है जब आपको दूसरी तालिका से मानों को गतिशील रूप से खोजना हो और कई संभावित मेल के आधार पर अलग-अलग परिणाम लौटाने हों।
यदि आप SWITCH फ़ंक्शन से अपरिचित हैं, तो हमारे पास एक ट्यूटोरियल है जो आपको इसे विस्तार से समझाएगा।
यहाँ एक उदाहरण है: मान लीजिए आपके पास एक sales डेटासेट और एक अलग commission rates तालिका है। किसी कर्मचारी को मिलने वाली कमीशन दर उसके sales tier पर निर्भर करती है, जो सीधे सहेजी नहीं होती, बल्कि उसके कुल बिक्री राशि से निकाली जा सकती है।
आप Sales तालिका में एक calculated column बनाना चाहते हैं जो प्रत्येक बिक्री के लिए sales tier के आधार पर कमीशन दर बताता हो।
Commission Rate =
VAR SalesAmount = Sales[TotalSalesAmount]
VAR SalesTier =
SWITCH(
TRUE(),
SalesAmount <= 500, "Low",
SalesAmount <= 2000, "Medium",
"High"
)
RETURN
LOOKUPVALUE(
CommissionRates[CommissionRate],
CommissionRates[SalesTier],
SalesTier
)
इस DAX अभिव्यक्ति में, हम SWITCH फ़ंक्शन का उपयोग करके sales tier निर्धारित करते हैं और फिर उसी परिणाम को LOOKUPVALUE में उपयोग करके उस tier के लिए मेल खाती कमीशन दर प्राप्त करते हैं।
प्रदर्शन संबंधी विचार और सर्वोत्तम प्रथाएँ
1. जहाँ संभव हो, संबंधों का उपयोग करें
जहाँ भी संभव हो, तालिकाओं के बीच सीधे संबंधों का उपयोग करना बेहतर है। Power BI में संबंध प्रदर्शन के लिए अनुकूलित होते हैं, और RELATED जैसे फ़ंक्शन अक्सर LOOKUPVALUE की तुलना में अधिक कुशल होते हैं।
यह तरीका Power BI के आंतरिक अनुकूलनों का भी लाभ उठाता है, जो महत्वपूर्ण है यदि आप अपनी रिपोर्ट का लोडिंग समय कम करना चाहते हैं।
2. calculated columns में उपयोग कम रखें
हालाँकि LOOKUPVALUE को calculated columns में उपयोग किया जा सकता है, सामान्यतः इसका अधिक उपयोग करना उचित नहीं है। calculated columns डेटा रिफ्रेश के समय गणना होते हैं और बड़े डेटासेट में प्रक्रिया को धीमा कर सकते हैं।
इसके बजाय measures में LOOKUPVALUE का उपयोग करने पर विचार करें, जहाँ गणनाएँ क्वेरी समय पर होती हैं और क्वेरी अनुकूलनों का लाभ उठा सकती हैं।
3. खाली परिणामों को सावधानी से संभालें
LOOKUPVALUE तब खाली परिणाम लौटाता है जब कोई मेल नहीं मिलता। जैसा कि हमने पहले चर्चा की, अपनी रिपोर्टों में इसे संभालने के लिए सही तरीका चुनना महत्वपूर्ण है। आप COALESCE जैसे फ़ंक्शन या LOOKUPVALUE के वैकल्पिक परिणाम पैरामीटर का उपयोग करके डिफ़ॉल्ट मान प्रदान करने पर विचार कर सकते हैं, जब LOOKUPVALUE खाली लौटाए।
4. डेटा प्रकार और केस सेंसिटिविटी
सुनिश्चित करें कि खोज मान और जिस कॉलम में खोज की जा रही है, उनके डेटा प्रकार मेल खाते हों, और केस सेंसिटिविटी के प्रति सजग रहें। डेटा प्रकारों या केस में असंगतियाँ LOOKUPVALUE फ़ंक्शन में अप्रत्याशित परिणाम या त्रुटियों का कारण बन सकती हैं।
निष्कर्ष
संक्षेप में, LOOKUPVALUE आपको अन्य तालिकाओं से मान ढूँढने और प्राप्त करने के अधिक विकल्प देता है। यह विशेष रूप से शक्तिशाली होता है जब आप इसे अन्य DAX फ़ंक्शनों के साथ मिलाते हैं। हालाँकि, यह अच्छे डेटा मॉडलिंग अभ्यासों का विकल्प नहीं है, और अनुशंसा की जाती है कि आप पहले अपने Power BI रिपोर्टों में तालिकाओं के बीच संबंध परिभाषित करने की कोशिश करें।
यदि आप Power BI डेवलपर के रूप में करियर में जाने पर विचार कर रहे हैं, तो हमारा Power BI डेवलपर बनने के लिए चरण-दर-चरण मार्गदर्शक देखें। हम आपको अपना Power BI सीखना जारी रखने के लिए हमारे पूर्ण Data Analyst in Power BI करियर ट्रैक को एक्सप्लोर करने के लिए प्रोत्साहित करते हैं, जो आपको व्यावहारिक रूप से Power BI का उपयोग शुरू करने के लिए आवश्यक हर चीज सिखाएगा।
