Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Aplícase a: Aplicacións
de lenzo Copilot Studio
Fluxos
de escritorio Columnas de fórmulas
de Dataverse Aplicacións
baseadas en modelos Power Platform CLI
Funcións
de Dataverse Power Pages
Determina se algunha condición dun conxunto é verdadeira (If) ou se o resultado dunha fórmula coincide con calquera valor dun conxunto (Switch) e, a continuación, devolve un resultado ou executa unha acción.
Descripción
A If función proba unha ou máis condicións ata atopar un resultado verdadeiro . If Tal resultado é atopado, devólvese o valor correspondente. If Non se atopa tal resultado, devolve un valor predeterminado. En calquera dos dous casos, o valor devolto pode ser unha cadea para mostrar, unha fórmula para avaliar ou outra forma de resultado.
A Switch función avalía unha fórmula e determina se o resultado coincide con calquera valor dunha secuencia que especifique. If Atopouse unha coincidencia e devolveuse o valor correspondente. If Non se atopou ningunha coincidencia, devolveuse un valor predeterminado. En calquera dos dous casos, o valor devolto pode ser unha cadea para mostrar, unha fórmula para avaliar ou outra forma de resultado.
If Switch Son moi similares, pero debes usar a mellor función para a túa situación:
- Utilízase If para avaliar unha única condición. A sintaxe máis común para esta función é If( Condition, ThenResult, DefaultResult ), que proporciona o común "se ... entón... else..." patrón visto noutras ferramentas de programación.
- Utilízase If para avaliar múltiples condicións non relacionadas. En Power Apps (a diferenza de Microsoft Excel), pode especificar varias condicións sen ter que aniñar If fórmulas.
- Utilízase Switch para avaliar unha única condición fronte a múltiples posibles coincidencias. Tamén podes usar If neste caso, pero terías que repetir a fórmula para cada posible coincidencia.
Pode usar ambas funcións en fórmulas de comportamento para ramificar entre dúas ou máis accións. Só unha rama desencadeará unha acción. As condicións e as coincidencias avalíanse en orde e detéñense se unha condición é verdadeira ou se atopa unha coincidencia.
Devólvese en branco se non hai condicións verdadeiras, non se atopan coincidencias e non especificas un resultado predeterminado.
Sintaxe
If( Condition, ThenResult [, DefaultResult ] )
If( Condition1, ThenResult1 [, Condition2, ThenResult2, ... [ , DefaultResult ] ] )
- Condicións - Obrigatoria. Fórmula(s) para comprobar se hai valores verdadeiros. Estas fórmulas comunmente conteñen operadores de comparación (como <, > e =) e proban funcións como IsBlank e IsEmpty.
- ThenResults - Obrigatorio. O valor correspondente que devolver para unha condición que se avalía como verdadeira.
- DefaultResult : opcional. O valor que devolver se non se avalía ningunha condición como verdadeira. If Non se especifica este argumento, devolve o baleiro .
Switch( Fórmula, Match1, Result1 [, Match2, Result2, ... [, DefaultResult ] ] )
- Fórmula - Obrigatorio. Fórmula para avaliar as coincidencias. Esta fórmula avalíase só unha vez.
- Coincidencias - Obrigatorio. Valores para comparar co resultado da Fórmula. If Atopase unha coincidencia exacta, devólvese o resultado correspondente.
- Resultados - Obrigatorio. O correspondente para devolver cando se atopa unha coincidencia exacta.
- DefaultResult : opcional. If Non se atopou unha coincidencia exacta, este valor é devolvedo. If Non se especifica este argumento, devolve o baleiro .
Exemplos
Valores nas fórmulas
Nos exemplos seguintes, un control de Barra de desprazamento (nomeado Slider1) ten un valor de 25.
| Fórmula | Descripción | Resultado |
|---|---|---|
| If( Slider1.Value = 25, "Result1" ) | A condición é verdadeira e devólvese o resultado correspondente. | "Result1" |
| If( Slider1.Value = 25, "Result1", "Result2" ) | A condición é verdadeira e devólvese o resultado correspondente. | "Result1" |
| If( Slider1.Value > 1000, "Result1" ) | A condición é falsa, e non se proporcionou un DefaultResult. | en branco |
| If( Slider1.Value > 1000, "Result1", "Result2" ) | A condición é falsa, proporcionouse un DefaultResult e devólvese. | "Result2" |
| If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) | A primeira condición é verdadeira e devólvese o resultado correspondente. A segunda condición tamén é verdadeira, pero non se avalía porque aparece máis tarde na lista de argumentos que unha condición que se avalía como verdadeira. | "Result1" |
| If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2") | A primeira condición é falsa porque a barra de desprazamento non está en branco. A segunda condición é verdadeira porque o valor da barra de desprazamento é un número e devólvese o resultado correspondente. | "Result2" |
| If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") | As condicións primeira e segunda son falsas, proporcionouse un DefaultResult e devólvese. | "Result3" |
| Switch( Slider1.Value, 25, "Result1") | O valor da barra de desprazamento coincide co primeiro valor que se comproba e devólvese o resultado correspondente. | "Result1" |
| Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3") | O valor da barra de desprazamento coincide co segundo valor que se comproba e devólvese o resultado correspondente. | "Result2" |
| Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) | O valor da barra de desprazamento non coincide con ningún valor que se comproba. Un DefaultResult proporcionouse, polo que se devolveu. | "DefaultResult" |
Ramificación en fórmulas de comportamento
Nestes exemplos, un control de Entrada de texto nomeado FirstName ten o valor "John" escrito nel.
| Fórmula | Descripción | Resultado |
|---|---|---|
| If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) | A condición é verdadeira, así que a función Navigate execútase. Podes usar a función IsBlank para probar se foi cuberto un campo de formulario requirido. If O primeiro nome estaría en branco, esta fórmula non tería efecto. |
verdade A pantalla cambia a Screen1. |
| If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) | Sen o operador !, a condición é false, polo que a función Navegar non se executa. A función Back proporcionouse como DefaultResult, polo que se excuta. |
verdade A pantalla volve á pantalla que se amosaba anteriormente. |
| Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) | O valor de FirstName.Text compárase con "Carlos", "Kirstin" e "John" por esta orde. Atópase unha coincidencia con "John", así que a aplicación navega ata Screen3. |
verdade A pantalla cambia a Screen3. |
Paso a paso
Engada un control de Entrada de texto e noméeo Text1 se non ten ese nome por defecto.
En Text1, escriba 30.
Engada un control Label e configure a súa propiedade Texto nesta fórmula:
If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )O control Etiqueta amosa Pedir máis! porque o valor de Texto1 é máis de 20 pero menos de 40.
En Text1, escriba 15.
O control Etiqueta amosa Pedir MOITOS máis! porque o valor de Texto1 é menos de 20.
En Text1, escriba 50.
O control de Etiqueta mostra o valor que escribiu porque é superior a 40.