Основы Power Fx: главные формулы для Power Apps

Power Fx является языком формул, близким к Excel, лежащим в основе Power Apps. Обзор важнейших функций, таких как Filter, LookUp и Patch.

Power Fx это язык формул, лежащий в основе Power Apps и близкий к Excel, с помощью которого можно управлять доступом к данным, логикой и поведением интерфейса в Canvas-приложениях, при этом пользователям не нужно изучать классический язык программирования. Тот, кто хоть раз писал формулу в Excel, сразу узнает синтаксис Filter, LookUp или If. По состоянию на август 2026 года.

Как Power Fx связан с Excel?

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

Какие функции чаще всего нужны на практике?

Из официального справочника функций для повседневной работы наиболее актуальны следующие функции:

  • Filter: Возвращает отфильтрованную таблицу по одному или нескольким критериям, например все открытые заказы клиента.
  • LookUp: Находит ровно одну запись по заданному критерию, например подходящего контактного специалиста по номеру клиента.
  • Patch: Изменяет или создает запись в источнике данных, а также может использоваться вне источника данных для объединения записей.
  • Collect и ClearCollect: Создают или очищают коллекцию и заполняют ее записями, что удобно для временного хранения данных в рамках сеанса приложения.
  • ForAll: Вычисляет значения или выполняет действия для каждой записи таблицы.
  • If и Switch: Управляют ветвлением, при этом Switch при большом числе возможных значений нагляднее, чем вложенные функции If.
  • Navigate: Переключает отображаемый экран в приложении.

Чем отличаются Set, UpdateContext и Patch?

Эти три функции часто путают, поскольку все они задают значения: Set устанавливает глобальную переменную, действующую в рамках всего приложения. UpdateContext задает контекстную переменную, видимую только на текущем экране. Patch же действительно записывает данные в источник данных, такой как Dataverse, SharePoint или таблицу SQL, и поэтому действует за пределами сеанса приложения. Если нужна переменная только в рамках одного экрана, следует использовать UpdateContext вместо Set, чтобы избежать побочных эффектов в масштабе всего приложения.

Где заканчивается No-Code и начинается Power Fx?

Панель свойств Power Apps предлагает для большинства форматирований и стандартных действий элементы управления без кода, например для цветов или сортировки галереи. Как только требование выходит за эти рамки, например сортировка по нескольким столбцам или условное окрашивание, интерфейс сразу переводит в строку формул. По данным Microsoft, это сделано намеренно: инструменты No-Code в фоновом режиме читают и записывают Power Fx, поэтому новички не упираются в ограничение функциональности, а постепенно осваивают синтаксис формул. Продвинутые команды могут также выносить формулы Power Fx в файлы YAML и управлять ими через системы контроля версий, такие как Git, что облегчает переход от No-Code к профессиональной разработке.

Кому стоит начать изучать Power Fx?

Тот, кто уже пользуется формулами Excel, уже усвоил большую часть образа мышления. Затраченные усилия окупаются прежде всего тогда, когда приложение выходит за рамки простых форм и объединяет, фильтрует или условно отображает данные из нескольких источников. Для простых приложений согласования или сбора данных часто достаточно нескольких формул, таких как Filter, Patch и If. В сфере консультирования по автоматизации мы часто видим, что освоение формул является главным рычагом, превращающим приложение из жесткого шаблона в по-настоящему полезное приложение.

Частые вопросы о Power Fx

Является ли Power Fx самостоятельным языком программирования?

Power Fx это функциональный, декларативный язык формул, который в настоящее время выделяется из Power Apps и постепенно становится доступным для других продуктов Power Platform, а также в качестве проекта с открытым исходным кодом. Это не универсальный язык программирования, как C# или Python, а язык, предназначенный для формул и логики приложений.

Нужно ли изучать Power Fx, чтобы пользоваться Power Apps?

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

В чем разница между Filter и LookUp?

Filter всегда возвращает таблицу, даже если подходит только одна запись, тогда как LookUp возвращает ровно одну отдельную запись. Для отображения списка правильным выбором является Filter, а для отдельного значения, например адреса клиента, более подходящим и быстрым вариантом является LookUp.

Можно ли версионировать формулы Power Fx как код?

Да, для профессиональных команд формулы можно сохранять в виде исходных файлов YAML и помещать под контроль версий в таких системах, как Git или Azure DevOps, что облегчает процессы ревью и совместную работу с командами разработчиков.

Симон Гловик, основатель NordFlux
Об авторе

Основатель NordFlux. Семь лет опыта, от веба и SEO до автоматизации в масштабах концерна, сегодня прагматично для среднего бизнеса и с немецким суверенитетом данных.

Сертификаты

  • Сертифицирован Microsoft — PL-900 и AZ-900
  • Сертифицирован UiPath — Automation Developer Associate
Все статьи
Бесплатный первичный анализ

Конкретные вопросы по автоматизации или КИ?

В рамках бесплатного первичного анализа мы напрямую обсудим Ваш случай. Без обязательств.