Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Aplicaciones de lienzo Copilot Studio
Desktop fluyen
columnas de fórmulas de Dataverse formula columns
Model-driven apps
Power Platform CLI
Dataverse functions
Power Pages
Determina si cualquier condición de un conjunto es true (If) o el resultado de una fórmula coincide con cualquier valor de un conjunto (Switch) y, a continuación, devuelve un resultado o ejecuta una acción.
Descripción
La If función prueba una o varias condiciones hasta que se encuentre un resultado verdadero . If se encuentra un resultado de este tipo, se devuelve un valor correspondiente. If no se encuentra este resultado, se devuelve un valor predeterminado. En cualquier caso, el valor devuelto podría ser una cadena para mostrar, una fórmula para evaluar u otra forma de resultado.
La Switch función evalúa una fórmula y determina si el resultado coincide con cualquier valor de una secuencia que especifique. If se encuentra una coincidencia, se devuelve un valor correspondiente. If no se encuentra ninguna coincidencia, se devuelve un valor predeterminado. En cualquier caso, el valor devuelto podría ser una cadena para mostrar, una fórmula para evaluar u otra forma de resultado.
If y Switch son muy similares, pero debe usar la mejor función para su situación:
- Use If para evaluar una sola condición. La sintaxis más común para esta función es If( Condition, ThenResult, DefaultResult ), que proporciona el común "if ... entonces... else ..." que puede verse en otras herramientas de programación.
- Use If para evaluar varias condiciones no relacionadas. En Power Apps (a diferencia de Microsoft Excel), puede especificar varias condiciones sin tener que anidar If fórmulas.
- Use Switch para evaluar una sola condición con varias coincidencias posibles. También puede usar If en este caso, pero tendría que repetir la fórmula para cada coincidencia posible.
Puede usar ambas funciones en fórmulas de comportamiento para crear una bifurcación entre dos o más acciones. Solo una bifurcación desencadenará una acción. Las condiciones y coincidencias se evalúan en orden y se detienen si una condición es true o se encuentra una coincidencia.
Se devuelve un espacio en blanco si ninguna condición es verdadera, no se encuentran coincidencias y no se especifica un resultado predeterminado.
Sintaxis
If( Condition, ThenResult [, DefaultResult ] )
If( Condition1, ThenResult1 [, Condition2, ThenResult2, ... [ , DefaultResult ] ] )
- Condiciones - Requeridas. Fórmulas para comprobar que una condición es true. Tales fórmulas contienen normalmente operadores de comparación (como <, > y =) y permiten probar funciones como IsBlank e IsEmpty.
- ThenResults - Obligatorio. El valor correspondiente que se devuelve para una condición que se evalúa como true.
- DefaultResult : Opcional. El valor que se devuelve si ninguna condición se evalúa como true. If No se especifica este argumento, se devuelve en blanco .
Switch( Fórmula, Match1, Result1 [, Match2, Result2, ... [, DefaultResult ] ] )
- Fórmula - Obligatoria. Fórmula para evaluar coincidencias. Esta fórmula se evalúa solo una vez.
- Coincidencias - Obligatorio. Valores para comparar con el resultado de Fórmula. If se encuentra una coincidencia exacta, se devuelve el resultado correspondiente.
- Resultados - Obligatorio. El valor correspondiente que se devolverá cuando se encuentre una coincidencia exacta.
- DefaultResult : Opcional. If No se encuentra una coincidencia exacta, se devuelve este valor. If No se especifica este argumento, se devuelve en blanco .
Ejemplos
Valores en las fórmulas
En los ejemplos siguientes, un control Slider (llamado Slider1) tiene un valor de 25.
| Fórmula | Descripción | Result |
|---|---|---|
| If( Slider1.Value = 25, "Result1" ) | La condición es true y se devuelve el resultado correspondiente. | "Result1" |
| If( Slider1.Value = 25, "Result1", "Result2" ) | La condición es true y se devuelve el resultado correspondiente. | "Result1" |
| If( Slider1.Value > 1000, "Result1" ) | La condición es false y no se proporcionó ningún valor para DefaultResult. | blanco |
| If( Slider1.Value > 1000, "Result1", "Result2" ) | La condición es false, se proporcionó un valor para DefaultResult, que es el que se devuelve. | "Result2" |
| If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) | La primera condición es true y se devuelve el resultado correspondiente. La segunda condición es también true, pero no se evalúa ya que aparece más adelante en la lista de argumentos que una condición que se evalúa como true. | "Result1" |
| If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) | La primera condición es false porque el control deslizante no es blank. La segunda condición es true porque el valor del control deslizante es un número y se devolverá el resultado correspondiente. | "Result2" |
| If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") | Las condiciones primera y segunda son false, se proporcionó un valor para DefaultResult, y es el que se devuelve. | "Result3" |
| Switch( Slider1.Value, 25, "Result1" ) | El valor del control deslizante coincide con el primer valor que se comprueba, y se devuelve el resultado correspondiente. | "Result1" |
| Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) | El valor del control deslizante coincide con el segundo valor que se comprueba, y se devuelve el resultado correspondiente. | "Result2" |
| Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) | El valor del control deslizante no coincide con ningún valor que se comprueba. Se proporcionó un valor para DefaultResult, que es el que se devuelve. | "DefaultResult" |
Bifurcación en fórmulas de comportamiento
En los ejemplos siguientes, un control Text input denominado FirstName tiene escrito el valor "John".
| Fórmula | Descripción | Result |
|---|---|---|
| If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) | La condición es true, así que se ejecuta la función Navigate. Puede usar la función IsBlank para comprobar si se ha rellenado un campo de formulario obligatorio. If FirstName estaba en blanco, esta fórmula no tendría ningún efecto. |
verdadero La pantalla cambia a Screen1. |
| If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) | Sin el operador !, la condición es false, así que no se ejecuta la función Navigate. La función Back se proporcionó como DefaultResult, así que es la que se ejecuta. |
verdadero Se vuelve a la pantalla que aparecía anteriormente. |
| Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) | El valor de FirstName.Text se compara con "Carlos", "Kirstin" y "John" en ese orden. Se encuentra una coincidencia con "John", por lo que la aplicación se desplaza a Screen3. |
verdadero La pantalla cambia a Screen3. |
Paso a paso
Agregue un control Text input y asígnele el nombre Text1, siempre que no sea su nombre predeterminado.
En Text1, escriba 30.
Agregue un control Label y establezca su propiedad Text según esta fórmula:
If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )El control Label muestra Order more! porque el valor de Text1 es mayor que 20 pero menor que 40.
En Text1, escriba 15.
El control Label muestra Order MANY more! porque el valor de Text1 es menor que 20.
En Text1, escriba 50.
El control Label muestra el valor que escribió porque es superior a 40.