के माध्यम से साझा करें


Ifऔर कार्य Switch

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

यह निर्धारित करता है कि किसी सेट में कोई भी स्थिति सत्य है याIf किसी सूत्र का परिणाम किसी सेट ()Switch में किसी मान से मेल खाता है या नहीं और फिर कोई परिणाम देता है या कोई क्रिया निष्पादित करता है.

वर्णन

फ़ंक्शन एक या अधिक स्थितियों का If परीक्षण करता है जब तक कि कोई सही परिणाम न मिल जाए। If ऐसा परिणाम पाया जाता है, एक संबंधित मूल्य वापस कर दिया जाता है। If ऐसा कोई परिणाम नहीं मिलता है, एक डिफ़ॉल्ट मान दिया जाता है। दोनों में किसी भी स्थिति में, दिया गया मान, दिखाने के लिए एक स्ट्रिंग, मूल्यांकन के लिए एक सूत्र, या परिणाम के अन्य रूप में हो सकता है.

Switch फ़ंक्शन एक सूत्र का मूल्यांकन करता है और यह निर्धारित करता है कि परिणाम आपके द्वारा निर्दिष्ट अनुक्रम में किसी भी मान से मेल खाता है या नहीं। If एक मिलान पाया जाता है, एक संबंधित मान लौटाया जाता है। If कोई मिलान नहीं मिला, एक डिफ़ॉल्ट मान दिया जाता है। दोनों में किसी भी स्थिति में, दिया गया मान, दिखाने के लिए एक स्ट्रिंग, मूल्यांकन के लिए एक सूत्र, या परिणाम के अन्य रूप में हो सकता है.

If और Switch बहुत समान हैं, लेकिन आपको अपनी स्थिति के लिए सर्वोत्तम फ़ंक्शन का उपयोग करना चाहिए:

  • एक ही स्थिति का मूल्यांकन करने के लिए उपयोग करें If । इस फ़ंक्शन के लिए सबसे आम सिंटैक्स है If( कंडीशन, ThenResult, DefaultResult ), जो सामान्य "यदि ... तब।।। अन्य प्रोग्रामिंग टूल्स में "अन्यथा ..." पैटर्न देखा गया है।
  • कई असंबंधित स्थितियों का मूल्यांकन करने के लिए उपयोग करें If । Power Apps (Microsoft Excel के विपरीत) में, आप सूत्रों को नेस्ट If किए बिना कई शर्तें निर्दिष्ट कर सकते हैं.
  • कई संभावित मैचों के खिलाफ एक ही स्थिति का मूल्यांकन करने के लिए उपयोग करें Switch । आप इस मामले में भी उपयोग कर If सकते हैं, लेकिन आपको प्रत्येक संभावित मिलान के लिए सूत्र को दोहराना होगा।

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

यदि कोई शर्त सत्य नहीं है, कोई मिलान नहीं मिलता है, और आप कोई डिफ़ॉल्ट परिणाम निर्दिष्ट नहीं करते हैं, तो रिक्त लौटाया जाता है।

सिंटैक्स

If( शर्त, thenResult [, DefaultResult ])
If( शर्त 1,फिर परिणाम 1 [, शर्त 2,फिर परिणाम 2, ... [ , डिफ़ॉल्ट परिणाम ] ] )

  • शर्तें - आवश्यक. सही के लिए परीक्षण किए जाने वाले सूत्र. ऐसे सूत्रों में सामान्यतः तुलना ऑपरेटर (जैसे <, >, और =) और परीक्षण फ़ंक्शन जैसे IsBlank और IsEmpty होते हैं.
  • फिरपरिणाम - आवश्यक. जो शर्त सही पर मूल्यांकन करती है, उसके लिए मिलने वाला संगत मान.
  • डिफ़ॉल्ट परिणाम - वैकल्पिक. यदि कोई शर्त सही पर मूल्यांकन नहीं करती, तो मिलने वाला मान. If आप इस तर्क को निर्दिष्ट नहीं करते हैं, रिक्त लौटाया जाता है.

Switch( फॉर्मूला, मैच 1,परिणाम 1 [, मैच 2,परिणाम 2, ... [, डिफ़ॉल्टपरिणाम] ] )

  • सूत्र - आवश्यक. मिलानों के लिए मूल्यांकन करने वाला सूत्र. इस सूत्र का मूल्यांकन केवल एक बार किया जाता है.
  • मिलान - आवश्यक. सूत्र के परिणामों के साथ तुलना किए जाने वाले मान. If एक सटीक मिलान पाया जाता है, संबंधित परिणाम वापस कर दिया जाता है।
  • परिणाम - आवश्यक. दिया जाने वाला संगत मान, जब एक सटीक मिलान पाया जाता है.
  • डिफ़ॉल्ट परिणाम - वैकल्पिक. If एक सटीक मिलान नहीं मिला है, यह मान लौटाया जाता है। If आप इस तर्क को निर्दिष्ट नहीं करते हैं, रिक्त लौटाया जाता है.

उदाहरण

सूत्रों में मान

निम्नलिखित उदाहरणों में, Slider नियंत्रण (जिसका नाम Slider1 है) का मान 25 है.

सूत्र वर्णन परिणाम
If(स्लाइडर 1.मान = 25, "परिणाम 1" ) यह शर्त सही है, और संगत परिणाम दिया गया है. "Result1"
If(स्लाइडर 1.मान = 25, "परिणाम 1", "परिणाम 2" ) यह शर्त सही है, और संगत परिणाम दिया गया है. "Result1"
If(स्लाइडर 1. मान > 1000, "परिणाम 1") शर्त गलत है, और कोई DefaultResult प्रदान नहीं किया गया. खाली
If(स्लाइडर 1. मान > 1000, "परिणाम 1", "परिणाम 2") शर्त गलत है, एक DefaultResult प्रदान किया गया था, और यह दिया गया है. "Result2"
If(स्लाइडर 1.मान = 25, "परिणाम 1", स्लाइडर 1.मान > 0, "परिणाम 2" ) प्रथम शर्त सही है, और संगत परिणाम दिया गया है. द्वितीय शर्त भी सही है, परंतु इसका मूल्यांकन नहीं किया जाता, क्योंकि यह तर्क सूची में शर्त, जो सही पर मूल्यांकन करती है, की अपेक्षा बाद में दिखाई देती है. "Result1"
If(IsBlank (स्लाइडर 1.Value), "Result1", IsNumeric (स्लाइडर 1.Value), "परिणाम 2" ) प्रथम शर्त गलत है, क्योंकि स्लाइडर रिक्त नहीं है. द्वितीय शर्त सही है, क्योंकि स्लाइडर का मान एक संख्या है, और संबंधित परिणाम दिया गया है. "Result2"
If(स्लाइडर 1. वैल्यू > 1000, "परिणाम 1", स्लाइडर 1.वैल्यू > 50, "परिणाम 2", "परिणाम 3") प्रथम और द्वितीय, दोनों शर्त गलत हैं, एक DefaultResult प्रदान किया गया था, और यह दिया गया है. "Result3"
Switch(स्लाइडर 1.वैल्यू, 25, "परिणाम 1") स्लाइडर का मान, जाँच किए जाने वाले प्रथम मान से मेल खाता है, और संगत परिणाम दिया जाता है. "Result1"
Switch(स्लाइडर 1.वैल्यू, 20, "परिणाम 1", 25, "परिणाम 2", 30, "परिणाम 3" ) स्लाइडर का मान, जाँच किए जाने वाले द्वितीय मान से मेल खाता है, और संगत परिणाम दिया जाता है. "Result2"
Switch(स्लाइडर 1.वैल्यू, 20, "परिणाम 1", 10, "परिणाम 2", 0, "परिणाम 3", "डिफ़ॉल्ट परिणाम") स्लाइडर का मान जाँच किए जाने वाले किसी भी मान से मेल नहीं खाता. एक DefaultResult प्रदान किया गया था, इसलिए दिया गया है. "DefaultResult"

व्यवहार सूत्रों में शाखा करना

इन उदाहरणों में, एक पाठ इनपुट नियंत्रण, जिसका नाम FirstName है, के मान में "जॉन" टाइप किया गया है.

सूत्र वर्णन परिणाम
If( ! IsBlank(FirstName.Text), नेविगेट (स्क्रीन1, स्क्रीनट्रांजिशन.नोन)) शर्त सही है, अतः Navigate फ़ंक्शन चलता है. आप यह परीक्षण करने के लिए, कि आवश्यक प्रपत्र भरा गया है अथवा नहीं, IsBlank फ़ंक्शन का उपयोग कर सकते हैं. If FirstNameखाली थे, इस सूत्र का कोई प्रभाव नहीं होगा। सत्य

डिस्प्ले को Screen1 पर परिवर्तित कर दिया गया है.
If(IsBlank(FirstName.Text), नेविगेट (स्क्रीन1, स्क्रीनट्रांजिशन.नोन), बैक() ! ऑपरेटर के बिना, शर्त गलत है, अतः Navigate फ़ंक्शन नहीं चलता. Back फ़ंक्शन को DefaultResult फ़ंक्शन के रूप में प्रदान किया गया था, अतः यह चलता है. सत्य

डिस्प्ले उस स्क्रीन पर वापस जाता है जिसे पहले दिखाया गया था.
Switch(FirstName.Text, "कार्लोस", नेविगेट (Screen1, ScreenTransition.None ), "कर्स्टिन", नेविगेट (स्क्रीन 2, स्क्रीनट्रांजिशन.कोई नहीं), "जॉन", नेविगेट (स्क्रीन 3, स्क्रीनट्रांजिशन.कोई नहीं) ) FirstName.Text का मान की तुलना "Carlos", "Kirstin", और "John" के समक्ष उस ऑर्डर में की जाती है. एक मिलान "John" के साथ पाया गया, अतः ऐप Screen3 पर नेविगेट करता है. सत्य

डिस्प्ले Screen3 पर परिवर्तित कर दिया गया है.

चरण दर चरण

  1. एक पाठ इनपुट नियंत्रण जोड़ें और यदि डिफ़ॉल्ट रूप से उसका नाम Text1 नहीं है, तो उसे यह नाम दें.

  2. Text1 में, 30 टाइप करें.

  3. एक Label नियंत्रण जोड़ें, और इसके पाठ गुण को इस सूत्र के लिए जोड़ें:
    If(मान (पाठ 1.पाठ) < 20, "कई और आदेश दें!", मान (पाठ 1.पाठ) 40 < , "अधिक ऑर्डर करें!", पाठ 1.पाठ)

    लेबल नियंत्रण अधिक ऑर्डर करें! दिखाता है क्योंकि Text1 का मान 20 से अधिक लेकिन 40 से कम है.

  4. Text1 में, 15 टाइप करें.

    लेबल नियंत्रण कई ऑर्डर करें! दिखाता है क्योंकि Text1 का मान 20 से कम है.

  5. Text1 में, 50 टाइप करें.

    लेबल नियंत्रण वह मान दिखाता है जो आपने टाइप किया था क्योंकि यह 40 से अधिक है.