トレーニング
モジュール
Power Apps のキャンバス アプリでテーブル、レコード、コレクションを使用する式を作成する - Training
アプリ内で複雑な式が必要な場合、 このモジュールはその式を作成するのに役立ちます。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
累積 Functoid は、一連の値を合計、連結文字列、平均などの 1 つの値に減らします。
すべての 累積 Functoid は、次の 2 つの入力パラメーターを受け入れます。
累積する値。 この値は、文字列値を必要とする累積連結 Functoid を除くすべての累積 Functoid の数値です。 値は、多くの場合、 フィールド属性、 フィールド要素、または Record ノードからのリンクです (Mixed プロパティ が True に設定されています)。
注意
スキーマ ツリー内の先祖 Record ノードがループしていない場合は、 累積 Functoid を使用する必要はありません。
値を累積する範囲。 この引数は省略可能です。 この引数は、指定された値を累積するレベルを示します。
次の表は、スコープ パラメーターの値とその動作を示しています。
スコープ パラメーターの値 | 結果 |
---|---|
0 (ゼロ) | インスタンス メッセージ全体の値を累積します。 これが既定値です。 |
1 (one) | 同じ親要素を持つ要素の値または属性値を累積します。 |
2 | 同じ祖父要素を持つ要素の値または属性値を累積します。 |
3 以上 | 上記のパターンよりもさらに幅の広い範囲 (祖父の親要素、祖父の祖父要素など) の要素の値または属性値を累積します。 |
累積 Functoid を使用する例としては、発注書全体のコストを合計する場合があります。 次のコードは、注文書の例です。
<ns0:PurchaseOrder xmlns:ns0="http://CumulativeFunctoid.PurchaseOrder">
<From>Kevin F. Browne</From>
<To>Northwind Traders</To>
<LineItems>
<Item>
<Product>Laptop Computer</Product>
<Description>Thin profile laptop</Description>
<Price>1999.95</Price>
<Quantity>1</Quantity>
</Item>
<Item>
<Product>Monitor Swipes</Product>
<Description>Disposable monitor swipes</Description>
<Price>3.95</Price>
<Quantity>10</Quantity>
</Item>
</LineItems>
</ns0:PurchaseOrder>
Item レコードの Max Occurs プロパティは、もちろん無制限になります。 これは、Item レコードがループすることを示しています。BizTalk マッパーは、このレコードをループとしてコンパイルします。
次の図は、 乗算 Functoid と 累積合計 Functoid を使用して、受信した発注書の品目レコードを集計し、結果を POTotal フィールドに出力するマップを示しています。
このマップでは、前のデータと既定のスコープ パラメーターの値 0 (ゼロ) を使用して、次の出力結果を生成しています。
<ns0:SummedPO xmlns:ns0="http://CumulativeFunctoid.SummedPO">
<From>Kevin F. Browne</From>
<To>Northwind Traders</To>
<POTotal>2039.45</POTotal>
</ns0:SummedPO>
この例では、LineItems レコードの下にあるすべての Item レコードが累積に含まれます。スコープ パラメーターの既定値は、メッセージ全体の値の累積を示します。 [ 価格 ] フィールドと [数量] フィールド は乗算 Functoid に送信されます。 乗算 Functoid の出力は、累積合計 Functoid への入力になります。 累積合計 Functoid の出力は、項目レコードが入力発注書で走査される累積値です。
注意
入力の累積集計は、入力リンクの発生元の親レコードに対して行われます。 累積 Functoid が別の Functoid から入力を取得した場合でも、累積集計は、累積 Functoid への入力として機能する Functoid への入力リンクの親レコードに対して行われます。
スコープ パラメーターを 1 (one) に変更し、出力スキーマに若干の変更を加えると、出力結果は次のようになります。
<ns0:SummedPO xmlns:ns0="http://CumulativeFunctoid.SummedPO">
<From>Kevin F. Browne</From>
<To>Northwind Traders</To>
<ItemTotal>1999.95</ItemTotal>
<ItemTotal>39.5</ItemTotal>
</ns0:SummedPO>
スコープ パラメーターを 1 (one) に設定すると、同じ親を持つ要素または属性の累積値が示されます。 ここで、[ 価格 ] フィールドと [数量] フィールドには親として Item が含まれているため、Functoid は個々のアイテムの値を合計 します。
スコープ パラメーターを 2 に設定すると、この Functoid は、同じ祖父を持つ要素または属性の値を累積します。 [ 価格 ] フィールドと [数量] フィールドの祖父母は LineItems レコードです 。 インスタンス メッセージには LineItems レコードが 1 つしかないため、結果は既定値の使用と同じです。
<ns0:SummedPO xmlns:ns0="http://CumulativeFunctoid.SummedPO">
<From>Kevin F. Browne</From>
<To>Northwind Traders</To>
<POTotal>2039.45</POTotal>
</ns0:SummedPO>
注意
累積 Functoid ( 累積文字列 Functoid を除く) では、数値以外の入力は無視されます。 たとえば、"three" という入力値は無視されます。
累積平均、累積最小値、累積最大 Functoid は、累積合計 Functoid と同様に動作します。 累積文字列は、数値を集計するのではなく、文字列を連結します。
累積 Functoid は次のとおりです。
これらの Functoid の詳細については、 UI ガイダンスと開発者 API 名前空間のリファレンスを参照してください。
トレーニング
モジュール
Power Apps のキャンバス アプリでテーブル、レコード、コレクションを使用する式を作成する - Training
アプリ内で複雑な式が必要な場合、 このモジュールはその式を作成するのに役立ちます。