2

BI Publisher に以下のような XML があります。

<ROW1>
  <TOTAL_RETAIL>10.95</TOTAL_RETAIL>
  <TOTAL_TAX> 1.8</TOTAL_TAX>
  <TOTAL_SHIPPING>7.95</TOTAL_SHIPPING>
</ROW1>

<ROW1>繰り返さない。ノードのを実行することを理解したので、のようなSUMXPath 関数を使用できます。これは、ノードの値のみを合計します。 、、およびの合計が必要です。これを達成するための関数を書く方法はありますか?sum()<?sum(.//TOTAL_RETAIL)?>TOTAL_RETAILTOTAL_RETAILTOTAL_TAXTOTAL_SHIPPINGsum

注 - レポート テンプレート内にあるため、変数などを使用してプログラムで処理することはできず、<?sum(...)?>この値は Excel レポート テンプレートの特定のセルにマップされるため、定義する必要があります。

4

3 に答える 3

8

試す

<?sum(.//TOTAL_RETAIL | .//TOTAL_TAX | .//TOTAL_SHIPPING)?>

|は和集合演算子であるため、渡す引数sum()は3つの部分式の和集合です。

于 2012-08-30T15:28:30.660 に答える
4
sum(.//TOTAL_RETAIL | .//TOTAL_TAX | .//TOTAL_SHIPPING)
于 2012-08-30T15:30:11.630 に答える
3

各ノードで合計を分割することもできます。次のように機能します。

<?sum(.//TOTAL_RETAIL) + sum(.//TOTAL_TAX) + sum(.//TOTAL_SHIPPING)?>

また、NULL 値または空のノードがある場合は、このフィルターを使用して、合計関数が常に機能するようにします。sum(.//TOTAL_RETAIL[.!='']) + ...etc

于 2013-05-01T06:02:37.930 に答える