Interstage Data Effector ユーザーズガイド
目次 索引 前ページ次ページ

第4章 データを操作する方法> 4.4 データを集計する

4.4.1 グループ化する

対象のデータを任意のキーでグループ化して集計します。

■文字列でグループ化す

対象データの値でグループ化できます。

従業員氏名(name)でグループ化したい場合
グループ式 : $name 

結果:文書AとCが1つのグループ、文書BとDが1つのグループとして扱われます。

文字列でグループ化を行う場合、文字列の先頭20バイトをキーにしてグループ化します。キー指定が示すデータ中の値が20バイトよりも大きくなる可能性がある場合は、20バイト目以降が異なる文字列であるのに同一グループとみなされることがあります。このような場合は、キー指定にrlen関数を指定して、先頭から何文字をキーとするかを指定できます。
rlen関数の詳細については、“A.2.1 グループ式の書式”を参照してください。

出張エリア(area)でグループ化したい場合
グループ式 : rlen($area,30) 

結果:出張エリアの先頭から30文字でグループ化します。

■数値でグループ化す

対象データの値を数値とみなしてグループ化します。数値でグループ化するには、グループ式のキー指定にval関数を指定します。val関数の詳細については、“A.2.1 グループ式の書式”を参照してください。

地域コード(region_code)が同じ数値のデータをグループ化したい場合
グループ式 : val($region_code) 

結果:文書A、CおよびDが1つのグループ、文書BとDが1つのグループとして扱われます。

■複数のキー指定でグループ化す

複数のキーでグループ化するには、グループ式に“,”で区切って複数のキー指定を指定します。それぞれのキー指定は、数値でも文字列でもかまいません。複数のキー指定を指定すると、指定したすべてのキー指定の値が同じであるデータを1つのグループとして扱います。キー指定は8個まで指定できます。

出張エリア(area)と出張日(date)でグループ化します
グループ式 : /doc/detail/area/text() 出張エリア,/doc/date/text() 出張日

結果:文書AとBが1つのグループ、文書Cが1つのグループ、文書Dが1つのグループとして扱われます。


目次 索引 前ページ次ページ

Copyright 2007 FUJITSU LIMITED