pac power-fx

(Version préliminaire) Commandes pour utiliser Power Fx

Utilisez ces commandes pour interagir avec les données dans Dataverse à l’aide d’une ligne de commande ou d’un script. Réduisez le temps et la complexité de vos opérations Dataverse en utilisant Power Fx.

Vous pouvez utiliser les formules répertoriées dans Référence sur les formules - Power Platform CLI.

Commandes

Commande Description
pac power-fx repl (Version préliminaire) Lancer la boucle Read-Eval-Print Power Fx interactive
pac power-fx run (Version préliminaire) Exécuter un fichier d’instructions Power Fx

pac power-fx repl

(Version préliminaire) Lancer la boucle Read-Eval-Print Power Fx interactive

Note

Si vous avez installé Power Platform CLI à l’aide de Windows MSI, il existe un problème connu avec pac power-fx repl, où le shell peut cesser de répondre lors de l’utilisation de cette commande.

Paramètres facultatifs pour power-fx repl

--environment -env

Spécifie le Dataverse cible. La valeur peut être un GUID ou une URL https absolue. Lorsque la valeur n’est pas spécifiée, l’organisation active sélectionnée pour le profil d’authentification actuel sera utilisée.

Remarques

Cette commande fournit un shell pour utiliser les formules répertoriées dans Référence sur les formules - Power Platform CLI.

Démarrez Power Fx repl en exécutant la commande suivante :

pac power-fx repl

Après cela, vous pouvez exécuter les commandes Power Fx.

Exemples

Les exemples suivants illustrent l’utilisation de la commande pac power-fx repl.

Ajouter des lignes
Collect(Contacts, { firstname: "Patti", lastname: "Fernandez" })

Power Fx repl répond avec la sortie suivante :

{contactid:GUID("118d7b47-8f80-ee11-8179-0022482a40c7"), fullname:"Patti Fernandez", ...}
Aide

Exécutez la commande suivante pour obtenir de l’aide sur toutes les commandes disponibles dans Power Fx repl :

Help()

Power Fx repl répond avec la sortie suivante :

  Abs             Acos            Acot            AddColumns      And
  Asin            AsType          Atan            Atan2           Average
  Blank           Boolean         Char            Clear           ClearCollect
  Coalesce        Collect         ColorFade       ColorValue      Concat
  Concatenate     Cos             Cot             Count           CountA
  CountIf         CountRows       Date            DateAdd         DateDiff
  DateTime        DateTimeValue   DateValue       Day             Dec2Hex
  Decimal         Degrees         Distinct        DropColumns     EDate
  EncodeUrl       EndsWith        EOMonth         Error           Exp
  Filter          Find            First           FirstN          Float
  ForAll          GUID            Help            Hex2Dec         Hour
  If              IfError         Index           Int             IsBlank
  IsBlankOrError  IsEmpty         IsError         IsMatch         IsNumeric
  IsToday         Language        Last            LastN           Left
  Len             Ln              Log             LookUp          Lower
  Match           MatchAll        Max             Mid             Min
  Minute          Mod             Month           Not             Notify
  Now             OptionSetInfo   Or              ParseJSON       Patch
  Pi              PlainText       Power           Proper          Radians
  Rand            RandBetween     Refresh         Remove          Replace
  RGBA            Right           Round           RoundDown       RoundUp
  Second          Sequence        Set             Shuffle         Sin
  Sort            Split           Sqrt            StartsWith      StdevP
  Substitute      Sum             Switch          Table           Tan
  Text            Time            TimeValue       TimeZoneOffset  Today
  Trim            TrimEnds        Trunc           Upper           Value
  VarP            Weekday         With            Year
>>

Note

Ces commandes changeront au fil du temps pour inclure davantage de commandes. Il doit être synchronisé avec les commandes actuellement disponibles documentées.

Exit

Utilisez Exit() pour quitter la commande repl.

pac power-fx run

(Version préliminaire) Exécuter un fichier d’instructions Power Fx

Exemples

Les exemples suivants illustrent l’utilisation de la commande pac power-fx run.

Note

Dans chacun de ces exemples, vous devez :

  1. Créer un fichier nommé test-pfx.txt avec des expressions Power Fx dans un dossier de votre ordinateur, par exemple c:\test.

  2. Ouvrir une fenêtre Windows PowerShell, accéder au dossier test et utiliser la commande run qui spécifie le fichier contenant les commandes : pac power-fx run --file test-pfx.txt.

Pour utiliser des tables Dataverse, vous devez créer et sélectionner un profil d’authentification. Voir pac auth create et pac auth select.

Si vous obtenez une erreur, consultez Résolution des problèmes.

Créer des enregistrements Dataverse

  1. Ajoutez le texte suivant à test-pfx.txt et enregistrez le fichier.

    Collect(Contacts, { firstname: "Megan", lastname: "Bowen" })
    Collect(Contacts, { firstname: "Garth", lastname: "Forth" })
    Collect(Contacts, { firstname: "Adele", lastname: "Vance" })
    Collect(Contacts, { firstname: "Patti", lastname: "Fernandez" })
    
  2. Exécutez cette commande :

    PS C:\test> pac power-fx run --file test-pfx.txt
    

    Vous pouvez vous attendre à une sortie similaire à la suivante :

    {contactid:GUID("80eb0c02-9180-ee11-8179-0022482a40c7"), fullname:"Megan Bowen", ...}
    {contactid:GUID("81eb0c02-9180-ee11-8179-0022482a40c7"), fullname:"Garth Forth", ...}
    {contactid:GUID("82eb0c02-9180-ee11-8179-0022482a40c7"), fullname:"Adele Vance", ...}
    {contactid:GUID("83eb0c02-9180-ee11-8179-0022482a40c7"), fullname:"Patti Fernandez", ...}
    

Interroger une table Dataverse

  1. Ajoutez ce texte à test-pfx.txt et enregistrez le fichier.

    FirstN(Contacts, 5)
    

    Cette commande récupère les cinq premiers contacts de Dataverse.

  2. Exécutez cette commande :

    PS C:\test> pac power-fx run --file test-pfx.txt
    

    Vous pouvez vous attendre à une sortie similaire à la suivante :

    Connected to... Your Organization
    Connected as you@yourorg.onmicrosoft.com
    
    contactid                                      fullname           ...
    ============================================== ================== =====
    GUID("eeb27495-d127-ed11-9db1-00224804f8e2")   Yvonne McKay (sample)
    GUID("cba0ed9e-d127-ed11-9db1-00224804f8e2")   Susanna Stubberod (sample)
    GUID("cea0ed9e-d127-ed11-9db1-00224804f8e2")   Nancy Anderson (sample)
    GUID("6cc7483c-7a77-ee11-8179-00224809f375")   Maria Campbell (sample)
    GUID("49b0be2e-d01c-ed11-b83e-000d3a572421")   Sidney Higa (sample)
    PS C:\test>
    

Utiliser les fonctions PowerFx

  1. Ajoutez le texte suivant à test-pfx.txt et enregistrez le fichier.

    Set(x, 1)
    Result = If( Mid( "asdf",x,1 ) = "a", "X", "Y" )
    

    Cet exemple utilise les fonctions Power Fx Mid, If et Set.

  2. Exécutez la commande suivante :

    PS C:\test> pac power-fx run --file test-pfx.txt
    

    Vous pouvez vous attendre à une sortie similaire à la suivante :

    PS C:\test> pac power-fx run --file test-pfx.txt
    x: 1
    true
    Result: "X"
    PS C:\test>
    
  3. Ajoutez le paramètre --echo et vous pouvez vous attendre à ce résultat :

    PS C:\test> pac power-fx run --file test-pfx.txt --echo
    Set(x, 1)
    
    x: 1
    true
    Result = If( Mid( "asdf",x,1 ) = "a", "X", "Y" )
    
    Result: "X"
    PS C:\test>
    

Paramètres obligatoires pour power-fx run

--file -f

Chemin d’accès du fichier à exécuter

Paramètres facultatifs pour power-fx run

--echo -e

Vrai si les commandes d’entrée doivent retourner à la sortie

Ce paramètre ne requiert aucune valeur. C’est un commutateur.

--environment -env

Spécifie le Dataverse cible. La valeur peut être un GUID ou une URL https absolue. Lorsque la valeur n’est pas spécifiée, l’organisation active sélectionnée pour le profil d’authentification actuel sera utilisée.

Résolution des problèmes

Les étapes suivantes permettent de résoudre les erreurs que vous pouvez rencontrer lors de l’utilisation des commandes pac power-fx.

Erreur lorsqu’il n’existe aucun profil d’authentification Dataverse

Vous pouvez obtenir cette erreur lorsqu’aucun profil d’authentification universel n’est associé à un environnement Dataverse.

PS C:\test> pac power-fx run --file test-pfx.txt
Error 8-16: Name isn't valid. 'Contacts' isn't recognized.
Error 18-59: The specified column 'firstname' does not exist.
Error 0-60: The function 'Collect' has some invalid arguments.
Error 8-16: Name isn't valid. 'Contacts' isn't recognized.
Error 18-59: The specified column 'firstname' does not exist.
Error 0-60: The function 'Collect' has some invalid arguments.
Error 8-16: Name isn't valid. 'Contacts' isn't recognized.
Error 18-59: The specified column 'firstname' does not exist.
Error 0-60: The function 'Collect' has some invalid arguments.
Error 8-16: Name isn't valid. 'Contacts' isn't recognized.
Error 18-63: The specified column 'firstname' does not exist.
Error 0-64: The function 'Collect' has some invalid arguments.

Pour résoudre ces erreurs, créez un profil d’authentification universel associé à un environnement Dataverse.

  1. Exécutez la commande pac auth list.

    Vous pourriez voir ce résultat qui inclut un profil d’authentification UNIVERSAL sans URL pour indiquer qu’il est associé à un environnement Dataverse.

    Index Active Kind      Name Friendly Name Url User                Cloud  Type
    [1]   *      UNIVERSAL                        you@yourcompany.com Public OperatingSystem
    

    Cela n’est pas suffisant car aucun environnement Dataverse n’est spécifié.

  2. Utilisez pac auth create pour créer un profil d’authentification UNIVERSAL connecté à un environnement Dataverse.

    Note

    Utilisez le paramètre --environment en utilisant la valeur environnementalid. Rechercher votre ID d’environnement.

    N’utilisez pas le paramètre --url, car cela créera un profil DATAVERSE au lieu d’un profil UNIVERSAL.

    Par exemple :

    PS C:\test> pac auth create --environment f2cef599-b112-4803-bb5d-090077017685 --name ConnectionName
    'you@yourcompany.onmicrosoft.com' authenticated successfully.
    Validating connection...
    Default organization: YourOrganization
    Connected to... YourOrganization
    Connected as you@yourcompany.onmicrosoft.com
    Authentication profile created
       * UNIVERSAL ConnectionName                 https://yourcompany.crm.dynamics.com/          : you@yourcompany.onmicrosoft.com              Public
    
    PS C:\test>
    
  3. Exécutez pac auth list à nouveau. Vous devriez voir un résultat avec le profil de connexion UNIVERSAL avec une URL pour votre environnement Dataverse.

    PS C:\test> pac auth list
    Index Active Kind      Name           Friendly Name        Url                                   User                  Cloud  Type
    [1]   *      UNIVERSAL                                                                           you@yourcompany.com   Public OperatingSystem
    [2]   *      UNIVERSAL ConnectionName YourOrganization     https://yourcompany.crm.dynamics.com/ you@yourcompany.com   Public User
    
    PS C:\test>
    
  4. Sélectionnez l’environnement UNIVERSAL comme le profil par défaut en utilisant la commande pac auth select.

    PS C:\test> pac auth select --index 2
    New default profile:
       * UNIVERSAL ConnectionName                 https://yourcompany.crm.dynamics.com/          : you@yourcompany.com              Public
    
    PS C:\test>
    

Voir aussi

Groupes de commandes Microsoft Power Platform CLI
Vue d’ensemble de Microsoft Power Platform CLI