Fonctions Blank, Coalesce, IsBlank et IsEmpty

S’applique à : Applications canevas Flux de bureau Colonnes de formule Dataverse Applications pilotées par modèle CLI Power Platform

Teste si une valeur est vide ou si une table ne contient aucun enregistrement, et fournit un moyen de créer des valeurs vide.

Vue d’ensemble

Vide est un espace réservé signifiant l’absence de valeur ou que la valeur est inconnue. Par exemple, la propriété Selected d’un contrôle Combo box est vide si l’utilisateur n’a pas fait de sélection. De nombreuses sources de données peuvent stocker et retourner des valeurs NULL, qui sont représentés dans Power Apps par une valeur vide.

N’importe quelle propriété ou valeur calculée dans Power Apps peut être vide. Par exemple, une valeur booléenne est généralement true ou false. Mais en plus de ces deux, il peut aussi être Vide indiquant que l’état n’est pas connu. De même, dans Microsoft Excel, une cellule de feuille de calcul est initialement vide sans contenu, mais peut contenir les valeurs TRUE ou FALSE, entre autres. Le contenu de la cellule peut être supprimé à nouveau à tout moment, auquel cas elle revient à l’état vide.

Chaîne vide fait référence à une chaîne qui ne contient aucun caractère. La fonction Len renvoie zéro pour une telle chaîne et elle peut être écrite dans une formule sous la forme de deux guillemets doubles sans rien entre les deux "". Certains contrôles et sources de données utilisent une chaîne vide pour indiquer une condition "sans valeur". Pour simplifier la création d’applications, les fonctions IsBlank et Coalesce testent les valeurs Vides ou des chaînes vides.

Dans le cadre de la fonction IsEmpty, empty est spécifique aux tables qui ne contiennent aucun enregistrement. La structure de la table peut être intacte et comporter des titres de colonne, mais la table ne comporte aucune donnée. Une table peut être initialement vide, puis être complétée de plusieurs enregistrements (elle n’est donc plus vide), puis les enregistrements peuvent être supprimés (elle est vide de nouveau).

Note

Nous sommes dans une période de transition. Jusqu’à maintenant, blank a également été utilisé pour signaler des erreurs, ce qui rend impossible de différencier une "aucune valeur" valide d’une erreur. Pour cela, actuellement, le stockage de valeurs vides est pris en charge uniquement pour les collections locales. Vous pouvez stocker des valeurs vides dans d’autres sources de données si vous activez la fonctionnalité expérimentale Gestion des erreurs au niveau de la formule sous Paramètres>Fonctionnalités à venir>Expérimental. Nous travaillons activement pour terminer cette fonctionnalité et achever la séparation appropriée des valeurs vides d’erreurs.

Vide

S’applique à : Applications canevas Applications pilotées par modèle Colonnes de formule Dataverse

La fonction Blank retourne une valeur vide. Utilisez ceci pour stocker une valeur NULL dans une source de données qui prend en charge ces valeurs, en supprimant effectivement toute valeur dans le champ.

IsBlank

S’applique à : Applications canevas Applications pilotées par modèle

La fonction IsBlank teste une valeur Vide ou une chaîne vide. Le test inclut des chaînes vides pour faciliter la création d’applications, car certaines sources de données et certains contrôles utilisent une chaîne vide en l’absence de valeur. Pour tester spécifiquement une valeur vide utilisez if( Value = Blank(), ... au lieu de IsBlank. La fonction IsBlank considère les tables vides comme non vides, et IsEmpty doit être utilisée pour tester une table.

Lorsque vous activez la gestion des erreurs pour les applications existantes, pensez à remplacer IsBlank avec IsBlankOrError pour préserver le comportement de l’application existante. Avant l’ajout de la gestion des erreurs, une valeur Vide a été utilisé pour représenter à la fois les valeurs nulles des bases de données et les valeurs d’erreur. La gestion des erreurs sépare ces deux interprétations de Vide ce qui pourrait changer le comportement des applications existantes qui continuent à utiliser IsBlank.

La valeur renvoyée pour IsBlank est une valeur booléenne true ou false.

Coalesce

S’applique à : Applications canevas Applications pilotées par modèle

La fonction Coalesce évalue ses arguments dans l’ordre et retourne la première valeur qui n’est pas vide ou une chaine vide. Utilisez cette fonction pour remplacer une valeur Vide ou chaîne vide avec une valeur différente mais laisser non Vide et les valeurs de chaîne non vides inchangées. Si tous les arguments sont Vide ou des chaînes vides, la fonction renvoie Vide, faisant de Coalesce un bon moyen de convertir des chaînes vides en valeurs Vide.

Coalesce( value1, value2 ) est l’équivalent le plus concis de If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) et ne nécessite pas de valeur1 et valeur2 pour être évalué deux fois. La fonction If renvoie vide s’il n’y a pas de formule "else" comme c’est le cas ici.

Tous les arguments de Coalesce doivent être du même type. Par exemple, vous ne pouvez pas mélanger des nombres avec des chaînes de texte. La valeur de retour de Coalesce est de ce type courant.

IsEmpty

S’applique à : Applications canevas Applications pilotées par modèle

La fonction IsEmpty teste si une table contient des enregistrements. Elle revient à utiliser la fonction CountRows et à vérifier la présence de la valeur zéro. Vous pouvez vérifier s’il y a des erreurs dans une source de données en combinant IsEmpty avec la fonction Errors.

La valeur renvoyée pour IsEmpty est une valeur booléenne true ou false.

Syntaxe

Blank()

Coalesce( Value1 [, Value2, ... ] )

  • Value(s) : obligatoire. Valeurs à tester. Chaque valeur est évaluée dans l’ordre jusqu’à ce qu’une valeur qui ne soit pas Vide et aucune chaîne vide n’est trouvée. Les valeurs après ce point ne sont pas évaluées.

IsBlank( Value )

  • Value : obligatoire. Valeur à tester pour une valeur Vide ou chaîne vide.

IsEmpty( Table )

  • Table : obligatoire. Table dans laquelle tester la présence d’enregistrements.

Examples

Vide

Note

Actuellement, l’exemple suivant fonctionne seulement pour les collections locales. Vous pouvez stocker des valeurs vides dans d’autres sources de données si vous activez la fonctionnalité expérimentale Gestion des erreurs au niveau de la formule sous Paramètres>Fonctionnalités à venir>Expérimental. Nous travaillons activement pour terminer cette fonctionnalité et achever la séparation des valeurs vides d’erreurs.

  1. Créez une application à partir de zéro et ajoutez un contrôle Button.

  2. Définissez la propriété OnSelect du bouton sur la formule suivante :

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Affichez un aperçu de votre application, cliquez ou appuyez sur le bouton que vous avez ajouté, puis fermez l’aperçu.

  4. Dans le menu Fichier, cliquez ou appuyez sur Collections.

    La collection Cities apparaît, affichant un enregistrement avec « Seattle » et « Rainy » :

    Collection montrant Seattle avec une météo « Rainy ».

  5. Cliquez ou appuyez sur la flèche Précédent pour revenir à l’espace de travail par défaut.

  6. Ajoutez un contrôle Label et définissez sa propriété Text sur cette formule :

    IsBlank( First( Cities ).Weather )
    

    L’étiquette affiche false, car le champ Weather contient une valeur (« Rainy »).

  7. Ajoutez un second bouton, puis définissez sa propriété OnSelect sur la formule suivante :

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Affichez un aperçu de votre application, cliquez ou appuyez sur le bouton que vous avez ajouté, puis fermez l’aperçu.

    Le champ Weather du premier enregistrement dans Cities est remplacé par un vide, qui supprime la valeur « Rainy » qui s’y trouvait auparavant.

    Collection montrant Seattle avec un champ Weather vide.

    L’étiquette affiche true, car le champ Weather ne contient plus de valeur.

Coalesce

Formule Description Résultat
Coalesce( Blank(), 1 ) Teste la valeur de retour de la fonction Blank, qui retourne toujours une valeur vide. Étant donné que le premier argument est vide, l’évaluation se poursuit avec l’argument suivant jusqu’à ce qu’une valeur non vide et une chaîne non vide soit trouvée. 1
Coalesce( "", "2" ) Teste le premier argument qui est une chaîne vide. Étant donné que le premier argument est une chaîne vide, l’évaluation se poursuit avec l’argument suivant jusqu’à ce qu’une valeur non vide et une chaîne non vide soit trouvée. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce commence au début de la liste d’arguments et évalue chaque argument l’un après l’autre jusqu’à ce qu’une valeur non vide et une chaîne non vide soit trouvée. Dans ce cas, les quatre premiers arguments retournent blank ou une chaîne vide, de sorte que l’évaluation passe au cinquième argument. Le cinquième argument est non Vide et chaîne non vide, donc l’évaluation s’arrête ici. La valeur du cinquième argument est retournée et le sixième argument n’est pas évalué. 3
Coalesce( "" ) Teste le premier argument qui est une chaîne vide. Étant donné que le premier argument est une chaîne vide et qu’il n’y a plus d’arguments, la fonction renvoie Vide. blank

IsBlank

  1. Créez une application à partir de zéro, ajoutez un contrôle d’entrée de texte et nommez-le FirstName.

  2. Ajoutez un libellé et définissez sa propriété Text sur la formule suivante :

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    Par défaut, la propriété Text d’un contrôle d’entrée de texte est définie sur « Text Input ». Comme le contrôle contient une valeur, il n’est pas vide et l’étiquette n’affiche aucun message.

  3. Supprimez tous les caractères du contrôle d’entrée de texte, y compris les espaces.

    Comme la propriété Text ne contient plus de caractères, elle est une chaîne vide et IsBlank( FirstName.Text ) a la valeur true. Le message indiquant que le champ est obligatoire s’affiche.

Pour plus d’informations sur la façon d’effectuer la validation à l’aide d’autres outils, reportez-vous à la fonction Validate et à Utilisation des sources de données.

Autres exemples :

Formule Description Résultat
IsBlank( Blank() ) Teste la valeur de retour de la fonction Blank, qui retourne toujours une valeur vide. true
IsBlank( "" ) Une chaîne ne contenant aucun caractère. true
IsBlank( "Hello" ) Une chaîne contenant un ou plusieurs caractères. false
IsBlank( AnyCollection ) Étant donné que la collection existe, elle n’est pas vide, même si elle ne contient aucun enregistrement. Pour vérifier si une collection est vide, utilisez plutôt la fonction IsEmpty. false
IsBlank( Mid( "Hello", 17, 2 ) ) Le caractère de début pour Mid se situe après la fin de la chaîne. Le résultat est une chaîne vide. true
IsBlank( If( false, false ) ) Une fonction If sans ElseResult. Étant donné que la condition est toujours false, cette fonction If retourne toujours une valeur vide. true

IsEmpty

  1. Créez une application à partir de zéro et ajoutez un contrôle Button.

  2. Définissez la propriété OnSelect du bouton sur la formule suivante :

    Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )

  3. Affichez un aperçu de votre application, cliquez ou appuyez sur le bouton que vous avez ajouté, puis fermez l’aperçu.

    Une collection nommée IceCream est créée et elle contient ces données :

    Une table aux saveurs Fraise et Chocolat en quantité 300 et 100.

    Cette collection contient deux enregistrements et n’est pas vide. IsEmpty( IceCream ) retourne la valeur false et CountRows( IceCream ) retourne la valeur 2.

  4. Ajoutez un second bouton, puis définissez sa propriété OnSelect sur la formule suivante :

    Clear( IceCream )

  5. Affichez un aperçu de votre application, cliquez ou appuyez sur le second bouton, puis fermez l’aperçu.

    La collection est maintenant vide :

    Une collection avec Saveur et Quantité comme collection vide.

    La fonction Clear supprime tous les enregistrements d’une collection, ce qui produit une collection vide. IsEmpty( IceCream ) retourne la valeur true et CountRows( IceCream ) retourne la valeur 0.

Vous pouvez également utiliser la fonction IsEmpty pour tester si une table calculée est vide, comme le montrent ces exemples :

Formule Description Résultat
IsEmpty( [ 1, 2, 3 ] ) La table à une seule colonne contient trois enregistrements et, par conséquent, n’est pas vide. false
IsEmpty( [ ] ) La table à une seule colonne ne contient aucun enregistrement. Elle est donc vide. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) La table à une seule colonne ne contient aucune valeur supérieure à 5. Le résultat du filtre ne contient aucun enregistrement et est donc vide. true