輸出I有地圖減少視圖:分組的CouchDB的視圖
.....
emit(diffYears, doc.xyz);
reduced with _sum.
xyz是則其每整數(diffYears)相加的數。
輸出看起來大致是這樣的:
4 1204.9
5 796.19
6 1124.8
7 1112.6
8 1993.62
9 159.26
10 395.41
11 456.05
12 457.97
13 39.80
14 483.68
15 269.469
etc..
我想要做的是組結果如下:
Grouping Total per group
0-4 1959.2 i.e add up the xyz's for years 0,1,2,3,4
5-9 3998.5 same for 5,6,7,8,9 ...etc.
10-14 3566.3
我看到其中一個視圖中使用列表的建議這裏輸出:Using a CouchDB view, can I count groups and filter by key range at the same time? ,但一直無法適應它以獲得任何類型的結果。 給出的代碼是:
{
_id: "_design/authors",
views: {
authors_by_date: {
map: function(doc) {
emit(doc.date, doc.author);
}
}
},
lists: {
count_occurrences: function(head, req) {
start({ headers: { "Content-Type": "application/json" }});
var result = {};
var row;
while(row = getRow()) {
var val = row.value;
if(result[val]) result[val]++;
else result[val] = 1;
}
return result;
}
}
}
我在本節取代var val = row.key
:(雖然在這種情況下,結果是一個計數)
while(row = getRow()) {
var val = row.value;
if(result[val]) result[val]++;
else result[val] = 1;
}
這似乎是順便做到這一點。
(它像具有每個分組,我可以做手動,自然,但不是一個流程內startkey和endkey。或者是有輸入多個開始和endkeys成一個GET命令的方式???? )
對於使用統計分析的研究人員來說,這一定是相當正常的事情。
因此,我假設它完成了,但就CouchDB而言,我找不到示例 。
我將不勝感激這個請幫忙或在正確的方向指針。
非常感謝。
編輯: 也許答案在於'reduce'將輸出分組?
@ sarwar謝謝。正是我需要的。 – jlb333333