रिक्त, कोलेसेस, IsBlank, और IsEmpty फ़ंक्शन
इस पर लागू होता है: कैनवास ऐप डेस्कटॉप प्रवाह Dataverse सूत्र स्तंभ मॉडल-संचालित ऐप Power Pages Power Platform सीएलआई
परीक्षण करता है कि मान रिक्त है या एक तालिका है जिसमें कोई रिकॉर्ड नहीं हैं, और रिक्त मान बनाने का तरीका प्रदान करता है.
अवलोकन
रिक्त "कोई मान नहीं" या "अज्ञात मान" के लिए प्लेसहोल्डर है। उदाहरण के लिए, यदि उपयोगकर्ता ने कोई चयन नहीं किया है, तो कॉम्बो बॉक्स नियंत्रण का चयनित गुण रिक्त है। कई डेटा स्रोत नल मान संग्रहीत कर सकते हैं और वापस लौटा सकते हैं, जिन्हें Power Apps में रिक्त के रूप में दर्शाया जाता है.
Power Apps में कोई भी गुण या परिकलित मान रिक्त हो सकता है. उदाहरण के लिए, बूलियन मान में सामान्य रूप से इन दोनों में से मान होता है: सहीया गलत. लेकिन इन दोनों के अलावा, यह रिक्त भी हो सकता है जो यह दर्शाता है कि स्थिति ज्ञात नहीं है. यह Microsoft Excel के समान है, जहां एक कार्यपत्रक सेल बिना किसी सामग्री के रिक्त से शुरू होता है, लेकिन यह सही या गलत (दूसरे मानों के साथ), मान को होल्ड कर सकता है. किसी भी समय, सेल की सामग्री को फिर से साफ़ किया जा सकता है, जो इसे रिक्त स्थिति में वापस भेज देता है.
रिक्त स्ट्रिंग ऐसी स्ट्रिंग को संदर्भित करता है जिसमें कोई वर्ण नहीं होता। Len फ़ंक्शन ऐसे स्ट्रिंग के लिए शून्य लौटता है और इसे दोहरे-उद्धरण चिह्नों जिसके बीच में कुछ नहीं है ""
वाले सूत्र के रूप में लिखा जा सकता है. कुछ नियंत्रण और डेटा स्रोत, "कोई मान नहीं" स्थिति को इंगित करने के लिए एक रिक्त स्ट्रिंग का उपयोग करते हैं. ऐप के निर्माण को सरल बनाने के लिए, IsBlankतथा Coalesce फ़ंक्शन रिक्त मान या खाली स्ट्रिंग, दोनों के लिए परीक्षण करते हैं.
IsEmpty फ़ंक्शन के संदर्भ में, खाली उन तालिकाओं के लिए निर्दिष्ट है जिनमें कोई रिकॉर्ड नहीं है. तालिका की संरचना अप्रभावित हो सकती है, स्तंभ के नाम के साथ पूरी हो सकती है, लेकिन हो सकता है कि तालिका में कोई डेटा न हो. एक तालिका रिक्त के रूप में शुरू हो सकती है, रिकॉर्ड ले सकती है और अब रिक्त नहीं हो सकती, और फिर रिकॉर्ड हटा दिए जा सकते हैं और फिर से रिक्त हो सकती है.
नोट
हम अवस्थांतर के दौर में हैं. अब तक, रिक्त का उपयोग त्रुटियों को रिपोर्ट करने के लिए किया गया है, जिससे एक वैध "कोई मान नहीं" को किसी त्रुटि से अलग करना असंभव हो जाता है. इस कारण से, इस समय, रिक्तमानों का संग्रहण केवल स्थानीय संग्रहों के लिए समर्थित है. यदि आप सेटिंग्स>आगामी फीचर>प्रायोगिक के तहत फॉर्मूला-लेवल त्रुटि प्रबंधन प्रायोगिक सुविधा चालू करते हैं तो आप अन्य डेटा स्रोतों में रिक्त मानों को स्टोर कर सकते हैं. हम इस सुविधा को समाप्त करने और रिक्त मानों को त्रुटियों से अलग करने के लिए सक्रिय रूप से काम कर रहे हैं.
रिक्त
इस पर लागू होता है: कैनवास ऐप मॉडल-संचालित ऐप Dataverse फ़ॉर्मूला कॉलम
Blank फ़ंक्शन एक रिक्त मान लौटाता है. इसे नल मान को ऐसे डेटा स्रोत में संग्रहीत करने के लिए उपयोग करें जो फ़ील्ड से किसी भी मान को प्रभावी रूप से निकालते हुए, इन मानों का समर्थन करता है.
क्या रिक्त है
इस पर लागू होता है: कैनवास ऐप्स मॉडल-संचालित ऐप्स
IsBlank फ़ंक्शन, रिक्त मान या एक खाली स्ट्रिंग के लिए परीक्षण करता है. ऐप बनाना आसान बनाने के लिए, परीक्षण में कुछ खाली स्ट्रिंग होते हैं, क्योंकि कोई मान मौजूद न होने पर कुछ डेटा स्रोत और नियंत्रण एक खाली स्ट्रिंग का उपयोग करते हैं. विशेष रूप से रिक्त मान का परीक्षण करने के लिए, IsBlank के बजाय if( Value = Blank(), ...
का उपयोग करें. IsBlank फ़ंक्शन रिक्त तालिकाओं को रिक्त नहीं मानता है, और IsEmpty का उपयोग तालिका का परीक्षण करने के लिए किया जाना चाहिए।
मौजूदा ऐप्स के लिए त्रुटि प्रबंधन सक्षम करते समय, मौजूदा ऐप व्यवहार को संरक्षित करने के लिए IsBlank को IsBlankOrError से बदलने पर विचार करें. त्रुटि प्रबंधन को जोड़ने से पहले, डेटाबेस और त्रुटि मानों से दोनों शून्य मानों का प्रतिनिधित्व करने के लिए एक रिक्त मान का उपयोग किया जाता था. त्रुटि प्रबंधन रिक्त की इन दो व्याख्याओं को अलग करता है, जो IsBlank का उपयोग जारी रखने वाले मौजूदा ऐप्स के व्यवहार को बदल सकता है.
IsBlank के लिए वापसी मान एक बूलियन सच या गलत है.
Coalesce
इस पर लागू होता है: कैनवास ऐप्स मॉडल-संचालित ऐप्स
Coalesce फ़ंक्शन क्रम में अपने तर्कों का मूल्यांकन करता है और पहले मान को वापस लौटाता है जो रिक्त या खाली स्ट्रिंग नहीं होता है. इस फ़ंक्शन का उपयोग किसी रिक्त मान या खाली स्ट्रिंग को एक अलग मान के साथ बदलने के लिए लेकिन गैर-रिक्त और गैर-खाली स्ट्रिंग का मान अपरिवर्तित छोड़ने के लिए करें. यदि सभी तर्क रिक्त या खाली स्ट्रिंग हैं तो फ़ंक्शन रिक्त लौटाता है, जिससे Coalesce खाली स्ट्रिंग्स को रिक्त मानों में बदलने का एक अच्छा तरीका बन जाता है.
Coalesce( value1, value2 )
If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 )
का अधिक संक्षिप्त समतुल्य है और इसके लिए value1 और value2 का दो बार मूल्यांकन करने की आवश्यकता नहीं होती है। जैसा कि यहां है, अगर कोई "else" सूत्र नहीं है, तो If फ़ंक्शन रिक्त लौटाता है.
Coalesce के सभी तर्क एक ही प्रकार के होने चाहिए; उदाहरण के लिए, आप टेक्स्ट स्ट्रिंग्स के साथ संख्याओं को नहीं मिला सकते हैं. Coalesce से वापसी मान इस सामान्य प्रकार का है.
क्या खाली है
इस पर लागू होता है: कैनवास ऐप्स मॉडल-संचालित ऐप्स
IsEmpty फ़ंक्शन परीक्षण करता है कि किसी तालिका में कोई रिकॉर्ड है या नहीं. यह CountRows फ़ंक्शन का उपयोग करने और शून्य की जाँच करने के बराबर है. आप IsEmpty को Errors फ़ंक्शन के साथ संयोजित करके डेटा-स्रोत त्रुटियों की जांच कर सकते हैं.
IsEmpty के लिए वापसी मान एक बूलियन सच या गलत है.
सिंटैक्स
रिक्त()
एकजुट( Value1 [, Value2, ... ] )
- मान – आवश्यक. परीक्षण करने के लिए मान. प्रत्येक मान का मूल्यांकन क्रम से तब तक किया जाता है जब तक कि ऐसा ऐसा मान नहीं मिल जाता जो कि रिक्तऔर खाली स्ट्रिंग न हो. इस बिंदु के बाद मानों का मूल्यांकन नहीं किया जाता है.
IsBlank( मान )
- मान – आवश्यक. रिक्त मान या खाली स्ट्रिंग का परीक्षण करने के लिए मान.
IsEmpty( तालिका )
- तालिका - आवश्यक. रिकॉर्ड के परीक्षण के लिए तालिका.
उदाहरण
रिक्त
नोट
इस समय, निम्न उदाहरण केवल स्थानीय संग्रह के लिए काम करता है. यदि आप सेटिंग्स>आगामी फीचर>प्रायोगिक के तहत फॉर्मूला-लेवल त्रुटि प्रबंधन प्रायोगिक सुविधा चालू करते हैं तो आप अन्य डेटा स्रोतों में रिक्त मानों को स्टोर कर सकते हैं. हम इस सुविधा को समाप्त करने और रिक्त मानों को त्रुटियों से अलग करने के लिए सक्रिय रूप से काम कर रहे हैं.
ऐप को शुरू से बनाएं, और एक बटन नियंत्रण जोड़ें.
बटन के OnSelect गुण को इस सूत्र पर सेट करें:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
अपने ऐप का पूर्वावलोकन करें, अपने द्वारा जोड़े गए बटन पर क्लिक करें या टैप करें और फिर पूर्वावलोकन बंद करें.
फ़ाइल मेनू में, संग्रह पर क्लिक करें या टैप करें.
Cities संग्रह दिखाई देता है, जिसमें "सिएटल" और "बरसाती" वाला एक रिकॉर्ड दिखाई देता है:
डिफ़ॉल्ट कार्यस्थान पर वापस जाने के लिए पीछे तीर पर क्लिक करें या टैप करें.
एक लेबल नियंत्रण जोड़ें, और इसके पाठ गुण को इस सूत्र पर सेट करें:
IsBlank( First( Cities ).Weather )
लेबल गलत दिखाता है क्योंकि Weather फ़ील्ड में एक मान ("बरसाती") शामिल होता है.
एक दूसरा बटन जोड़ें, और इसके OnSelect गुण को इस सूत्र पर सेट करें:
Patch( Cities, First( Cities ), { Weather: Blank() } )
अपने ऐप का पूर्वावलोकन करें, अपने द्वारा जोड़े गए बटन पर क्लिक करें या टैप करें और फिर पूर्वावलोकन बंद करें.
पहले मौजूद "बरसाती" को हटाते हुए, Cities में पहले रिकॉर्ड के Weather फ़ील्ड को रिक्त के साथ बदल दिया जाता है.
लेबल सही दिखाता है क्योंकि Weather फ़ील्ड में अब मान मौजूद नहीं है.
Coalesce
सूत्र | वर्णन | परिणाम |
---|---|---|
सम्मिलित हों( रिक्त(), 1 ) | Blank फ़ंक्शन से लौटाए गए मान का परीक्षण करता है, जो हमेशा रिक्त मान लौटाता है. क्योंकि पहला तर्क रिक्त है, मूल्यांकन अगले तर्क के साथ जारी रहता है जब तक एक गैर-रिक्त मान और गैर-खाली स्ट्रिंग नहीं मिल जाता है. | 1 |
सम्मिलित हों( "", "2" ) | पहले तर्क का परीक्षण करें जो एक खाली स्ट्रिंग है. क्योंकि पहला तर्क एक खाली स्ट्रिंग है, मूल्यांकन अगले तर्क के साथ तब तक जारी रहता है जब तक एक गैर-रिक्त मान और गैर-खाली स्ट्रिंग नहीं मिल जाता है. | 2 |
कोलेसेस( रिक्त(), "", रिक्त(), "", "3", "4") | Coalesce तर्क सूची के आरंभ में आरंभ होता है और प्रत्येक तर्क का तब तक बारी-बारी से मूल्यांकन करता है जब तक कि कोई गैर-रिक्त मान और गैर-रिक्त स्ट्रिंग नहीं मिल जाती। इस स्थिति में, सभी पहले चार तर्क रिक्त या खाली स्ट्रिंग लौटते हैं, जिससे मूल्यांकन पांचवें तर्क तक जारी रहता है. पांचवां तर्क गैर-रिक्तऔर गैर-खाली स्ट्रिंग है, इसलिए मूल्यांकन यहाँ बंद हो जाता है. पांचवें तर्क का मान लौटाया जाता है, और छठे तर्क का मूल्यांकन नहीं किया जाता है. | 3 |
सम्मिलित हों( "" ) | पहले तर्क का परीक्षण करें जो एक खाली स्ट्रिंग है. क्योंकि पहला तर्क एक खाली स्ट्रिंग है, और अधिक तर्क नहीं हैं, फ़ंक्शन रिक्त वापस लौटता है. | खाली |
IsBlank
शुरूआत से एक ऐप बनाएं, एक पाठ-इनपुट नियंत्रण जोड़ें, और इसे FirstName नाम दें.
एक लेबल जोड़ें, और उसके पाठ गुण को इस सूत्र में सेट करें:
If( IsBlank( FirstName.Text ), "First Name is a required field." )
डिफ़ॉल्ट रूप से, पाठ-इनपुट नियंत्रण के पाठ गुण को "पाठ इनपुट" पर सेट किया जाता है. क्योंकि गुण में एक मान शामिल होता है, यह रिक्त नहीं होता है, और लेबल कोई संदेश प्रदर्शित नहीं करता है.
किसी भी रिक्त स्थान सहित पाठ-इनपुट नियंत्रण से सभी वर्णों को निकालें.
क्योंकि पाठ गुण में अब कोई वर्ण नहीं है, यह एक खाली स्ट्रिंग है, और IsBlank( FirstName.Text ) सही होगा. आवश्यक फ़ील्ड संदेश प्रदर्शित होता है.
अन्य उपकरणों का उपयोग करके सत्यापन करने के तरीके के बारे में जानकारी के लिए, Validate फ़ंक्शन और डेटा स्रोतों के साथ काम करना देखें.
अन्य उदाहरण:
सूत्र | वर्णन | परिणाम |
---|---|---|
IsBlank( रिक्त() ) | Blank फ़ंक्शन से लौटाए गए मान का परीक्षण करता है, जो हमेशा रिक्त मान लौटाता है. | सत्य |
रिक्त है( "" ) | एक स्ट्रिंग जिसमें कोई वर्ण नहीं हैं. | सत्य |
IsBlank( "नमस्ते") | एक स्ट्रिंग जिसमें एक या अधिक वर्ण हैं. | असत्य |
IsBlank( AnyCollection ) | क्योंकि संग्रह मौजूद है, यह रिक्त नहीं है, भले ही इसमें कोई रिकॉर्ड न हों. खाली संग्रह की जांच करने के लिए, इसके बजाय IsEmpty का उपयोग करें. | असत्य |
IsBlank( Mid( "हैलो", 17, 2 ) ) | Mid का प्रारंभिक वर्ण, स्ट्रिंग के अंत के बाद है. परिणाम एक खाली स्ट्रिंग है. | सत्य |
IsBlank( यदि( गलत, गलत ) ) | एक If फ़ंक्शन, जिसमें कोई ElseResult नहीं है. क्योंकि शर्त हमेशा गलत होती है, यह If हमेशा रिक्त लौटता है. | सत्य |
IsEmpty
ऐप को शुरू से बनाएं, और एक बटन नियंत्रण जोड़ें.
बटन के OnSelect गुण को इस सूत्र पर सेट करें:
एकत्रित करें( आइसक्रीम, { स्वाद: "स्ट्रॉबेरी", मात्रा: 300 }, { स्वाद: "चॉकलेट", मात्रा: 100 } )
अपने ऐप का पूर्वावलोकन करें, अपने द्वारा जोड़े गए बटन पर क्लिक करें या टैप करें और फिर पूर्वावलोकन बंद करें.
IceCream नाम का एक संग्रह बनाया गया है और इसमें यह डेटा शामिल है:
इस संग्रह के दो रिकॉर्ड हैं और यह खाली नहीं है. IsEmpty( IceCream ) false लौटाता है, और CountRows( IceCream ) 2 लौटाता है.
एक दूसरा बटन जोड़ें, और इस सूत्र में इसका OnSelect गुण जोड़ें:
साफ़( आइसक्रीम )
अपने ऐप का पूर्वावलोकन करें, दूसरे बटन पर क्लिक करें या टैप करें और फिर पूर्वावलोकन बंद करें.
संग्रह अब खाली है:
Clear फ़ंक्शन संग्रह से रिकॉर्ड निकाल देता है, जिसके परिणामस्वरूप एक खाली संग्रह मिलता है. IsEmpty( IceCream ) true लौटाता है, और CountRows( IceCream ) 0 लौटाता है.
तालिका खाली है या नहीं, यह परीक्षण करने के लिए आप IsEmpty का भी उपयोग कर सकते हैं, जैसे इन उदाहरणों में दिखाया गया है:
सूत्र | वर्णन | परिणाम |
---|---|---|
खाली है( [ 1, 2, 3 ] ) | एकल-स्तंभ तालिका में तीन रिकॉर्ड होते हैं और इसलिए, यह खाली नहीं है. | असत्य |
खाली है( [ ] ) | एकल-स्तंभ तालिका में कोई रिकॉर्ड नहीं है और इसलिए यह खाली है. | सत्य |
IsEmpty( फ़िल्टर( [ 1, 2, 3 ], मान > 5 ) ) | एकल-स्तंभ तालिका में ऐसा कोई भी मान नहीं है जो 5 से अधिक हो. फ़िल्टर के परिणाम में कोई रिकॉर्ड नहीं है और खाली है. | सत्य |