如何对 RTF 中的不同值求和(BI Publisher)

Posted

技术标签:

【中文标题】如何对 RTF 中的不同值求和(BI Publisher)【英文标题】:How to sum distinct values in RTF (BI Publisher) 【发布时间】:2020-04-24 14:40:02 【问题描述】:

交易 ID |金额|日期

1 |200 | 20/04/2020

1 |200 | 21/04/2020

2 |300 | 22/04/2020

3 |400 | 2020 年 4 月 23 日

1 |200 | 21/04/2020

4 |200 | 17/04/2020

2 |300 | 22/04/2020

如何计算交易 ID 唯一的金额? RTF 文件 BI Publisher 上的小计和总计都需要这个。试过这个,但失败了,但返回空值。

【问题讨论】:

【参考方案1】:

这是一个使用 for-each-group 函数和一个运行总变量的方法。

<?for-each:record_set?>
<?xdoxslt:set_variable($_XDOCTX,'running_amount',0)?>
<?for-each-group:record;transaction_id?>
<?xdoxslt:set_variable($_XDOCTX,'running_amount', xdoxslt:get_variable($_XDOCTX,'running_amount')+amount)?>
<?end for each group?>
<?end for each?>
Non-Unique Sum:<?sum(record/amount)?>
Unique Sum<?xdoxslt:get_variable($_XDOCTX,'running_amount')?>
<?end for each?>

样本数据

<record_set>
<record>
<transaction_id>1</transaction_id>
<amount>200</amount>
</record>
<record>
<transaction_id>1</transaction_id>
<amount>200</amount>
</record>
<record>
<transaction_id>2</transaction_id>
<amount>300</amount>
</record>
<record>
<transaction_id>3</transaction_id>
<amount>400</amount>
</record>
<record>
<transaction_id>1</transaction_id>
<amount>200</amount>
</record>
<record>
<transaction_id>4</transaction_id>
<amount>200</amount>
</record>
<record>
<transaction_id>2</transaction_id>
<amount>300</amount>
</record>
</record_set>

【讨论】:

以上是关于如何对 RTF 中的不同值求和(BI Publisher)的主要内容,如果未能解决你的问题,请参考以下文章

在 RTF 模板的分页符上显示不同的页面(BI 发布者)

BI Publisher RTF 模板中的独立 ELSE

如何根据不同df中提供的索引值对数据框中的特定列进行求和。返回总和和布尔 T/F

如何使用熊猫对与给定条件匹配的列中的值求和?

如何对同一集合中不同文档的值求和?

如何对同一集合中不同文档的值求和?