CwaChannelとCwaOrderTypeに基づいてCwaProductCodeを明示的に表示してカウントするレポートを作成する必要があります。xmlのbi発行者のグループによって独断でカウント
HERESに私のxml:
<OrderEntry-Orders>
<CwaChannel>Customer Portal</CwaChannel>
<CwaOrderType>UT Sales</CwaOrderType>
<ListOfOrderEntry-LineItems>
<OrderEntry-LineItems>
<CwaLineTotalAmount2>1000</CwaLineTotalAmount2>
<CwaProductCode>001</CwaProductCode>
</OrderEntry-LineItems>
<OrderEntry-LineItems>
<CwaLineTotalAmount2>1000</CwaLineTotalAmount2>
<CwaProductCode>005</CwaProductCode>
</OrderEntry-LineItems>
</ListOfOrderEntry-LineItems>
</OrderEntry-Orders>
<OrderEntry-Orders>
<CwaChannel>Customer Portal</CwaChannel>
<CwaOrderType>UT Sales</CwaOrderType>
<ListOfOrderEntry-LineItems>
<OrderEntry-LineItems>
<CwaLineTotalAmount2>1000</CwaLineTotalAmount2>
<CwaProductCode>005</CwaProductCode>
</OrderEntry-LineItems>
</ListOfOrderEntry-LineItems>
</OrderEntry-Orders>
<OrderEntry-Orders>
<CwaChannel>Customer Portal</CwaChannel>
<CwaOrderType>UT Redemption</CwaOrderType>
<ListOfOrderEntry-LineItems>
<OrderEntry-LineItems>
<CwaLineTotalAmount2>1000</CwaLineTotalAmount2>
<CwaProductCode>005</CwaProductCode>
</OrderEntry-LineItems>
</ListOfOrderEntry-LineItems>
</OrderEntry-Orders>
HERESに私のBIPコード:無しかの条件があったかのように
<?for-each-group: OrderEntry-LineItems; CwaProductCode?>
<?if:../../CwaOrderType='UT Sales' and ../../CwaChannel='Customer Portal'?>
<?for-each: current-group()?>
<?CwaProductCode?>
<?xdoxslt:set_variable($_XDOCTX, 'countFund', xdoxslt:get_variable($_XDOCTX, 'countFund')+1)?>
<?xdoxslt:set_variable($_XDOCTX, 'TotalCount', xdoxslt:get_variable($_XDOCTX, 'TotalCount')+1)?>
<?xdoxslt:get_variable($_XDOCTX, 'countFund')?>
<?xdoxslt:set_variable($_XDOCTX, 'countFund', 0)?>
<?end if?>
<?end for-each-group?>
<?xdoxslt:get_variable($_XDOCTX, 'TotalCount')?>
しかし、結果が出てきました。 たとえば、CwaProductCodeは正しい結果を表示しますが、フィルタリングがまったくなかったかのようにすべてをカウントします。
どこが間違っているかわかりません。
おかげ@RanjithRを与えます!コードを少し調整して、出力を達成しようとしましたが、私は枯れたところです。 001 - 2 005 - 2 です。助言がありますか? – Yan
<?for-each-group:OrderEntry-LineItems [../../ CwaOrderType = 'UT Sales'および../../CwaChannel='Customer Portal ']; CakeProductCode?> <?CwaProductCode?> <?count(current-group()/。)?> <?xdoxslt:set_variable($ _ XDOCTX、 'TotalCount'、xdoxslt:get_variable($ _ XDOCTX、 'TotalCount')+ (現在のグループ()/))?> <?end for-each-group?> <?xdoxslt:get_variable($ _ XDOCTX、 'TotalCount')?> –
こんにちは@RanjithR。 2つのフィールドをグループ化して、2つのフィールドと同じ値に基づいて数えたいとしたらどうなるでしょうか? <?for-each-group:OrderEntry-LineItem [../../ CwaOrderType = 'UT Switching' and ../../CwaChannel='Customer Portal ']; ./ CwaProductCode; ./ CwaSwitchInFundCode?> ><変数の@ incontext:製品コード; CwaProductCode><変数の@ incontext:??????????SwitchIn; CwaSwitchInFundCode> <カウント(現在のグループ()./ [ ../CwaProductCode = $ ProductCode] [../CwaSwitchInFundCode = $ SwitchIn])?> xpathを書く正しい方法ですか? –
Yan