您的位置:首页 > 其它

Running Totals--在RTF文档中,声明变量进行计算

2010-08-03 15:16 357 查看
设备运行环境:测试
时间区间:begin_timeend_time共计t.00小时
服务器断线时长:server_time
RtotalVar
设备平均在线比率:0.00 %
注:掉线时长统计有时长误差,因为,最后一次掉线时长在统计截止时间没有数据,无法统计最后一次掉线时间差。
总计时长:
sum online
sum downline
设备编号
设备在线时长(秒)
设备掉线时长(秒)
在线比例(%)
F eq_id
online
downline
onlineratio E %
本文详解:
RtotalVar:<?xdoxslt:set_variable($_XDOCTX, 'RTotalVar', 0)?>这是声名一个全局变量,将0值给这个变量

0.00:<?xdoxslt:set_variable($_XDOCTX, 'RTotalVar', xdoxslt:get_variable($_XDOCTX, 'RTotalVar') + (sum(online)) div (sum(online)+sum(downline))* 100)?>
在这里做了一个计算,用总时长sum(online)除以总时长加上总掉线时长(sum(online)+sum(downline)),再乘以100%得出的数加上变量'RTotalVar'的值,赋给变量'RTotalVar'。
<?xdoxslt:get_variable($_XDOCTX, 'RTotalVar')?>
显示这个变量

看下结果:72.71%是我们在word文档里计算出来的数字



下面是帮助中的例子:

Running Totals

The variable functionality (see Using Variables) can be used to add a running total to your invoice listing report. This example assumes the following XML structure:

<?xml version="1.0" encoding="WINDOWS-1252"?>

<INVOICES>

<INVOICE>

<INVNUM>10001-1</INVNUM>

<INVDATE>1-Jan-2005</INVDATE>

<INVAMT>100</INVOICEAMT>

</INVOICE>

<INVOICE>

<INVNUM>10001-2</INVNUM>

<INVDATE>10-Jan-2005</INVDATE>

<INVAMT>200</INVOICEAMT>

</INVOICE>

<INVOICE>

<INVNUM>10001-1</INVNUM>

<INVDATE>11-Jan-2005</INVDATE>

<INVAMT>150</INVOICEAMT>

</INVOICE>

</INVOICES>

Using this XML, we want to create the report that contains running totals as shown in the following figure:

To create the Running Total field, define a variable to track the total and initialize it to 0. The template is shown in the following figure:

The values for the form fields in the template are shown in the following table:

Form Field
Syntax
Description
RtotalVar
<?xdoxslt:set_variable($_XDOCTX, 'RTotalVar', 0)?>
Declares the "RTotalVar" variable and initializes it to 0.
FE
<?for-each:INVOICE?>
Starts the Invoice group.
10001-1
<?INVNUM?>
Invoice Number tag
1-Jan-2005
<?INVDATE?>
Invoice Date tag
100.00
<?xdoxslt:set_variable($_XDOCTX, 'RTotalVar', xdoxslt:get_variable($_XDOCTX, 'RTotalVar') + INVAMT)?>
xdoxslt:get_variable($_XDOCTX, 'RTotalVar')?>
Sets the value of RTotalVar to the current value plus the new Invoice Amount.
Retrieves the RTotalVar value for display.
EFE
<?end for-each?>
Ends the INVOICE group.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐