連結機能のリターン式、集計式またはソート機能のリターン式では、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関数”
“集合関数”