设备运行环境:测试
时间区间:begin_time 至 end_time 共计t.00小时
服务器断线时长:server_time秒
注:掉线时长统计有时长误差,因为,最后一次掉线时长在统计截止时间没有数据,无法统计最后一次掉线时间差。
总计时长: |
| ||
设备编号 | 设备在线时长(秒) | 设备掉线时长(秒) | 在线比例(%) |
本文详解:
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)?> | Sets the value of RTotalVar to the current value plus the new Invoice Amount. |
EFE | <?end for-each?> | Ends the INVOICE group. |