إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: تطبيقات
Canvas Copilot Studio
Desktop تتدفق
أعمدة
صيغة Dataverse التطبيقات
المستندة إلى النموذج وظائف Power Platform CLI
Dataverse Power
Pages
تحديد ما إذا كان أي شرط في مجموعة صحيحا (If) أو أن نتيجة صيغة تطابق أي قيمة في مجموعة (Switch) ثم ترجع نتيجة أو تنفذ إجراء.
الوصف
تختبر الدالة If شرطا واحدا أو أكثر حتى يتم العثور على نتيجة حقيقية . If تم العثور على مثل هذه النتيجة، يتم إرجاع قيمة مقابلة. If لم يتم العثور على مثل هذه النتيجة، يتم إرجاع قيمة افتراضية. وفي كلتا الحالتين، قد تكون القيمة التي تم إرجاعها عبارة عن سلسلة ليتم عرضها أو صيغة لتقييمها أو نموذج آخر للنتيجة.
Switch تقوم الدالة بتقييم صيغة وتحديد ما إذا كانت النتيجة تطابق أي قيمة في تسلسل تحدده. If تم العثور على تطابق، يتم إرجاع قيمة مقابلة. If لم يتم العثور على أي تطابق، يتم إرجاع قيمة افتراضية. وفي كلتا الحالتين، قد تكون القيمة التي تم إرجاعها عبارة عن سلسلة ليتم عرضها أو صيغة لتقييمها أو نموذج آخر للنتيجة.
If و Switch متشابهة جدا، ولكن يجب عليك استخدام أفضل وظيفة لموقفك:
- يستخدم If لتقييم شرط واحد. بناء الجملة الأكثر شيوعا لهذه الدالة هو If( Condition, ThenResult, DefaultResult ), الذي يوفر "if ... ومن ثمَّ... آخر…" النمط الذي يظهر في أدوات البرمجة الأخرى.
- يستخدم If لتقييم شروط متعددة غير مرتبطة. في Power Apps (على عكس Microsoft Excel)، يمكنك تحديد شروط متعددة دون الحاجة إلى تداخل If الصيغ.
- يستخدم Switch لتقييم شرط واحد مقابل تطابقات محتملة متعددة. يمكنك أيضا استخدام If في هذه الحالة، ولكن ستحتاج إلى تكرار الصيغة لكل تطابق ممكن.
يمكنك استخدام كل من هاتين الوظيفتين في صيغ السلوك للتفريع بين إجراءين أو أكثر. سيقوم فرع واحد فقط بتشغيل أحد الإجراءات. يتم تقييم الشروط والمطابقات بالترتيب، وتتوقف إذا كانت الحالة صواب أو إذا تم العثور على مطابقة.
يتم إرجاع Blank إذا لم تكن هناك شروط صحيحة، ولم يتم العثور على تطابقات، ولم تحدد نتيجة افتراضية.
بناء الجملة
If( Condition, ThenResult [, DefaultResult ] )
If( Condition1, ThenResult1 [, Condition2, ThenResult2, ... [ ، DefaultResult ] ] )
- الشروط - مطلوب. الصيغة (الصيغة) المطلوب اختبارها لـ صواب. تحتوي هذه الصيغ عمومًا على مشغلات مقارنة (مثل <، >، و=) وظائف الاختبار مثل IsBlank وIsEmpty.
- ثمالنتائج - مطلوب. القيمة المطابقة لإرجاع شرط يتم تقييمه إلى صواب.
- النتيجة الافتراضية - اختياري. القيمة المراد إرجاعها في حالة عدم تقييم أي شرط إلى صواب. If لا تحدد هذه الوسيطة، يتم إرجاع فارغ .
Switch( الصيغة، Match1، Result1 [، Match2، Result2، ... [, DefaultResult ] ] )
- الصيغة - مطلوبة. الصيغة المراد تقييمها للحصول على المطابقات. يتم تقييم هذه الصيغة مرة واحدة فقط.
- المباريات - مطلوب. القيم المراد مقارنتها بالنتيجة من الصيغة. If تم العثور على تطابق تام، يتم إرجاع النتيجة المقابلة.
- النتائج - مطلوبة. النتيجة المقابلة المراد إرجاعها عند العثور على مطابقة تامة.
- النتيجة الافتراضية - اختياري. If لم يتم العثور على تطابق تام، يتم إرجاع هذه القيمة. If لا تحدد هذه الوسيطة، يتم إرجاع فارغ .
الأمثلة
القيم في الصيغ
في الأمثله التالية، يشتمل عنصر تحكم Slider (المسمى Slider1) على قيمة 25.
| الصيغة | الوصف | نتيجة |
|---|---|---|
| If( Slider1.Value = 25, "Result1" ) | الشرط هو صواب، ويتم إرجاع النتيجة المقابلة. | "Result1" |
| If( Slider1.Value = 25, "Result1", "Result2" ) | الشرط هو صواب، ويتم إرجاع النتيجة المقابلة. | "Result1" |
| If( Slider1.Value > 1000, "Result1" ) | الشرط هو خطأ، ولم يتم توفير أي DefaultResult. | خلبي |
| If( شريط التمرير1.Value > 1000، "Result1"، "Result2" ) | الشرط هو خطأ، وتم توفير DefaultResult وتم إرجاعها. | "Result2" |
| If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) | الشرط الأول هو صواب، ويتم إرجاع النتيجة المقابلة. والشرط الثاني هو صواب أيضًا، ولكن لم يتم تقييمه لأنه يظهر لاحقًا في قائمة الوسائط بدلاً من الشرط الذي يتم تقييمه إلى صواب. | "Result1" |
| If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) | الشرط الأول هو خطأ نظرًا لأن شريط التمرير غير فارغ. الشرط الثاني هو صواب لأن قيمة شري التمرير هي رقم، ويتم إرجاع النتيجة المقابلة. | "Result2" |
| If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") | كلُّ من الشرطين الأول والثاني هما خطأ، وتم توفير DefaultResult وتم إرجاعها. | "Result3" |
| Switch( شريط التمرير1.Value، 25، "Result1" ) | تطابق قيمة شريط التمرير القيمة الأولى المراد التحقق منها، ويتم إرجاع النتيجة المقابلة. | "Result1" |
| Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) | تطابق قيمة شريط التمرير القيمة الثانية المراد التحقق منها، ويتم إرجاع النتيجة المقابلة. | "Result2" |
| Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) | لا تتطابق قيمه شريط التمرير مع أي قيمة مراد التحقق منها. تم توفير DefaultResult، لذا تم إرجاعها. | "DefaultResult" |
التفريع في صيغ السلوك
في هذه الأمثلة، يشتمل عنصر تحكم Text input المسمى FirstName على القيمة "جون" المكتوب فيه.
| الصيغة | الوصف | نتيجة |
|---|---|---|
| If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) | الشرط هو صواب، لذا يتم تشغيل وظيفة Navigate. يمكنك استخدام وظيفة IsBlank لاختبار ما إذا كان قد تم ملء حقل نموذج مطلوب. If الاسم الأولفارغ، لن يكون لهذه الصيغة أي تأثير. |
صحيح تم تغيير العرض إلى Screen1. |
| If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) | من دون عامل التشغيل !، الشرط هو خطأ، لذا فإن الوظيفة Navigate لا تعمل. تم توفير وظيفة Back كـ DefaultResult، لذا يتم تشغيلها. |
صحيح ينتقل العرض مرة أخرى إلى الشاشة التي تم عرضها من قبل. |
| Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) | تتم مقارنة القيمة FirstName.Text بـ "كارلوس" و"كيرستين" و"جون" بهذا الترتيب. يتم العثور على مطابقة مع "جون"، لذا ينتقل التطبيق إلى Screen3. |
صحيح تم تغيير العرض إلى Screen3. |
خطوة بخطوة
أضف عنصر تحكم Text input، وقم بتسميته Text1، إذا لم يكن يحتوي على الاسم بشكل افتراضي.
في Text1، اكتب 30.
أضف عنصر تحكم Label، وقم بتعيين خاصية Text الخاصة به إلى هذه الصيغة:
If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )يعرض عنصر تحكم التسمية النص اطلب المزيد! لأن قيمة Text1 تزيد عن 20 ولكنها أقل من 40.
في Text1، اكتب 15.
يعرض عنصر تحكم التسمية النص اطلب المزيد والمزيد! لأن قيمة Text1 تقل عن 20.
في Text1، اكتب 50.
يعرض عنصر تحكم Label القيمة التي قمت بكتابتها لأنها أكثر من 40.