字段的统计 |
data 及其子资源提供了对数据的查询和操作的功能,本文的例子将介绍对数据集中的字段进行统计的过程。
数据集中字段的统计通过对 statistic 资源执行 GET 请求来进行,请参见 statistic 资源页面。
本例对 World 数据源中的 Countries 数据集进行统计,Countries 数据集中有 POP_1994 字段,本例对该字段进行统计,获取 1994 年的世界人口情况。通过对如下 URI 执行不同的 GET 请求来实现:
http://localhost:8090/iserver/services/components-rest/rest/data/datasources/name/World/datasets/name/Countries/fields/POP_1994/{statisticMode}.json
URI 中,不同的 {statisticMode}表示不同的统计内容,获取最大值用 MAX,和用 SUM,平均值用 AVERAGE。
示例代码如下:
//统计 1994 年的世界人口
function FieldStatistic()
{
var commit=getcommit();
var baseuri="http://localhost:8090/iserver/services/components-rest/rest/data/datasources/name/World/datasets/name/Countries/fields/POP_1994";
//获取数据集中该字段的最大值。
commit.open("GET",encodeURI(baseuri+"/MAX.json"),false,"","");
commit.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
commit.send(null);
//解析从服务器端返回的 json 字符串,解析为一个 JavaScript 对象。
var response = json_parse(commit.responseText, null);
var max=response.result;
//获取数据集中该字段的和。
commit.open("GET",encodeURI(baseuri+"/SUM.json"),false,"","");
commit.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
commit.send(null);
//解析从服务器端返回的 json 字符串,解析为一个 JavaScript 对象。
response = json_parse(commit.responseText, null);
var sum=response.result;
//获取数据集中该字段的平均值。
commit.open("GET",encodeURI(baseuri+"/AVERAGE.json"),false,"","");
commit.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
commit.send(null);
//解析从服务器端返回的 json 字符串,解析为一个 JavaScript 对象。
response = json_parse(commit.responseText, null);
var average=response.result;
var str="1994年,全世界人口共有"+sum+"人。其中,最多的国家有"+max+"人,世界平均人口为"+average+"人。";
//获取用作显示的 Div 容器。
var container = document.getElementById('container');
container.innerHTML+='<p>'+str+'</p>';
}
统计结果为: