想要在 10 次迭代后结束 RTF 模板 BI Publisher 中的循环
Want to end for loop in RTF template BI Publisher after 10 iterations
我想在 10 次迭代后结束 RTF 模板中的 for 循环。有人可以指导我吗?
测试数据
<record_set>
<record>
<rownum>1</rownum>
<transaction_id>111</transaction_id>
<amount>200</amount>
</record>
<record>
<rownum>2</rownum>
<transaction_id>222</transaction_id>
<amount>300</amount>
</record>
<record>
<rownum>3</rownum>
<transaction_id>333</transaction_id>
<amount>400</amount>
</record>
<record>
<rownum>4</rownum>
<transaction_id>444</transaction_id>
<amount>200</amount>
</record>
</record_set>
选项 1
您可以在 if 语句中使用变量。
<?for-each:record_set?>
<?xdoxslt:set_variable($_XDOCTX,'row_number',1)?>
<?for-each:record?><?if:xdoxslt:get_variable($_XDOCTX,'row_number')<=2?>
Transaction ID: <?transaction_id?>
Row Number: <?xdoxslt:get_variable($_XDOCTX,'row_number')?>
<?xdoxslt:set_variable($_XDOCTX,'row_number', xdoxslt:get_variable($_XDOCTX,'row_number')+1)?>
Amount:<?amount?>
<?end if?>
<?end for each?>
<?end for each?>
选项 2
您可以将 rownum
添加到 select 语句和 XML,然后在 for-each 条件中使用它。
select rownum, transaction_id, amount from your_table
<?for-each:record_set?>
<?for-each:record[rownum<=2]?>
Transaction ID: <?transaction_id?>
Row Number: <?rownum?>
Amount:<?amount?>
<?end for each?>
<?end for each?>
我想在 10 次迭代后结束 RTF 模板中的 for 循环。有人可以指导我吗?
测试数据
<record_set>
<record>
<rownum>1</rownum>
<transaction_id>111</transaction_id>
<amount>200</amount>
</record>
<record>
<rownum>2</rownum>
<transaction_id>222</transaction_id>
<amount>300</amount>
</record>
<record>
<rownum>3</rownum>
<transaction_id>333</transaction_id>
<amount>400</amount>
</record>
<record>
<rownum>4</rownum>
<transaction_id>444</transaction_id>
<amount>200</amount>
</record>
</record_set>
选项 1
您可以在 if 语句中使用变量。
<?for-each:record_set?>
<?xdoxslt:set_variable($_XDOCTX,'row_number',1)?>
<?for-each:record?><?if:xdoxslt:get_variable($_XDOCTX,'row_number')<=2?>
Transaction ID: <?transaction_id?>
Row Number: <?xdoxslt:get_variable($_XDOCTX,'row_number')?>
<?xdoxslt:set_variable($_XDOCTX,'row_number', xdoxslt:get_variable($_XDOCTX,'row_number')+1)?>
Amount:<?amount?>
<?end if?>
<?end for each?>
<?end for each?>
选项 2
您可以将 rownum
添加到 select 语句和 XML,然后在 for-each 条件中使用它。
select rownum, transaction_id, amount from your_table
<?for-each:record_set?>
<?for-each:record[rownum<=2]?>
Transaction ID: <?transaction_id?>
Row Number: <?rownum?>
Amount:<?amount?>
<?end for each?>
<?end for each?>