Partager via


Fonctions ColumnNames et Column

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

Récupère les noms et les valeurs de colonnes d’un objet sans type.

Description

La fonction ColumnNames renvoie les noms de toutes les colonnes d’un enregistrement sans type, en renvoyant une table avec tous les noms de cet enregistrement.

La fonction Column renvoie la valeur d’une propriété d’un enregistrement sans type avec le nom de la colonne donnée. La valeur est renvoyée sous la forme d’un objet sans type.

Les fonctions ColumnNames et Column renvoient des erreurs si l’objet sans type ne représente pas un enregistrement (c’est-à-dire, s’il représente une table ou une valeur scalaire ou primitive).

Syntaxe

ColumnNames( UntypedRecord )

  • UntypedRecord : obligatoire. Un objet sans type qui représente un enregistrement.

Column( UntypedRecord, ColumnName )

  • UntypedRecord : obligatoire. Un objet sans type qui représente un enregistrement.
  • ColumnName : obligatoire. Le nom de la colonne à récupérer à partir de l’enregistrement donné.

Exemples

Accéder aux valeurs de champ

Étant donné la chaîne JSON suivante dans une variable nommée JsonString

{ "name": "Seattle", "population": 737000 }
  1. La formule suivante renvoie une table à une seule colonne avec une colonne Value contenant les valeurs suivantes : « nom », « population » :

    ColumnNames( ParseJSON( JsonString ) )
    
  2. La formule suivante renvoie le nombre 737000 :

    Value( Column( ParseJSON( JsonString ), "population" ) )
    

    2.1. Notez que ceci est similaire à l’opérateur . pour les enregistrements sans type, mais il n’est pas nécessaire que le nom de la colonne soit connu à l’avance.

  3. La formule suivante renvoie la valeur de texte "name: Seattle, population: 737000" :

    With(
        { untyped: ParseJSON( JsonString ) },
        Concat(
            ColumnNames( untyped ),
            $"{Value}: {Column( untyped, Value )}",
            ", "))
    

Vide

Étant donné la chaîne JSON suivante dans une variable nommée JsonString

{ "text": "text value" , "number": 567, "empty": null }
  1. La tentative d’accès à des champs inexistants renvoie Blank(). La formule suivante renvoie true :
    IsBlank( Column( ParseJSON( JsonString ), "does not exist" ) )
    
  2. Les valeurs null JSON sont considérées comme Blank(). La formule suivante renvoie true :
    IsBlank( Column( ParseJSON( JsonString ), "empty" ) )
    

Nonrecords

L’appel des fonctions Column ou ColumnNames avec des objets sans type qui ne représentent pas des enregistrements renvoie une erreur. Toutes ces expressions ci-dessous sont erronées :

Formule Raison de l’erreur
ColumnNames( ParseJSON ( "[1, 2, 3]" ) ) L’objet sans type représente un tableau
Column( ParseJSON ( "23.45" ), "Value" ) L’objet sans type représente un nombre
ColumnNames( ParseJSON ( """hello""" ) ) L’objet sans type représente un texte
Column( ParseJSON ( "{""a"":false}" ).a, "a" ) L’objet sans type représente une valeur booléenne