PowerApps の演算子とデータ型Operators 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
テーブル、コントロール、シグナルまたは列挙からプロパティを抽出します。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 論理和。Or 関数に相当しますLogical 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 演算子Parent operator Parent.FillParent.Fill コントロール コンテナーのプロパティにアクセスしますAccess to properties of a control container
ThisItemThisItem ThisItem 演算子ThisItem operator ThisItem.FirstNameThisItem.FirstName ギャラリーまたはフォーム コントロールのフィールドにアクセスしますAccess to fields of a Gallery or form control

in 演算子と exactin 演算子in 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 という名前のコレクションを作成するかインポートし、「Show images and text in a gallery」 (イメージとテキストをギャラリーに表示する) の最初の手順に従って、ギャラリーに表示します。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.

ThisItem 演算子ThisItem 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. たとえば、「Show images and text in a gallery」 (イメージとテキストをギャラリーに表示する) の製品ギャラリーでは、この演算子は、製品のデザインを表示するイメージ コントロール、製品名を表示する上のラベル、および在庫数を示す下のラベルを指定しています。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 演算子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. Parent コントロールはコントロールの名前に依存しないため、便利に使用できます。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

一部の関数では、各レコードの処理中に、テーブルのフィールドにアクセスするためのレコード スコープを作成します (FilterAddColumnsSum など)。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:

  • 入れ子になったレコード スコープの値にアクセスするには、@ 演算子と操作対象のテーブルの名前を テーブル[@フィールド名] のパターンで使用します。To access values from nested record scopes, use the @ operator with the name of the table being operated upon using the pattern Table[@FieldName].
  • データ ソース、コレクション、コンテキスト変数などのグローバル値にアクセスするには、[@オブジェクト名] のパターンを使用します (テーブルは指定しません)。To access global values, such as data sources, collections, and context variables, use the pattern [@ObjectName] (without a table designation).

詳細と例については、「record scopes」 (レコード スコープ)を参照してください。For more information and examples, see the discussion on record scopes.