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


Работа со столбцами формул

Столбцы формул — это столбцы, которые отображают вычисленное значение в таблице Microsoft Dataverse. Формулы используют Power Fx — мощный, но удобный для человека язык программирования. Формулы в столбце формул Dataverse создаются так же, как вы бы создали формулу в Microsoft Excel. По мере ввода Intellisense предлагает функции и синтаксис и даже помогает исправлять ошибки.

Добавление столбца формулы

  1. Выполните вход в Power Apps на сайте https://make.powerapps.com.

  2. Выберите Таблицы, затем выберите таблицу, в которую требуется добавить столбец формул. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.

  3. Выберите область Столбцы , а затем выберите Новый столбец.

  4. Введите следующие данные:

    • A отображаемое имя для столбца.
    • При желании введите Описание столбца.
  5. Для Типа данных выберите fx Формула.

  6. Введите формулу или воспользуйтесь предложениями по формуле:

    Введите Power Fx формулу в поле Формула . Дополнительная информация: Введите формулу


  1. Выберите дополнительные свойства:
    • Выберите Доступен для поиска , если хотите, чтобы этот столбец был доступен в представлениях, диаграммах, панелях мониторинга и расширенном поиске.
    • Дополнительные параметры:
      • Если результатом вычисления формулы является десятичное значение, разверните Дополнительные параметры , чтобы изменить количество точек точности от 0 до 10. Значение по умолчанию равно 2.
  2. Выберите Сохранить.

Введите формулу

В следующем примере создается столбец формулы с именем Общая цена. Столбец Количество единиц представляет собой тип данных «целое число». Столбец Цена имеет десятичный тип данных.

Скриншот формулы определение столбца.

В столбце формулы отображается результат умножения Цены на Количество единиц.

Скриншот записи со столбцом формулы.

Тип столбца определяется введенной формулой. Вы не можете изменить тип столбца после его создания. Это означает, что вы можете изменить формулу после создания столбца только в том случае, если это не приведет к изменению тип столбца.

Например, формула цена * скидка создает тип столбца числа. Вы можете изменить цену * скидку на цену * (скидка + 10%) , поскольку это не изменит тип столбца. Однако вы не можете изменить цену * скидку на текст(цена * скидка) , поскольку для этого потребуется изменить тип столбца на строку.

Получить предложения формул (предварительная версия)

[Данный раздел посвящен предварительному выпуску и может быть изменен.]

Опишите то, что должна делать формула, и получите сгенерированный ИИ результаты. Предложения по формулам принимают вводимые вами данные на естественном языке для интерпретации и предложения формул Power Fx с использованием модели ИИ на основе GPT.

Внимание!

Это предварительная версия функции, которая доступна только в регионах США.

Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Они доступны перед официальным выпуском, чтобы клиенты могли досрочно получить доступ и предоставить отзывы.

В настоящее время поддерживаются предложения формул, ссылающиеся на одну таблицу. Предложения формул, ссылающихся на столбец в связанной таблице, не поддерживаются.

Предварительные требования

Чтобы включить эту функцию, необходимо включить параметр среды Предложения ИИ для столбцов формул . Дополнительная информация: Предложения ИИ для столбцов формул

Пример ввода на естественном языке

Представьте себе, что есть столбец Рейтинг клиентов , в котором отображается их рейтинг по аккаунту. Пример столбца рейтинга клиентов

В поле Получить предложения по формуле введите формулу на естественном языке, например Если рейтинг в столбце рейтинга равен или больше 5, то укажите как «Хорошо», если меньше 5, то укажите как «Средне», а если значение пустое или равно нулю, то отобразите как «Плохо», а затем нажмите кнопку со стрелкой (ввод).

Затем скопируйте Предлагаемую формулу. Предлагаемая формула

И вставьте его в поле Введите формулу . Выберите Сохранить. Вставьте формулу в поле «Введите формулу».

Вот как выглядит формула при вставке.

Switch(
    ThisRecord.'Customer Rating',
    Blank(), "Bad",
    0, "Bad",
    1, "Average",
    2, "Average",
    3, "Average",
    4, "Average",
    5, "Good",
    6, "Good",
    7, "Good",
    8, "Good",
    9, "Good",
    10, "Good"
)

Проверьте вычисленную формулу столбца Описание рейтинга , которая выглядит следующим образом.

Проверьте результаты для столбца формулы

Ответственный ИИ

Информацию об ответственном использовании ИИ можно найти на следующих ресурсах:

Оператора

В столбце формулы можно использовать следующие операторы:
+, -, *, /, %, in, exactin, &

Для получения дополнительной информации перейдите в раздел Операторы Power Apps.

Типы данных

В столбце формулы могут отображаться следующие типы данных:

Дополнительная информация: Создание столбцов формул с десятичными, целыми, плавающими и выборочными типами данных\

Тип данных валюты в настоящее время не поддерживается.

Типы функций

В столбце формулы можно использовать следующие типы функций:

  • Decimal
  • String
  • Логический
  • Выбранный вариант
  • Дата и время (TZI)
  • DateTime (часовой пояс пользователя) (ограничено сравнениями с другими значениями часового пояса пользователя и функциями DateAdd и DateDiff)
  • DateTime (только дата) (ограничено сравнениями с другими значениями "только дата" и функциями DateAdd и DateDiff)
  • Валюта.
  • Целое число

Функции

Для скалярных функций, которые можно использовать в столбце формул, перейдите в раздел Справочник формул - Dataverse Столбцы формул.

* Функции Текст и Значение работают только с целыми числами, в которых не используется десятичный разделитель. Десятичный разделитель зависит от языкового стандарта. Поскольку столбцы формул оцениваются без знания о языковом стандарте, невозможно правильно интерпретировать или сгенерировать десятичный разделитель.

* Аргумент StartOfWeek не поддерживается для функций WeekNum и Weekday в столбцах формул.

Пример функции

Description Пример
Получить значение даты DateAdd(UTCNow(),-1,TimeUnit.Years)

Рекомендации и ограничения

В этом разделе описаны рекомендации и известные ограничения, связанные с использованием столбцов формул Dataverse.

Проверка использования полей валюты

  • Столбцы формул не поддерживают использование в формуле связанного столбца валюты в таблице, как в этом примере. Столбец формулы с неподдерживаемой формулой Account.Annual Revenue
  • Прямое использование столбцов валюты и обменного курса в формуле в настоящее время не поддерживается. Использование столбцов валюты и обменного курса достигается с помощью Decimal функции, такой как Decimal(currency column) или Decimal(exchange rate). Функция Decimal следит за тем, чтобы выходные данные находились в допустимом диапазоне. Если значение столбца валюты или обменного курса превышает допустимый диапазон, формула возвращает значение NULL.
  • Столбцы базовой валюты не поддерживаются в выражениях столбцов формул, поскольку они являются системными столбцами, используемыми для целей отчетности. Если вам нужен аналогичный результат, вы можете использовать валюту тип столбца вместе с комбинацией столбцов обменного курса как CurrencyField_Base = (CurrencyField / ExchangeRate).

Проверка использования столбцов даты и времени

  • Поведение столбцов формулы даты и времени можно обновить только, когда оно не используется в другом столбце формулы.
  • Для столбцов формулы даты и времени при использовании функции DateDiff убедитесь, что:
    • Столбец локального поведения пользователя нельзя сравнивать или использовать со столбцом DateTime(TZI)/DateOnly поведения.
    • Столбцы поведения "Часовой пояс пользователя" можно сравнивать или использовать только с другим столбцом поведения "Часовой пояс пользователя".
    • DateTime(TZI) Столбцы поведения можно сравнивать или использовать в DateDiff функциях с другим DateTime(TZI)/DateOnly столбцом поведения.
    • DateOnly Столбцы поведения можно сравнивать или использовать в функции DateDiff с другим DateTime(TZI)/DateOnly столбцом поведения. Неподдерживаемая конфигурация даты и времени с формульным столбцом
  • Столбцы даты и времени и функции даты и времени UTCNow(), Now() не могут быть переданы в качестве параметра строковым функциям. Столбец формулы с неподдерживаемым параметром даты и времени, переданным в формулу

Использование столбца формулы в полях свертки

  • Простой столбец формулы — это столбец, в котором формула использует столбцы из одной и той же записи или использует жестко закодированные значения. Для столбцов свертки столбцы формул должны быть простыми столбцами формул, такими как столбец свертки в этом примере. Пример простого столбца формулы для столбца сверткиПример конфигурации столбца свертки
  • Столбец формулы, который зависит от функций, привязанных ко времени UTCNow() и UTCToday() не может использоваться в поле свертки.

Рекомендации по функции text в Power Fx

  • Столбцы формул не поддерживают Text() функции с одним аргументом типа Number. Число может быть целым, десятичным или валютой. Столбец формулы с неподдерживаемой текстовой функцией с числовым аргументом

  • Столбцы формул не поддерживают использование чисел в следующих конфигурациях:

    • В строковых функциях. Это строковые функции, размещаемые там, где ожидается текстовый аргумент: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute и replace.
    • В неявных формулах, таких как 12 & "foo", или 12 & 34, или "foo" & 12.
    • Внутреннее приведение числа в текст не поддерживается. Мы рекомендуем использовать Text(Number, Format) для преобразования числа в текст. В случае, когда аргумент передается в функцию, аргумент не поддерживается. String Text Format
    • Вот пример использования функции Text для преобразования числа в текст и добавления к нему строки:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Зависящие от локали лексемы форматирования, такие как "." и "," не поддерживаются в столбцах формул. Неподдерживаемый токен форматирования, специфичный для локали, переданный в качестве параметра функции Text в формуле

Проверка диапазона в столбцах формул

  • Вы не можете задать свойства Минимальное значение или Максимальное значение для столбца формулы.
  • Все внутренние вычисления должны находиться в пределах диапазона Dataverse для столбцов формул десятичного типа (от -100000000000 до 100000000000).
  • Жестко запрограммированное литеральное значение, введенное в строку формул, должно находиться в пределах диапазона Dataverse.
  • Если есть числовой столбец со значением NULL, то в промежуточной операции он считается равным 0. Например, a+b+c and If a = null, b=2, c=3 тогда столбец формулы даст 0 + 2 + 3 = 5.
    • Такое поведение отличается от вычисляемых столбцов в данном случае, поскольку вычисляемые столбцы дают null + 2 + 3 = null.

Общая проверка диапазона в столбцах формул

  • Столбцы формул могут ссылаться на другие столбцы формул, но столбец формулы не может ссылаться на себя.
  • Столбцы формул не поддерживают циклические цепочки, такие как F1 = F2 + 10, F2 = F1 * 2.
  • Максимальная длина выражения формулы в столбцах формулы — 1000 символов.
  • Максимальная допустимая глубина столбцов формул — 10. Глубина определяется как цепочка столбцов формулы, ссылающихся на другие столбцы формулы или свертки.
    • Например, table E1, F1 = 1*2, table E2, F2 - E1*2. В данном примере глубина F2. равна 1.
  • В приложениях на основе моделей сортировка отключена для:
    • Столбец формулы, содержащий столбец связанной таблицы.
    • Столбец формулы, содержащий логический столбец (например, столбец адреса).
    • Столбец формулы, содержащий другой вычисляемый столбец или столбец формулы.
    • Столбец формулы, использующий функцию, привязанную ко времени UTCNow().
  • Столбцы типа "Целое число" с форматом "Язык, Длительность, Часовой пояс" не поддерживаются в столбцах формул.
  • Столбцы типа String с форматом "Электронная почта, Текстовая область, Тикер, URL-адрес" не поддерживаются в столбцах формул.
  • Столбцы формул не отображают значения, когда мобильное приложение находится в автономном режиме Mobile Offline.
  • В столбцах формул невозможно запускать рабочие процессы или подключаемые модули.
  • Мы не рекомендуем использовать вычисляемые столбцы в столбцах формул и наоборот.
  • Правила поиска повторяющихся данных для столбцов формул не запускаются.
  • Функцию Now можно использовать со столбцами формул. Now() имеет локальное поведение пользователя и UTCNow() независимое от часового пояса поведение.
  • Вы можете задать свойство точности для десятичных столбцов.
  • Значение типа данных формулы по умолчанию установлено на Десятичное для формул, возвращающих числовые значения.
  • Обновление формата столбца формулы целого числа не поддерживается.

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

  • Валюта.

См. также

Типы колонн

Обзор Microsoft Power Fx

Вычисляемые столбцы, столбцы формул и свертки с использованием кода