連結機能のリターン式、集計式またはソート機能のリターン式では、val関数、集合関数および算術演算などを組み合わせることにより、複雑な集計処理ができます。
例として以下の文書があるものとします。
文書A
<doc> <date>2007年06月30日</date> <detail> <area>神奈川県横浜市港北区</area> <destination>本社</destination> <taxi></taxi> <hotel>8500円</hotel> </detail> </doc> |
文書B
<doc> <date>2007年07月01日</date> <detail> <area>神奈川県横浜市港北区</area> <destination>本社</destination> <taxi></taxi> <hotel></hotel> </detail> </doc> |
文書C
<doc> <date>2007年07月02日</date> <detail> <area>神奈川県横浜市港北区</area> <destination>本社</destination> <taxi></taxi> <hotel>8500円</hotel> </detail> </doc> |
文書D
<doc> <date>2007年07月03日</date> <detail> <area>東京都千代田区</area> <destination>東京支社</destination> <taxi>1000円</taxi> <hotel>7800円</hotel> </detail> </doc> |
例
宿泊費(hotel)と宿泊出張の手当(1500円)の合計を求めます。
グループ式 | substr(/doc/detail/area/text(),0,10) 出張エリア |
集計式 | sum(/doc/detail/hotel/text())+count(/doc/detail/hotel/text())*1500 宿泊費と宿泊出張手当の和 |
結果:CSV形式で出力する場合
"出張エリア","宿泊費と宿泊出張手当の和" "東京都千代田区",9300 "神奈川県横浜市港北区",20000 |
参照
関数の詳細については、“リファレンス集”の以下を参照してください。
“val関数”
“集合関数”