Filter, , Searchऔर कार्य LookUp

इस पर लागू होता है: कैनवास ऐप्लिकेशन, Copilot Studio Desktop फ़्लो, मॉडल-चालित ऐप्स, Power Platform, CLI Dataverse फ़ंक्शंस , Power Pages

एक तालिका में एक या अधिक रिकॉर्ड ढूँढता है.

उपयोग करने Filterका तरीका जानने के लिए यह वीडियो देखें, , Searchऔर कार्य LookUp :

नोट

PAC CLI pac पावर-fx आदेश फ़ंक्शन का समर्थन नहीं Search करते।

विवरण

Filter फ़ंक्शन किसी तालिका में ऐसे रिकॉर्ड ढूँढता है जो किसी सूत्र को संतुष्ट करते हैं. एक या अधिक मापदंड से मेल खाने वाले रिकॉर्ड्स के सेट को ढूँढने के लिए उपयोग करें Filter और उन रिकॉर्ड्स को त्यागें जो नहीं करते हैं.

LookUp फ़ंक्शन किसी तालिका में पहला रिकॉर्ड ढूँढता है जो किसी सूत्र को संतुष्ट करता है. एक या अधिक मापदंड से मेल खाने वाले एकल रिकॉर्ड को खोजने के लिए उपयोग करें LookUp .

दोनों के लिए, सूत्र का मूल्यांकन तालिका के सभी रिकॉर्ड के लिए किया जाता है. जिन रिकॉर्ड के परिणाम सही में प्राप्त होते हैं, वे परिणाम में शामिल होते है. सामान्य सूत्र ऑपरेटर के अतिरिक्त, आप सबस्ट्रिंग मिलानों के लिए in और exactin ऑपरेटर का उपयोग कर सकते हैं.

वर्तमान में संसाधित की जा रही रिकॉर्ड की फ़ील्ड फ़ॉर्मूला में उपलब्ध हैं. ThisRecord ऑपरेटर या केवल नाम से संदर्भ फ़ील्ड का उपयोग करें, जैसे आप किसी अन्य मान के साथ करेंगे. संसाधित किए जा रहे रिकॉर्ड को नाम देने के लिए As ऑपरेटर का भी उपयोग किया जा सकता है, जो आपके सूत्र को समझ पाना आसान बना सकता है और नेस्टेड रिकॉर्ड को सुलभ बना सकता है. अधिक जानकारी के लिए, नीचे दिए गए उदाहरणों को देखें और रिकॉर्ड कार्यक्षेत्र के साथ कार्य करें.

फ़ंक्शन किसी Search तालिका में ऐसे रिकॉर्ड्स ढूँढता है जिसमें उनके किसी एक स्तंभ में कोई स्ट्रिंग होती है. स्ट्रिंग कॉलम के भीतर कहीं भी हो सकती है; उदाहरण के लिए, ""rob या "bert" की खोज करने पर एक कॉलम में एक मिलान मिलेगा जिसमें ""Robert होगा। खोज केस-असंवेदी होता है. इसके विपरीत Filter और , LookUpSearch फ़ंक्शन एक सूत्र के बजाय मिलान करने के लिए एक एकल स्ट्रिंग का उपयोग करता है।

Filter Search और एक तालिका लौटाएं जिसमें मूल तालिका के समान स्तंभ और मापदंड से मेल खाने वाले रिकॉर्ड हों। LookUp रिकॉर्ड को एकल मान तक कम करने के लिए सूत्र लागू करने के बाद, केवल पहला रिकॉर्ड लौटाता है. यदि कोई रिकॉर्ड नहीं मिलता है, Filter और Search एक रिक्त तालिका लौटाता है, और LookUpरिक्त लौटाता है।

तालिकाएँ एक मान हैं Power Apps, ठीक एक स्ट्रिंग या संख्या की तरह। उन्हें फ़ंक्शन को पास किया जा सकता है और वहाँ से लौटाया जा सकता है. Filter, , Searchऔर LookUp किसी तालिका को संशोधित न करें। इसके बजाय, वे तालिका को एक तर्क के रूप में लेते हैं, और उससे एक तालिका, एक रिकॉर्ड या एक एकल मान देते हैं. अधिक जानकारी के लिए, तालिकाओं के साथ कार्य करना देखें.

प्रत्यायोजन

संभव होने पर, Power Apps माँग पर परिणामों के माध्यम से डेटा स्रोत और पृष्ठ पर फ़िल्टर और क्रमबद्ध कार्रवाइयाँ प्रत्यायोजित करेगा. उदाहरण के लिए, जब आप एक ऐसा ऐप शुरू करते हैं जो डेटा से भरी गैलरी नियंत्रण दिखाता है, तो शुरुआत में केवल रिकॉर्ड का पहला सेट ही लाया जाएगा. जैसे-जैसे उपयोगकर्ता स्क्रॉल करता है, डेटा स्रोत से अतिरिक्त डेटा नीटे आ जाता है. इसका परिणाम ऐप के लिए तेज़ प्रारंभ समय और बहुत बड़े डेटा सेट की पहुँच है.

हालाँकि, हो सकता है कि प्रत्यायोजन हर समय संभव न हो. डेटा स्रोतों में इस आधार पर भिन्नता होती है कि प्रत्यायोजन के साथ कौन से फ़क्शन और ऑपरेटर का वे समर्थन करते हैं. यदि फ़ॉर्मूला का पूर्ण प्रत्यायोजन संभव नहीं है, तो लेखन परिवेश उस भाग को फ़्लैग करेगा जिसे चेतावनी के साथ प्रत्यायोजित न किया जा सकता हो. संभव होने पर, प्रत्यायोजित न किए जा सकने वाले फंक्शन और ऑपरेटरों को अनदेखा करने के लिए फ़ॉर्मूला को परिवर्तित करना निर्दिष्ट करें. प्रत्यायोजन सूची विवरण जिनपर डेटा स्रोतों और संचालनों को प्रत्यायोजित किया जा सकता है.

यदि प्रत्यायोजन संभव न हो, तो Power Apps स्थानीय रूप से कार्य करने के लिए रिकॉर्ड का केवल एक छोटा सा सेट नीचे लाएगा. Filter और सॉर्ट फ़ंक्शन रिकॉर्ड के कम सेट पर काम करेंगे। गैलरी में जो उपलब्ध है, हो सकता है कि वह पूर्ण कहानी न हो, जो उपयोगकर्ताओं के लिए भ्रामक हो सकता है.

अधिक जानकारी के लिए, प्रत्यायोजन अवलोकन देखें.

सिंटैक्स

Filter(तालिका*, सूत्र 1 [, * सूत्र 2 *, ...] )

  • तालिका - आवश्यक. खोजने के लिए तालिका.
  • सूत्र - आवश्यक. वह सूत्र, जिसके द्वारा तालिका के सभी रिकॉर्ड का मूल्यांकन किया जाता है. फ़ंक्शन वे सभी रिकॉर्ड देता है जिनका परिणाम सही में है. आप तालिका के भीतर स्तंभों को संदर्भित कर सकते हैं. Dataverse डेटा स्रोतों के लिए, एक सूत्र Dataverse दृश्य का नाम हो सकता है. यदि आप एक से अधिक सूत्र की आपूर्ति करते हैं, तो सभी सूत्रों के परिणाम And फ़ंक्शन द्वारा संयुक्त कर दिए जाते हैं.

नोट

Dataverse दृश्य बनाए जा सकते हैं जो संबंधित तालिकाओं से अतिरिक्त कॉलम लौटाते हैं. हालाँकि, Power Apps केवल उन स्तंभों को लौटाता है जो निर्दिष्ट Dataverse डेटा स्रोत का भाग होने के लिए जाने जाते हैं.

Search(तालिका*, सर्चस्ट्रिंग, कॉलम1 [, *कॉलम2*, ...] )

  • तालिका - आवश्यक. खोजने के लिए तालिका.
  • SearchString - आवश्यक. वह स्ट्रिंग जिसके लिए खोज की जाएगी. यदि रिक्त या एक रिक्त स्ट्रिंग है, तो सभी रिकॉर्ड दिए जाते हैं.
  • कॉलम - आवश्यक. तालिका के भीतर स्तंभों का नाम, जिन्हें खोजा जाना है. यदि इन स्तंभों में किसी में भी डेटा के भीतर SearchString एक आंशिक मिलान के रूप में मिलता है, तो पूरा रिकॉर्ड दिया जाएगा.

नोट

संस्करण 3.24042 से पहले Power Apps में, फ़ंक्शन के लिए Search स्तंभ नाम दोहरे उद्धरणों का उपयोग करके एक पाठ स्ट्रिंग के साथ निर्दिष्ट किए गए थे, और यदि किसी डेटा स्रोत से कनेक्ट किया गया है तो उन्हें तार्किक नाम भी होना आवश्यक है. उदाहरण के लिए, उद्धरण के बिना प्रदर्शन नाम "cr43e_name" के बजाय दोहरे उद्धरण वाले तार्किक नाम का उपयोग किया गया था। SharePoint और Excel डेटा स्रोतों के लिए, जिनमें रिक्त स्थान वाले स्तंभ नाम हैं, प्रत्येक स्थान के साथ निर्दिष्ट "_x0020_"किया गया था, उदाहरण "Column Name" के लिए के रूप में "Column_x0020_Name". इस संस्करण के बाद, सभी ऐप्स स्वचालित रूप से इस आलेख में वर्णित नए सिंटैक्स में अपडेट हो गए।

LookUp(तालिका*, सूत्र [, *न्यूनीकरणसूत्र*] )

  • तालिका - आवश्यक. खोजने के लिए तालिका. UI में, सिंटैक्स को फ़ंक्शन बॉक्स के ऊपर स्रोत के रूप में दिखाया गया है.
  • सूत्र - आवश्यक. वह सूत्र, जिसके द्वारा तालिका के सभी रिकॉर्ड का मूल्यांकन किया जाता है. फ़ंक्शन वह प्रथम रिकॉर्ड देता है जिसका परिणाम सही में आता है. आप तालिका के भीतर स्तंभों को संदर्भित कर सकते हैं. UI में, सिंटैक्स को फ़ंक्शन बॉक्स के ऊपर शर्त के रूप में दिखाया गया है.
  • ReductionFormula - वैकल्पिक. इस सूत्र का मूल्यांकन पाए गए रिकॉर्ड पर किया गया, और फिर यह रिकॉर्ड को एक एकल मान तक घटा देता है. आप तालिका के भीतर स्तंभों को संदर्भित कर सकते हैं. यदि आप इस पैरामीटर का उपयोग नहीं करते हैं, तो फ़ंक्शन तालिका से पूरा रिकॉर्ड देता है. UI में, सिंटैक्स को फ़ंक्शन बॉक्स के ऊपर परिणाम के रूप में दिखाया गया है.

उदाहरण

निम्नलिखित उदाहरण IceCreamडेटा स्रोत का उपयोग करते हैं:

आइसक्रीम डेटा स्रोत.

सूत्र विवरण परिणाम
Filter(IceCream, OnOrder > 0) वे रिकॉर्ड देता है, जहाँ OnOrder शून्य से अधिक है. Filter आदेश पर।
Filter(IceCream, Quantity + OnOrder > 225) वे रिकॉर्ड देता है, जहाँ Quantity और OnOrder स्तंभ का योग से 225 अधिक है. Filter मात्रा और आदेश।
Filter(IceCream, "chocolate" in Lower(Flavor )) उन रिकॉर्ड्स को लौटाता है जहां ""chocolate शब्द फ्लेवर नाम में दिखाई देता है, जो अपरकेस या लोअरकेस अक्षरों से स्वतंत्र है। Filter निचले हिस्से में।
Filter(IceCream, Quantity < 10 && OnOrder < 20) वे रिकॉर्ड देता है, जहाँ Quantity 10 से कम और OnOrder 20 से कम है. कोई भी रिकॉर्ड इन मापदंडों से मेल नहीं खाता, इसलिए एक रिक्त तालिका दी गई है. Filter मात्रा पर।
Search(IceCream, "choc", Flavor) वह रिकॉर्ड लौटाता है जहाँ स्ट्रिंग ""chocफ्लेवर नाम में दिखाई देती है, जो अपरकेस या लोअरकेस अक्षरों से स्वतंत्र है. Search आइटम।
Search(IceCream, "", Flavor) चूँकि खोज शब्द रिक्त हैं, अतः सभी रिकॉर्ड दिए जाते हैं. Search सभी आइटम।
LookUp(IceCream, Flavor = "Chocolate", Quantity) "" के बराबर Chocolate के साथ एक रिकॉर्ड की खोज करता है, जिसमें से एक है। ढूँढे गए प्रथम रिकॉर्ड के लिए, उस रिकॉर्ड की Quantity देता है. 100
LookUp(IceCream, Quantity > 150, Quantity + OnOrder) उस रिकॉर्ड के लिए खोज करता है, जिसमें Quantity 150 से अधिक है, जो इनमें एकाधिक मौजूद हैं. पहले रिकॉर्ड के लिए जो पाया जाता है, जो "" Vanilla है, मात्रा औरऑनऑर्डर कॉलम का योग लौटाता है। 250
LookUp(IceCream, Flavor = "Pistachio", OnOrder) "" के बराबर Pistachio के साथ एक रिकॉर्ड की खोज करता है, जिसमें से कोई नहीं है। क्योंकि कोई नहीं मिला है, Lookupखाली वापस होता है. खाली
LookUp(IceCream, Flavor = "Vanilla") "" के बराबर Vanilla के साथ एक रिकॉर्ड की खोज करता है, जिसमें से एक है। चूंकि कोई घटाव सूत्र नहीं लगाया गया था, इसलिए पूरा रिकॉर्ड दिया जाता है. {स्वाद: "Vanilla", मात्रा: 200, ऑनऑर्डर: 75}

पसंद के कॉलम के साथ फ़िल्टर करना

निम्नलिखित उदाहरण डेटा स्रोत के रूप में Microsoft Dataverse में अकाउंट तालिका का उपयोग करता है. यह उदाहरण दिखाता है कि Filter चयनित कॉम्बो बॉक्स नियंत्रण मानों के आधार पर खातों की सूची कैसे बनाएं:

चरण दर चरण

  1. एक खाली अनुप्रयोग खोलें.

  2. नई स्क्रीन विकल्प चुनकर एक नई स्क्रीन जोड़ें.

  3. इन्सर्ट टैब पर, गैलरी चुनें और फिर लम्बवत चुनें.

  4. दाएं हाथ के फलक के गुण टैब पर, डेटा स्रोत खोलें और फिर अकाउंट का चयन करें.

  5. (वैकल्पिक) लेआउट सूची में, विभिन्न विकल्पों का चयन करें.

  6. इन्सर्ट टैब पर, इनपुट चुनें और फिर कॉम्बो बॉक्स चुनें. दो और कॉम्बो बॉक्स नियंत्रण जोड़ने के लिए चरण दोहराएं.

  7. प्रत्येक कॉम्बो बॉक्स नियंत्रण के लिए, दाएं हाथ के फलक के गुण टैब पर, डेटा स्रोत खोलें और फिर अकाउंट का चयन करें. फ़ील्ड विकल्प के बगल में संपादित करें चुनें और फिर प्राइमरी टेक्स्ट और SearchField मानों का चयन करें. प्राइमरी विकल्प कॉलम होना चाहिए जिसे आप कॉम्बो बॉक्स में जोड़ना चाहते हैं। अन्य दो कॉम्बो बॉक्स नियंत्रण के लिए चरण दोहराएं.

    कॉम्बो बॉक्स मान सेट करना.

  8. अब गैलरी नियंत्रण का चयन करें और निम्नलिखित सूत्र में आइटम गुण सेट करें:

    Filter(Accounts,
     'Industry' = ComboBox3.Selected.Industry Or IsBlank(ComboBox3.Selected.Industry),
     'Relationship Type' = ComboBox2.Selected.'Relationship Type' Or
       IsBlank(ComboBox2.Selected.'Relationship Type'),
     'Preferred Method of Contact' = ComboBox1.Selected.'Preferred Method of Contact' Or
       IsBlank(ComboBox1.Selected.'Preferred Method of Contact'))
    

    खाते डेटा स्रोत.

Search प्रयोगकर्ता का अनुभव

निम्नलिखित उदाहरण IceCreamडेटा स्रोत का उपयोग करते हैं:

कई ऐप्स में, आप एक बड़े डेटा सेट में रिकॉर्ड की सूची को फ़िल्टर करने के लिए खोज बॉक्स में एक या अधिक वर्ण टाइप कर सकते हैं. जैसे-जैसे आप टाइप करते हैं, वैसे-वैसे सूची केवल वे रिकॉर्ड दिखाती है जो खोज मापदंडों से मेल खाते हैं.

इस लेख के बाकी हिस्सों में दिए गए उदाहरण ग्राहक नामक सूची में खोज के परिणाम दिखाते हैं, जिसमें यह डेटा शामिल है:

Search ग्राहकों पर।

इस डेटा स्रोत को एक संग्रह के रूप में बनाने के लिए, एक बटन नियंत्रण बनाएँ और इसके OnSelect गुण को इस सूत्र पर सेट करें:

ClearCollect(Customers, Table({ Name: "Fred Garcia", Company: "Northwind Traders" }, { Name: "Cole Miller", Company: "Contoso" }, { Name: "Glenda Johnson", Company: "Contoso" }, { Name: "Mike Collins", Company: "Adventure Works" }, { Name: "Colleen Jones", Company: "Adventure Works" }) )

जैसा कि इस उदाहरण में है, आप स्क्रीन के तल पर गैलरी नियंत्रण में रिकॉर्ड की एक सूची दिखा सकते हैं. स्क्रीन के शीर्ष के पास, आप एक पाठ इनपुट नियंत्रण जोड़ सकते हैं, नाम SearchInput हो, ताकि उपयोगकर्ता निर्दिष्ट कर सकें कि कौन सा रिकॉर्ड उनकी रुचि का है.

Search खोज इनपुट का उपयोग करना।

जैसे-जैसे उपयोगकर्ता SearchInput में वर्ण टाइप करता है, वैसे-वैसे गैलरी में परिणाम स्वचालित रूप से फ़िल्टर होते हैं. इस मामले में, गैलरी को वे रिकॉर्ड दिखाने के लिए कॉन्फ़िगर किया गया है, जिसके लिए ग्राहक का नाम (कंपनी का नाम नहीं) वर्णों SearchInput के अनुक्रम से प्रारंभ होता है. यदि उपयोगकर्ता खोज बॉक्स में co टाइप करता है, तो गैलरी निम्न परिणाम दिखाती है:

Search के साथ शुरू होता है।

Name स्तंभ पर आधारित फ़िल्टर करने के लिए, गैलरी नियंत्रण का आइटम गुण निम्न सूत्रों में किसी एक पर सेट करें:

सूत्र विवरण परिणाम
Filter(ग्राहक, StartsWith(नाम, SearchInput.Text)) Customers डेटा स्रोत को उन रिकॉर्ड के लिए फ़िल्टर करता है, जिनमें खोज स्ट्रिंग Name स्तंभ की शुरूआत में दिखाई देती है. परीक्षण केस-असंवेदी होता है. यदि उपयोगकर्ता खोज बॉक्स में co टाइप करता है, तो गैलरी Colleen Jones और Cole Miller दर्शाता है. गैलरी Mike Collins नहीं दिखाती है क्योंकि इस रिकॉर्ड के लिए Name स्तंभ खोज स्ट्रिंग से शुरू नहीं होता. Filter शुरू के साथ।
Filter(ग्राहक, नाम में SearchInput.Text) Customers डेटा स्रोत को उन रिकॉर्ड के लिए फ़िल्टर करता है, जिनमें खोज स्ट्रिंग Name स्तंभ में कहीं भी दिखाई देती है. परीक्षण केस-असंवेदी होता है. यदि उपयोगकर्ता खोज बॉक्स में co टाइप करता है, तो गैलरी Colleen Jones, Cole Miller, और Mike Collins दिखाता है, क्योंकि खोज स्ट्रिंग इन सभी रिकॉर्ड के Name कॉलम में कहीं भी दिखाई देती है. Filter खोज इनपुट के साथ।
Search(ग्राहक, SearchInput.Text, नाम) ऑपरेटर में उपयोग करने के समान, Search फ़ंक्शन प्रत्येक रिकॉर्ड के नाम कॉलम के भीतर कहीं भी एक मैच की खोज करता है। आपको कॉलम का नाम डबल कोटेशन के चिह्न में संलग्न करना होगा. Search ग्राहकों।

आप कंपनी कॉलम और नाम कॉलम शामिल करने के लिए अपनी खोज का विस्तार कर सकते हैं:

सूत्र विवरण परिणाम
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Company, SearchInput.Text) ) उन रिकॉर्ड के लिए Customers डेटा स्रोत को फ़िल्टर करता है, जिनमें Name स्तंभ या Company स्तंभ, खोज स्ट्रिंग (उदाहरण के लिए, co) से शुरू होता है. The || ऑपरेटर तब सही है, जब दोनों में कोई भी एक StartsWith फ़ंक्शन सही होता है. Filter ग्राहक शुरू करते हैं।
Filter(Customers, SearchInput.Text in Name || SearchInput. Text in Company) उन रिकॉर्ड के लिए Customers डेटा स्रोत को फ़िल्टर करता है, जिनमें Name स्तंभ या Company स्तंभ में, इनके भीतर कहीं भी खोज स्ट्रिंग (उदाहरण के लिए, co) शामिल है. Filter ग्राहक इनपुट खोजते हैं।
Search(Customers, SearchInput.Text, Name, Company) इन ऑपरेटर का उपयोग करने के समान, Search फ़ंक्शन रिकॉर्ड के लिए ग्राहक डेटा स्रोत की खोज करता है, जिसमें या तो नाम स्तंभ या कंपनी स्तंभ में खोज स्ट्रिंग (उदाहरण के लिए, सह) होती है। फ़ंक्शन को Search पढ़ना और लिखना Filter आसान है, यदि आप ऑपरेटरों में कई कॉलम और एकाधिक निर्दिष्ट करना चाहते हैं। Search खोज इनपुट वाले ग्राहक।