Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
S'aplica a: Aplicacions
de llenç Copilot Studio
Fluxos
d'escriptori Columnes de
fórmules del Dataverse Aplicacions
basades en models CLI
del Power Platform Funcions
del Dataverse Power Pages
Determina si alguna condició d'un conjunt és certa (If) o si el resultat d'una fórmula coincideix amb qualsevol valor d'un conjunt (Switch) i després retorna un resultat o executa una acció.
Descripció
La If funció prova una o més condicions fins que es troba un resultat real . If es troba aquest resultat, es retorna un valor corresponent. If No es troba cap resultat d'aquest tipus, es retorna un valor per defecte. En qualsevol cas, el valor retornat podria ser una cadena que es mostrarà, una fórmula que s'avaluarà o una altra forma de resultats.
La Switch funció avalua una fórmula i determina si el resultat coincideix amb algun valor d'una seqüència que especifiqueu. If es troba una coincidència, es retorna un valor corresponent. If no es troba cap coincidència, es retorna un valor per defecte. En qualsevol cas, el valor retornat podria ser una cadena que es mostrarà, una fórmula que s'avaluarà o una altra forma de resultats.
If i Switch són molt similars, però hauríeu d'utilitzar la millor funció per a la vostra situació:
- S'utilitza If per avaluar una sola condició. La sintaxi més comuna per a aquesta funció és If( Condition, ThenResult, DefaultResult ), que proporciona el comú "si ... aleshores … altrament..." patró vist en altres eines de programació.
- S'utilitza If per avaluar diverses condicions no relacionades. Al Power Apps (a diferència del Microsoft Excel), podeu especificar diverses condicions sense haver d'imbricar If fórmules.
- S'utilitza Switch per avaluar una sola condició amb diverses coincidències possibles. També podeu utilitzar-lo If en aquest cas, però haureu de repetir la fórmula per a cada coincidència possible.
Podeu utilitzar totes dues funcions en fórmules de comportament per ramificar entre dues o més accions. Només una branca activarà una acció. Les condicions i les coincidències s'avaluen per ordre i s'aturen si una condició és true o si es troba una coincidència.
Es retorna Blank si no es compleix cap condició, no s'ha trobat cap coincidència i no s'especifica un resultat per defecte.
Sintaxi
If( Condició, ThenResult [, DefaultResult ] )
If( Condició1, LlavorsResultat1 [, Condició2, LlavorsResultat2, ... [ , ResultatPer defecte ] ] )
- Condicions : obligatòries. Fórmules per provar si són true. Aquestes fórmules normalment contenen operadors de comparació, (com ara <, > i =) i tenen funcions de prova, com ara IsBlank i IsEmpty.
- ThenResults - Obligatori. Valor corresponent que es tornarà per a una condició que s'avalua com a true.
- DefaultResult : opcional. Valor que es tornarà si no s'avalua cap condició com a true. If No especifiqueu aquest argument, es retorna blank .
Switch( Fórmula, Match1, Result1 [, Match2, Result2, ... [, ResultatPer defecte ] ] )
- Fórmula : obligatòria. Fórmula per avaluar si hi ha coincidències. Aquesta fórmula només s'avalua una vegada.
- Coincidències : obligatòries. Valors que es comparen amb el resultat de la Fórmula. If es troba una coincidència exacta, es retorna el resultat corresponent.
- Resultats - Obligatori. El valor corresponents es retornarà si es troba una coincidència exacta.
- DefaultResult : opcional. If No es troba una coincidència exacta, es retorna aquest valor. If No especifiqueu aquest argument, es retorna blank .
Exemples
Valors en fórmules
Als exemples següents, un Control lliscant (anomenat Slider1) té un valor de 25.
| Fórmula | Descripció | Resultat |
|---|---|---|
| If( Slider1.Value = 25, "Result1" ) | La condició és true i el resultat corresponent es torna. | "Result1" |
| If( Slider1.Value = 25, "Result1", "Result2" ) | La condició és true i el resultat corresponent es torna. | "Result1" |
| If( Slider1.Value > 1000, "Result1" ) | La condició és false i no s'ha proporcionat DefaultResult. | Buit |
| If( Slider1.Value > 1000, "Result1", "Result2" ) | La condició és false, s'ha proporcionat DefaultResult i s'ha retornat. | "Result2" |
| If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) | La primera condició és true i el resultat corresponent es torna. La segona condició també és true, però no s'avalua perquè apareix més endavant a la llista d'arguments que una condició que s'avalua com a true. | "Result1" |
| If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) | La primera condició és false perquè el control lliscant no està en blanc. La segona condició és true perquè el valor del control lliscant és un número i es torna el resultat corresponent. | "Result2" |
| If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") | La primera i la segona condició són false, s'ha proporcionat DefaultResult i s'ha retornat. | "Result3" |
| Switch( Slider1.Value, 25, "Result1" ) | El valor del control lliscant coincideix amb el primer valor que s'ha de comprovar i es retornarà el resultat corresponent. | "Result1" |
| Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) | El valor del control lliscant coincideix amb el segon valor que s'ha de comprovar i es retornarà el resultat corresponent. | "Result2" |
| Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) | El valor del control lliscant no coincideix amb cap valor que s'hagi de comprovar. S'ha proporcionat DefaultResult, per la qual cosa es torna. | "DefaultResult" |
Ramificació en fórmules de comportament
En aquests exemples, un control Entrada de text anomenat FirstName té el valor "John" teclejat.
| Fórmula | Descripció | Resultat |
|---|---|---|
| If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) | La condició és true, de manera que s'executa la funció Navigate. Podeu utilitzar la funció IsBlank per provar si un camp del formulari obligatori s'ha emplenat. If FirstName estigués en blanc, aquesta fórmula no tindria cap efecte. |
veritable La pantalla es canvia a Screen1. |
| If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) | Sense l'operador !, la condició és false, de manera que la funció Navigate no s'executa. La funció Back s'ha subministrat com a DefaultResult i, per tant, s'executa. |
veritable Es torna a la pantalla que s'ha mostrat abans. |
| Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) | El valor de FirstName.Text es compara amb "Carlos", "Kirstin" i "John" en aquest ordre. Una coincidència es troba amb "John", de manera que l'aplicació navega a Screen3. |
veritable La pantalla es canvia a Screen3. |
Pas a pas
Afegiu un control Entrada de text i anomeneu-lo Text1 si no té aquest nom per defecte.
A Text1, escriviu 30.
Afegiu un control Label i definiu-ne la propietat Text en aquesta fórmula:
If( Value(Text1.Text) < 20, "Demana MOLTS més!", Value(Text1.Text) < 40, "Demana més!", Text1.Text )El control Label mostra Més comandes! perquè el valor de Text1 és superior a 20 però inferior a 40.
A Text1, escriviu 15.
El control Label mostra MOLTES més comandes! perquè el valor de Text1 és inferior a 20.
A Text1, escriviu 50.
El control Etiqueta mostra el valor que heu escrit perquè és superior a 40.