pac power-fx

(Vorschauversion) Befehle zum Arbeiten mit Power Fx

Verwenden Sie diese Befehle, um über eine Befehlszeile oder ein Skript mit Daten in Dataverse zu interagieren. Reduzieren Sie den Zeitaufwand und die Komplexität Ihrer Dataverse Operationen durch die Verwendung von Power Fx.

Sie können die in der Referenz zu Formeln – Power Platform CLI aufgeführten Formeln verwenden.

Befehle

Command Beschreibung
Pac Power-FX-Ersatz (Vorschauversion) Power Fx-Read-Eval-Print-Schleife interaktiv starten
Pac Power-FX-Lauf (Vorschauversion) Eine Datei aus Power Fx-Anweisungen ausführen

pac power-fx repl

(Vorschauversion) Power Fx-Read-Eval-Print-Schleife interaktiv starten

Anmerkung

Wenn Sie Power Platform CLI mit Windows MSI installiert haben, gibt es ein bekanntes Problem mit pac power-fx replder Verwendung dieses Befehls: Shell reagiert dann möglicherweise nicht mehr.

Optionale Parameter für power-fx repl

--environment-env

Gibt das Ziel-Dataverse an. Der Wert kann eine GUID oder eine absolute HTTPS-URL sein. Wenn nichts angegeben wird, wird die für das aktuelle Authentifizierungsprofil ausgewählte aktive Organisation verwendet.

Anmerkungen

Dieser Befehl stellt eine Shell zur Verwendung der in der Referenz zu Formeln – Power Platform CLI aufgeführten Formeln bereit.

Starten Sie die Power Fx Repl, indem Sie den folgenden Befehl ausführen:

pac power-fx repl

Danach können Sie Power Fx-Befehle ausführen.

Beispiele

Die folgenden Beispiele zeigen die Verwendung des pac power-fx repl Befehls.

Zeilen hinzufügen
Collect(Contacts, { firstname: "Patti", lastname: "Fernandez" })

Die Power Fx Repl antwortet folgendermaßen:

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

Führen Sie den folgenden Befehl aus, um Hilfe zu allen Befehlen zu erhalten, die in der Power Fx Repl verfügbar sind:

Help()

Die Power Fx Repl gibt das folgende Ergebnis zurück:

  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
>>

Anmerkung

Diese Befehle werden sich im Laufe der Zeit ändern und weitere Befehle enthalten. Sie sollten mit den dokumentierten derzeit verfügbaren Befehlen synchronisiert werden.

Exit

Verwenden Sie Exit() um den repl-Befehl zu beenden.

pac power-fx run

(Vorschauversion) Eine Datei aus Power Fx-Anweisungen ausführen

Beispiele

Die folgenden Beispiele zeigen die Verwendung des pac power-fx run Befehls.

Anmerkung

In jedem dieser Beispiele müssen Sie Folgendes tun:

  1. Erstellen Sie eine Datei mit dem Namen test-pfx.txt mit Power Fx Ausdrücken in einem Ordner auf Ihrem Computer, z. B. c:\test.

  2. Öffnen Sie ein Windows PowerShell-Fenster, navigieren Sie zum test Ordner und verwenden Sie den run Befehl, indem Sie die Datei angeben, die die Befehle enthält: pac power-fx run --file test-pfx.txt.

Um Dataverse-Tabellen zu verwenden, müssen Sie ein Authentifizierungsprofil erstellen und auswählen. Siehe pac auth create und pac auth select.

Wenn Sie eine Fehlermeldung erhalten, lesen Sie in der Problembehandlung nach.

Dataverse-Datensätze erstellen

  1. Fügen Sie test-pfx.txt den folgenden Text hinzu und speichern Sie die Datei.

    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. Führen Sie diesen Befehl aus:

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

    Sie erhalten eine Ausgabe, die ungefähr wie folgt aussieht:

    {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", ...}
    

Eine Dataverse-Tabelle abfragen

  1. Fügen Sie test-pfx.txt diesen Text hinzu und speichern Sie die Datei.

    FirstN(Contacts, 5)
    

    Dieser Befehl ruft die ersten fünf Kontakte von Dataverse ab.

  2. Führen Sie diesen Befehl aus:

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

    Sie erhalten eine Ausgabe, die ungefähr wie folgt aussieht:

    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>
    

PowerFx-Funktionen verwenden

  1. Fügen Sie test-pfx.txt den folgenden Text hinzu und speichern Sie die Datei.

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

    In diesem Beispiel werden Mid-, If- und Set-Power Fx-Funktionen verwendet.

  2. Führen Sie den folgenden Befehl aus:

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

    Sie erhalten eine Ausgabe, die ungefähr wie folgt aussieht:

    PS C:\test> pac power-fx run --file test-pfx.txt
    x: 1
    true
    Result: "X"
    PS C:\test>
    
  3. Fügen Sie den Parameter --echo hinzu und Sie erhalten diese Ausgabe:

    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>
    

Erforderliche Parameter für power-fx run

--file-f

Pfad der auszuführenden Datei

Optionale Parameter für power-fx run

--echo-e

True, wenn Eingabebefehle in der Ausgabe wiederholt werden sollen

Dieser Parameter benötigt keinen Wert. Es ist ein Umschalter.

--environment-env

Gibt das Ziel-Dataverse an. Der Wert kann eine GUID oder eine absolute HTTPS-URL sein. Wenn nichts angegeben wird, wird die für das aktuelle Authentifizierungsprofil ausgewählte aktive Organisation verwendet.

Problembehandlung

Im Folgenden finden Sie Schritte zur Behebung von Fehlern, die bei der Verwendung von pac power-fx-Befehlen auftreten können.

Fehler, wenn kein Dataverse Authentifizierungsprofil vorhanden ist

Sie erhalten eventuell eine Fehlermeldung wie diese, wenn Sie kein universelles Authentifizierungsprofil mit einer Dataverse-Umgebung verknüpft haben.

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.

Um solche Fehler zu beheben, erstellen Sie ein universelles Authentifizierungsprofil, das einer Dataverse-Umgebung zugeordnet ist.

  1. Führen Sie den Befehl pac auth list aus.

    Möglicherweise sehen Sie ein Ergebnis wie das folgende, das ein UNIVERSAL-Authentifizierungsprofil ohne URL enthält, was darauf hinweist, dass es mit einer Dataverse-Umgebung verknüpft ist.

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

    Dies reicht nicht aus, da keine Dataverse-Umgebung angegeben ist.

  2. Verwenden Sie pac auth create, um ein UNIVERSAL-Authentifizierungsprofil zu erstellen, das mit einer Dataverse-Umgebung verbunden ist.

    Anmerkung

    Verwenden Sie den --environment-Parameter mit dem environmentid-Wert. Finden Sie Ihre Umgebung-ID.

    Verwenden Sie nicht den --url-Parameter, da dadurch ein DATAVERSE-Profil statt eines UNIVERSAL-Profils erstellt wird.

    Zum Beispiel:

    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. Führen Sie pac auth list erneut aus. Sie sollten ein Ergebnis mit einem UNIVERSAL-Verbindungsprofil mit einer URL für Ihre Dataverse-Umgebung sehen.

    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. Wählen Sie die UNIVERSAL-Umgebung aus, um sie mit dem Befehl pac auth select zum Standardprofil zu machen.

    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>
    

Siehe auch

Microsoft Power Platform CLI-Befehlsgruppen
Microsoft Power Platform CLI-Übersicht