Операторы и типы данных в PowerAppsOperators and data types in PowerApps

Некоторые из этих операторов зависят от языка, используемого на компьютере автора.Some of these operators are dependent on the language of the author. Дополнительные сведения см. в статье Глобальная поддержка.See Global apps for more information.

СимволSymbol ТипType СинтаксисSyntax ОписаниеDescription
.. Выбор свойстваProperty Selector Slider1.Value
Color.Red
Acceleration.X
Slider1.Value
Color.Red
Acceleration.X
Извлекает свойство из таблицы, элемента управления, сигнала или перечисления.Extracts a property from a table, control, signal, or enumeration. Вы можете также использовать символ !For backwards compatibility, ! для обеспечения обратной совместимости.may also be used.
..
[или , в зависимости от языка][or , depending on the language]
Десятичный разделительDecimal separator 1.231.23
[или 1,23 в зависимости от языка][or 1,23 depending on the language]
Разделитель между целой и дробной частью числа.Separator between whole and fractional parts of a number. Символ зависит от языка.The character is dependent on the language.
( )( ) Круглые скобкиParentheses Filter(T, A < 10)Filter(T, A < 10)

(1 + 2) * 3(1 + 2) * 3
Принудительно применяет порядок приоритета и группирует подвыражения в большом выражении.Enforces precedence order, and groups sub-expressions in a larger expression
+ Арифметические операторыArithmetic operators 1 + 21 + 2 СложениеAddition
-   2 – 12 - 1 Символ вычитания и знакSubtraction and sign
\*   2 * 32 * 3 УмножениеMultiplication
/   2 / 32 / 3 Деление (см. также сведения о функции Mod)Division (also see the Mod function)
^   2 ^ 32 ^ 3 Возведение в степень (эквивалентно функции Power)Exponentiation, equivalent to the Power function
%   20%20% Процент (эквивалентно "* 1/100")Percentage (equivalent to "* 1/100")
= Операторы сравненияComparison operators Price = 100Price = 100 РавноEqual to
>   Price > 100Price > 100 БолееGreater than
>=   Price >= 100Price >= 100 Больше или равноGreater than or equal to
<   Price < 100Price < 100 МенееLess than
<=   Price <= 100Price <= 100 Меньше или равноLess than or equal to
<>   Price <> 100Price <> 100 Не равноNot equal to
& Оператор объединения строкString concatenation operator "hello" & " " & "world""hello" & " " & "world" Непрерывно отображает несколько строк.Makes multiple strings appear continuous
&&или And&& or And Логические операторыLogical operators Price < 100 && Slider1.Value = 20Price < 100 && Slider1.Value = 20
или Price < 100 And Slider1.Value = 20or Price < 100 And Slider1.Value = 20
Логическая конъюнкция (эквивалентна функции And).Logical conjunction, equivalent to the And function
|| или Or|| or Or   Price < 100 || Slider1.Value = 20 или Price < 100 Or Slider1.Value = 20Price < 100 || Slider1.Value = 20 or Price < 100 Or Slider1.Value = 20 Логическое сложение, эквивалентное функции OrLogical disjunction, equivalent to the Or function
!! или Notor Not   !(Price < 100) или Not (Price < 100)!(Price < 100) or Not (Price < 100) Логическое отрицание (эквивалентно функции Not).Logical negation, equivalent to the Not function
exactinexactin Операторы принадлежностиMembership operators Gallery1.Selected exactin SavedItemsGallery1.Selected exactin SavedItems Принадлежит коллекции или таблице.Belonging to a collection or a table
exactinexactin   "Windows" exactin "To display windows in the Windows operating system...""Windows" exactin “To display windows in the Windows operating system...” Тестирование подстроки (с учетом регистра).Substring test (case-sensitive)
inin   Gallery1.Selected in SavedItemsGallery1.Selected in SavedItems Принадлежит коллекции или таблице.Belonging to a collection or a table
inin   "The" in "The keyboard and the monitor...""The" in "The keyboard and the monitor..." Тестирование подстроки (без учета регистра).Substring test (case-insensitive)
@ Оператор устранения неоднозначностиDisambiguation operator MyTable [@fieldname]MyTable[@fieldname] Устранение неоднозначности для поля.Field disambiguation
@   [@MyVariable][@MyVariable] Глобальное устранение неоднозначности.Global disambiguation
,,
[или ; в зависимости от языка][or ; depending on the language]
Разделитель элементов спискаList separator If(X < 10, "Low", "Good")If( X < 10, "Low", "Good" )
{X: 12, Y: 32}{ X: 12, Y: 32 }
[1, 2, 3][ 1, 2, 3 ]
[или If(X < 10; "Low"; "Good")
{FirstName: "Jane"; LastName: "Doe"}
[1; 2; 3]
]
[or If( X < 10; "Low"; "Good" )
{ FirstName: "Jane"; LastName: "Doe" }
[ 1; 2; 3 ]
]
Разделяет:Separates: .. Эти знаки зависят от языка.This characters is dependent on the language.
;;
[или ;; в зависимости от языка][or ;; depending on the language]
Объединение формул в цепочкуFormula chaining Collect(T, A); Navigate(S1, "")Collect(T, A); Navigate(S1, "")
[или Collect(T; A);; Navigate(S1; "")][or Collect(T; A);; Navigate(S1; "")]
Отдельные вызовы функций в свойствах поведения.Separate invocations of functions in behavior properties. Оператор построения цепочки зависит от языка.The chaining operator is dependent on the language.
ParentParent Родительский операторParent operator Parent.FillParent.Fill Доступ к свойствам контейнера элемента управления.Access to properties of a control container
ThisItemThisItem Оператор ThisItemThisItem operator ThisItem.FirstNameThisItem.FirstName Доступ к полям коллекции или элемента управления формыAccess to fields of a Gallery or form control

Операторы in и exactinin and exactin operators

Чтобы найти строку в источнике данных, например в коллекции или импортированной таблице, можно использовать операторы in и exactin.You can use the in and exactin operators to find a string in a data source, such as a collection or an imported table. Оператор in определяет совпадения независимо от регистра, а оператор exactin определяет только те совпадения, которые начинаются с буквы в том же регистре.The in operator identifies matches regardless of case, and the exactin operator identifies matches only if they're capitalized the same way. Ниже приведен пример.Here's an example:

  1. Создайте или импортируйте коллекцию с именем Inventory (Товары) и отобразите ее, следуя инструкциям в первом разделе статьи Отображение текста и изображений в коллекции, а также выбор, сортировка и фильтрация коллекции.Create or import a collection named Inventory, and show it in a gallery, as the first procedure in Show images and text in a gallery describes.
  2. Задайте для свойства Items коллекции эту формулу:Set the Items property of the gallery to this formula:
    Filter(Inventory, "E" in ProductName)Filter(Inventory, "E" in ProductName)

    В коллекции отображаются все товары, за исключением Callisto, так как имя этого товара является единственным, которое не содержит указанную букву.The gallery shows all products except Callisto because the name of that product is the only one that doesn't contain the letter you specified.

  3. Задайте для свойства Items коллекции следующую формулу:Change the Items property of the gallery to this formula:
    Filter(Inventory, "E" exactin ProductName)Filter(Inventory, "E" exactin ProductName)

    В коллекции отображается только имя Europa, так как оно единственное, которое содержит указанную букву.The gallery shows only Europa because only its name contains the letter that you specified in the case that you specified.

Оператор ThisItemThisItem operator

Вы можете отобразить данные в элементах управления Коллекция, Форма редактирования или Форма просмотра, привязав их к таблице или коллекции.You can show data in Gallery, Edit form, or Display form controls by binding it to a table or a collection. Эти элементы управления являются контейнером для других карточек и элементов управления.These controls are a container for other cards and controls. Каждая карточка или элемент управления в контейнере может получить доступ к связанным данным через оператор ThisItem.Each card or control within the container can access the bound data through the ThisItem operator.

Используйте оператор ThisItem, чтобы указать столбец данных, в котором каждая карточка или элемент управления находятся во внешнем элементе управления.You use the ThisItem operator to specify the column of data that each card or control within the outer control. Например, в статье об отображении изображений и текста в коллекции этот оператор в коллекции товаров указывает, что элемент управления "Изображение" показывает вид товара, верхняя метка — имя товара, а нижняя метка — количество единиц товара.For example, that operator in the product gallery for Show images and text in a gallery specified that the image control showed the product design, the upper label showed the product name, and the lower label showed the number of units in stock.

Для вложенных коллекций оператор ThisItem обращается к элементам внутренней коллекции.For nested galleries, ThisItem refers to the innermost gallery's items. При условии, что во внутренних и внешних коллекциях между полями строк не возникает конфликтов, вы также можете напрямую использовать неполные имена полей (столбцов).Assuming the row fields in the inner and outer galleries don't conflict, you can also use the unqualified field (column) names directly. Это позволит правилам внутренней коллекции ссылаться на элементы внешней коллекции.This approach enables rules in an inner gallery to refer to an outer gallery's items.

Родительский операторParent operator

На некоторых элементах управления размещаются другие элементы управления.Some controls host other controls. Например, элементы управления Экран, Коллекция, Карточка, Форма редактирования и Форма просмотра являются контейнерами элементов управления.For example, Screen, Gallery, Card, Edit form, and Display form controls are all containers for controls. Элемент управления, в котором размещаются другие элементы управления, называется "родительским".We call the hosting control the "parent" of the controls within.

На элемент управления PowerApps можно ссылаться по имени из любого места в приложении.Any control in PowerApps can be referenced by name from anywhere within the app. Screen1 может быть именем экрана в приложении.Screen1 may be the name of a screen in your app. Чтобы получить цвет фона этого экрана, можно использовать Screen1.Fill.To retrieve the background color of this screen, you can use Screen1.Fill.

Элементы управления на этом экране предоставляют еще одну возможность.Controls on this screen have another option. Они могут использовать относительную ссылку Parent.Fill.They can use a relative reference: Parent.Fill. Оператор Parent обращается к родительскому элементу управления нужного элемента, предоставляя доступ ко всем его свойствам.The Parent operator refers to the control that hosts this control, making available all of its properties. Использование этого оператора удобно тем, что он не зависит от имени элемента управления.Using Parent is helpful because it doesn't depend on the name of the control. Вы можете скопировать и вставить элемент управления контейнера без необходимости изменять все ссылки в контейнере.You can copy and paste a container control without needing to adjust any references within the container. Этот оператор также обеспечивает четкую связь между дочерним и родительским элементами управления при считывании формул.This operator also makes the relationship between child and parent controls clearer when reading formulas.

Оператор устранения неоднозначностиDisambiguation operator

Некоторые функции создают области записей для доступа к полям таблицы при обработке каждой записи, например Filter, AddColumns и Sum.Some functions create record scopes for accessing the fields of table while processing each record, such as Filter, AddColumns, and Sum. Имена полей, добавленные с помощью области записи, переопределяют такие же имена из любого другого места в приложении.Field names added with the record scope override the same names from elsewhere in the app. В этом случае с помощью оператора устранения неоднозначности @ можно по-прежнему получать доступ к значениям за пределами области записи.When this happens, you can still access values from outside the record scope with the @ disambiguation operator:

  • Для доступа к значениям из вложенных областей записей используйте оператор @, указав имя нужной таблицы в формате Table[@FieldName].To access values from nested record scopes, use the @ operator with the name of the table being operated upon using the pattern Table[@FieldName].
  • Чтобы получить доступ к глобальным значениям, таким как источники данных, коллекции и переменные контекста, используйте шаблон [@ObjectName] (без обозначения таблицы).To access global values, such as data sources, collections, and context variables, use the pattern [@ObjectName] (without a table designation).

Дополнительные сведения и примеры см. в разделе об областях записей.For more information and examples, see the discussion on record scopes.