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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Типы данных

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

  • Текст
  • Десятичное число
  • Выбор Да/Нет (логическое значение)
  • Datetime

Типы данных «валюта», «целое число» и «выбор» (ранее — наборы параметров) в настоящее время не поддерживаются.

Типы функций

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

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

Функции

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

Abs

And

Day

Value *

If

Int

Len

Max

Mid

Min

Mod

Not

Or

Sum

Text *

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

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

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

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

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

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

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

  • Столбцы формул не поддерживают использование в формуле связанного столбца валюты в таблице, как в этом примере. Столбец формулы с неподдерживаемой формулой годового дохода организации
  • Прямое использование столбцов валюты и обменного курса в формуле в настоящее время не поддерживается. Использование столбцов валюты и обменного курса достигается с помощью функции 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() с одним аргументом типа "Число". Число может быть целым, десятичным или валютой. Столбец формулы с неподдерживаемой функцией text с числовым аргументом

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

    • В строковых функциях. Это строковые функции, размещаемые там, где ожидается текстовый аргумент: 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() имеет поведение, независимое от часового пояса.
  • Вы можете задать свойство точности для десятичных столбцов.

Функции Power Fx в настоящий момент не поддерживаются

  • Power
  • Sqrt
  • Exp
  • Ln
  • ^ (оператор)

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

  • Целое число
  • Варианты выбора (кроме выбора «Да/Нет»)
  • Валюта.

См. также

Типы столбцов

Обзор Microsoft Power Fx

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