このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

group-into-blocks 関数は、 N が block-size 引数に与えられる値である、 N アイテムを含む等価のグループを作成します。最後のグループは、ソース内のアイテムの数に従い、 N つのアイテム、または少ない数のアイテムを含むことができます。 下のサンプルでは、 block-size は 2 です。総数で5つのアイテムが存在し、最後のアイテムを除き、それぞれのグループは2つのアイテムを含んでいます。

mf_group-into-blocks

 

引数

名前

詳細

nodes/rows

アイテムのシーケンス

ノードまたは行のシーケンス (例えば、 接続は子アイテム、 CSV レコードなどを持つ、ソース XML ノードを基にすることができます)。

block-size

xs:integer

各グループのサイズを指定します。

 

サンプル

使用するソースデータは次のコンテンツを持つ XML ファイルです (下のコードリストでは名前空間と XML 宣言は簡素化のために削除されていることに注意してください)。

 

<company>
  <person department="Administration" name="Vernon Callaby"/>
  <person department="Marketing" name="Susi Sanna"/>
  <person department="Engineering" name="Michelle Butler"/>
  <person department="Engineering" name="Fred Landis"/>
  <person department="Administration" name="Frank Further"/>  
</company>

 

個人のレコードを2つのアイテムを持つブロックにグループ分けすることがビジネスの必要条件とします。 これを達成するには、 次のマッピングがgroup-into-blocks 関数を呼び出します。整数の値 "2" を block-size として提供します。

mf_group-into-blocks_map

マッピングの結果は以下のとおりです:

 

<groups>
  <group>
    <record key="Administration" value="Vernon Callaby"/>
    <record key="Marketing" value="Susi Sanna"/>
  </group>
  <group>
    <record key="Engineering" value="Michelle Butler"/>
    <record key="Engineering" value="Fred Landis"/>
  </group>
  <group>
    <record key="Administration" value="Frank Further"/>
  </group>
</groups>

 

アイテムの総数 (5) を 2 で割ることができないため、最後のグループに1つのアイテムのみ含まれていることに注意してください。

 

他のグループサンプルと共に、このサンプルは、 次のマッピングファイルの一部です: <マイ ドキュメント>\Altova\MapForce2020\MapForceExamples\Tutorial\GroupingFunctions.mfd. Output タブをクリックする前に、プレビューする関数に適用することのできる プレビュー mf_ic_preview ボタンをクリックします。

(C) 2019 Altova GmbH