Поделиться через


pac power-fx

(предварительная версия) Команды для работы с Power Fx

Используйте эти команды для взаимодействия с данными в Dataverse с помощью командной строки или скрипта. Уменьшите время и сложность операций Dataverse с помощью Power Fx.

Вы можете использовать формулы, перечисленные в справочнике по формулам — Power Platform CLI.

Commands

Command Description
pac power-fx repl (предварительная версия) Запуск интерактивного цикла чтения Power FxEval-Print
pac power-fx run (предварительная версия) Запуск файла инструкций Power Fx

pac power-fx repl

(предварительная версия) Запуск интерактивного цикла чтения Power FxEval-Print

Замечание

Если вы установили Интерфейс командной строки Power Platform с помощью WINDOWS MSI, существует известная проблема, из-за pac power-fx repl которой оболочка может перестать отвечать при использовании этой команды.

Необязательные параметры для power-fx repl

--environment -env

Указывает целевой объект Dataverse. Это значение может быть URL-адресом GUID или абсолютным URL-адресом HTTPS. Если это не указано, будет использоваться активная организация, выбранная для текущего профиля проверки подлинности.

Замечания

Эта команда предоставляет оболочку для использования формул, перечисленных в справочнике по формулам — Power Platform CLI.

Запустите repl Power Fx, выполнив следующую команду:

pac power-fx repl

После этого можно запустить команды Power Fx.

Примеры

В следующих примерах показано использование pac power-fx repl команды.

Добавление строк
Collect(Contacts, { firstname: "Patti", lastname: "Fernandez" })

Power Fx repl отвечает следующим образом:

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

Выполните следующую команду, чтобы получить справку обо всех командах, доступных в Power Fx repl:

Help()

Repl Power Fx отвечает на следующие выходные данные:

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

Замечание

Эти команды будут меняться со временем, чтобы включить дополнительные команды. Он должен быть синхронизирован с документируемыми в настоящее время доступными командами.

Exit

Используется Exit() для выхода из repl команды.

pac power-fx run

(предварительная версия) Запуск файла инструкций Power Fx

Примеры

В следующих примерах показано использование pac power-fx run команды.

Замечание

В каждом из этих примеров необходимо:

  1. Создайте файл test-pfx.txt с выражениями Power Fx в папке на компьютере, например c:\test.

  2. Откройте окно Windows PowerShell, перейдите в test папку и используйте run команду, указывающую файл, содержащий команды: pac power-fx run --file test-pfx.txt

Чтобы использовать таблицы Dataverse, необходимо создать и выбрать профиль проверки подлинности. См. pac команду "Создать проверку подлинности " и pac выбрать проверку подлинности.

Если вы получите проверку ошибок при устранении неполадок.

Создание записей Dataverse

  1. Добавьте следующий текст в test-pfx.txt файл и сохраните его.

    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. Выполните следующую команду:

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

    Выходные данные можно ожидать следующим образом:

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

Запрос таблицы Dataverse

  1. Добавьте этот текст в test-pfx.txt файл и сохраните его.

    FirstN(Contacts, 5)
    

    Эта команда извлекает первые пять контактов из Dataverse.

  2. Выполните следующую команду:

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

    Выходные данные можно ожидать следующим образом:

    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

  1. Добавьте следующий текст в test-pfx.txt файл и сохраните его.

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

    В этом примере используются функции Mid, If и Set PowerFx.

  2. Выполните следующую команду:

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

    Выходные данные можно ожидать следующим образом:

    PS C:\test> pac power-fx run --file test-pfx.txt
    x: 1
    true
    Result: "X"
    PS C:\test>
    
  3. Добавьте этот параметр и вы можете ожидать следующее --echo :

    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>
    

Обязательные параметры для power-fx run

--file -f

Путь к файлу для выполнения

Необязательные параметры для power-fx run

--echo -e

Значение True, если входные команды должны вернуться к выходным данным

Этот параметр не требует значения. Это переключатель.

--environment -env

Указывает целевой объект Dataverse. Это значение может быть URL-адресом GUID или абсолютным URL-адресом HTTPS. Если это не указано, будет использоваться активная организация, выбранная для текущего профиля проверки подлинности.

Устранение неполадок

Ниже приведены действия по устранению ошибок, которые могут возникнуть при использовании pac power-fx команд.

Ошибка при отсутствии профиля проверки подлинности Dataverse

Такую ошибку можно получить, если у вас нет универсального профиля проверки подлинности, связанного с средой 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.

Чтобы устранить такие ошибки, создайте универсальный профиль проверки подлинности, связанный с средой Dataverse.

  1. Запустите список проверки подлинности командpac.

    Вы можете увидеть результат, как показано ниже, включающее UNIVERSAL профиль проверки подлинности без URL-адреса, указывающего, что он связан с средой Dataverse.

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

    Это недостаточно, так как среда Dataverse не указана.

  2. Используйте pac проверку подлинности, чтобы создать профиль проверки подлинности, подключенный UNIVERSAL к среде Dataverse.

    Замечание

    --environment Используйте параметр, используя значение environmentid. Найдите идентификатор среды.

    Не используйте --url параметр, так как это создаст DATAVERSE профиль, а не UNIVERSAL профиль.

    Рассмотрим пример.

    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. Снова запустите pac список проверки подлинности . Вы увидите результат с UNIVERSAL профилем подключения с URL-адресом среды 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. UNIVERSAL Выберите среду, чтобы сделать ее профилем по умолчанию с помощью pac команды выбора проверки подлинности.

    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>
    

См. также

Группы команд Командной строки Microsoft Power Platform
Обзор интерфейса командной строки Microsoft Power Platform