Работа со столбцами формул
Столбцы формул — это столбцы, которые отображают вычисленное значение в таблице Microsoft Dataverse. Формулы используют Power Fx — мощный, но удобный для человека язык программирования. Формулы в столбце формул Dataverse создаются так же, как вы бы создали формулу в Microsoft Excel. По мере ввода Intellisense предлагает функции и синтаксис и даже помогает исправлять ошибки.
Добавление столбца формулы
Выполните вход в Power Apps на сайте https://make.powerapps.com.
Выберите Таблицы, затем выберите таблицу, в которую требуется добавить столбец формул. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.
Выберите область Столбцы , а затем выберите Новый столбец.
Введите следующие данные:
- A отображаемое имя для столбца.
- При желании введите Описание столбца.
Для Типа данных выберите fx Формула.
Введите формулу или воспользуйтесь предложениями по формуле:
Введите Power Fx формулу в поле Формула . Дополнительная информация: Введите формулу
- Выберите дополнительные свойства:
- Выберите Доступен для поиска , если хотите, чтобы этот столбец был доступен в представлениях, диаграммах, панелях мониторинга и расширенном поиске.
- Дополнительные параметры:
- Если результатом вычисления формулы является десятичное значение, разверните Дополнительные параметры , чтобы изменить количество точек точности от 0 до 10. Значение по умолчанию равно 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"
)
Проверьте вычисленную формулу столбца Описание рейтинга , которая выглядит следующим образом.
Ответственный ИИ
Информацию об ответственном использовании ИИ можно найти на следующих ресурсах:
- FAQ по созданию приложений и таблиц посредством разговора
- Часто задаваемые вопросы об ответственном использовании ИИ в Power Apps
Оператора
В столбце формулы можно использовать следующие операторы:
+, -, *, /, %, in, exactin, &
Для получения дополнительной информации перейдите в раздел Операторы Power Apps.
Типы данных
В столбце формулы могут отображаться следующие типы данных:
- Текст
- Десятичное число
- Целое число
- Плавать
- логический Выбор (Да/Нет)
- Выбор (ранее наборы опций)
- Datetime
Дополнительная информация: Создание столбцов формул с десятичными, целыми, плавающими и выборочными типами данных\
Тип данных валюты в настоящее время не поддерживается.
Типы функций
В столбце формулы можно использовать следующие типы функций:
- Decimal
- String
- Логический
- Выбранный вариант
- Дата и время (TZI)
- DateTime (часовой пояс пользователя) (ограничено сравнениями с другими значениями часового пояса пользователя и функциями DateAdd и DateDiff)
- DateTime (только дата) (ограничено сравнениями с другими значениями "только дата" и функциями DateAdd и DateDiff)
- Валюта.
- Целое число
Функции
Для скалярных функций, которые можно использовать в столбце формул, перейдите в раздел Справочник формул - Dataverse Столбцы формул.
* Функции Текст и Значение работают только с целыми числами, в которых не используется десятичный разделитель. Десятичный разделитель зависит от языкового стандарта. Поскольку столбцы формул оцениваются без знания о языковом стандарте, невозможно правильно интерпретировать или сгенерировать десятичный разделитель.
* Аргумент 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()
функции с одним аргументом типа 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"
Зависящие от локали лексемы форматирования, такие как "." и "," не поддерживаются в столбцах формул.
Проверка диапазона в столбцах формул
- Вы не можете задать свойства Минимальное значение или Максимальное значение для столбца формулы.
- Все внутренние вычисления должны находиться в пределах диапазона 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()
независимое от часового пояса поведение. - Вы можете задать свойство точности для десятичных столбцов.
- Значение типа данных формулы по умолчанию установлено на Десятичное для формул, возвращающих числовые значения.
- Обновление формата столбца формулы целого числа не поддерживается.
Столбцы формул с типами данных, которые невозможно создать
- Валюта.
См. также
Вычисляемые столбцы, столбцы формул и свертки с использованием кода