Delen via


pac power-fx

(Preview) Opdrachten voor het werken met Power Fx

Gebruik deze opdrachten om te communiceren met gegevens in Dataverse met behulp van een opdrachtregel of script. Verminder de tijd en complexiteit van uw Dataverse-bewerkingen met behulp van Power Fx.

U kunt de formules gebruiken die worden vermeld in de formuleverwijzing - Power Platform CLI.

Commands

Command Description
pac power-fx repl (Preview) Interactieve Power Fx Read-Eval-Print Loop starten
pac power-fx run (Preview) Een bestand met Power Fx-instructies uitvoeren

pac power-fx repl

(Preview) Interactieve Power Fx Read-Eval-Print Loop starten

Opmerking

Als u Power Platform CLI hebt geïnstalleerd met Windows MSI, is er een bekend probleem waarbij pac power-fx repl de shell mogelijk niet meer reageert wanneer u deze opdracht gebruikt.

Optionele parameters voor power-fx repl

--environment -env

Hiermee geeft u de doel Dataverse. De waarde kan een GUID- of absolute HTTPS-URL zijn. Wanneer dit niet is opgegeven, wordt de actieve organisatie gebruikt die is geselecteerd voor het huidige verificatieprofiel.

Opmerkingen

Deze opdracht biedt een shell voor het gebruik van formules die worden vermeld in formuleverwijzing - Power Platform CLI.

Start de Power Fx-repl door de volgende opdracht uit te voeren:

pac power-fx repl

Daarna kunt u Power Fx-opdrachten uitvoeren.

Voorbeelden

In de volgende voorbeelden ziet u het gebruik van de pac power-fx repl opdracht.

Rijen toevoegen
Collect(Contacts, { firstname: "Patti", lastname: "Fernandez" })

De Power Fx-repl reageert met het volgende:

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

Voer de volgende opdracht uit om hulp te krijgen over alle opdrachten die beschikbaar zijn in Power Fx repl:

Help()

De Power Fx-repl reageert met de volgende uitvoer:

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

Opmerking

Deze opdrachten worden na verloop van tijd gewijzigd om meer opdrachten op te nemen. Deze moet worden gesynchroniseerd met de gedocumenteerde opdrachten die momenteel beschikbaar zijn.

Exit

Gebruik Exit() deze opdracht om de repl opdracht af te sluiten.

pac power-fx run

(Preview) Een bestand met Power Fx-instructies uitvoeren

Voorbeelden

In de volgende voorbeelden ziet u het gebruik van de pac power-fx run opdracht.

Opmerking

In elk van deze voorbeelden moet u het volgende doen:

  1. Maak een bestand met de naam test-pfx.txt Power Fx-expressies in een map op uw computer, zoals c:\test.

  2. Open een Windows PowerShell-venster, navigeer naar de test map en gebruik de run opdracht die het bestand opgeeft dat de opdrachten bevat: pac power-fx run --file test-pfx.txt

Als u Dataverse-tabellen wilt gebruiken, moet u een verificatieprofiel maken en selecteren. Zie pac-verificatie maken en pac-verificatie selecteren.

Als u een foutmelding krijgt, controleert u het oplossen van problemen.

Dataverse-records maken

  1. Voeg de volgende tekst toe aan test-pfx.txt het bestand en sla het op.

    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. Voer deze opdracht uit:

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

    U kunt uitvoer als volgt verwachten:

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

Een query uitvoeren op een Dataverse-tabel

  1. Voeg deze tekst toe aan test-pfx.txt het bestand en sla het op.

    FirstN(Contacts, 5)
    

    Met deze opdracht worden de eerste vijf contactpersonen opgehaald uit Dataverse.

  2. Voer deze opdracht uit:

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

    U kunt uitvoer als volgt verwachten:

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

  1. Voeg de volgende tekst toe aan test-pfx.txt het bestand en sla het op.

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

    In dit voorbeeld worden de functies Mid, If en Set Power Fx gebruikt.

  2. Voer de volgende opdracht uit:

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

    U kunt uitvoer als volgt verwachten:

    PS C:\test> pac power-fx run --file test-pfx.txt
    x: 1
    true
    Result: "X"
    PS C:\test>
    
  3. Voeg de --echo parameter toe en u kunt deze uitvoer verwachten:

    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>
    

Vereiste parameters voor power-fx-uitvoering

--file -f

Pad van het bestand dat moet worden uitgevoerd

Optionele parameters voor power-fx-uitvoering

--echo -e

Waar als invoeropdrachten moeten worden teruggezet naar uitvoer

Voor deze parameter is geen waarde vereist. Het is een switch.

--environment -env

Hiermee geeft u de doel Dataverse. De waarde kan een GUID- of absolute HTTPS-URL zijn. Wanneer dit niet is opgegeven, wordt de actieve organisatie gebruikt die is geselecteerd voor het huidige verificatieprofiel.

Probleemoplossingsproces

Hieronder vindt u stappen voor het oplossen van fouten die kunnen optreden bij het gebruik van pac power-fx opdrachten.

Fout wanneer er geen Dataverse-verificatieprofiel bestaat

U kunt een dergelijke fout krijgen wanneer u geen universeel verificatieprofiel hebt dat is gekoppeld aan een Dataverse-omgeving.

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.

Als u dergelijke fouten wilt oplossen, maakt u een universeel verificatieprofiel dat is gekoppeld aan een Dataverse-omgeving.

  1. Voer de pac-verificatielijst van de opdracht uit.

    Mogelijk ziet u een resultaat als het volgende met een UNIVERSAL verificatieprofiel zonder URL dat aangeeft dat het is gekoppeld aan een Dataverse-omgeving.

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

    Dit is niet voldoende omdat er geen Dataverse-omgeving is opgegeven.

  2. Gebruik pac-verificatie maken om een UNIVERSAL verificatieprofiel te maken dat is verbonden met een Dataverse-omgeving.

    Opmerking

    Gebruik de --environment parameter met behulp van de omgevings-id-waarde. Zoek uw omgevings-id.

    Gebruik de --url parameter niet omdat hiermee een DATAVERSE profiel wordt gemaakt in plaats van een UNIVERSAL profiel.

    Voorbeeld:

    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. Voer de pac-verificatielijst opnieuw uit. Als het goed is, ziet u een resultaat met UNIVERSAL een verbindingsprofiel met een URL voor uw Dataverse-omgeving.

    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. Selecteer de UNIVERSAL omgeving om het standaardprofiel te maken met behulp van de opdracht 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>
    

Zie ook

Microsoft Power Platform CLI-opdrachtgroepen
Overzicht van Microsoft Power Platform CLI