If I understand what you're saying, I think you could make your key:
[siteid, year, month, day]

Then when you call reduce you could set the group_level to 1, 2, 3 or 4, to
granulate by siteid, year, month and day respectively

Luke

On Tue, Jul 27, 2010 at 10:19, Cory Zue <c...@dimagi.com> wrote:

> I need to write some reports on top of the data in my couch db
> application.  My use case is a central database monitoring the data
> coming in from a bunch of satellite sites, and they want to generate
> aggregate reports on the data by site and by date range.
>
> My current plan is to use a view with a complex key that includes the
> site id and date the data came in, with the value being a dictionary
> of contributions the data makes to each aggregate indicator in the
> report.  Then my reduce function can just sum up the individual keys.
>
> However, this will only generate reports with the granularity of a
> single day out-of-the-box, which means I will need to do further
> processing on the client side in order to aggregate the counts over
> the entire range specified.
>
> My question is -- is there any way to do this in one view via couchdb?
>  My understanding is that the best aggregation I can do is get it down
> to one value per key, so even though I am only using the keys to
> specify start and end ranges and always want to return a full
> aggregate with a single set of counts I still have to do the final
> aggregation on the client side.
>
> Sorry if this is unclear.  I'd be happy to clarify over mail or IRC if
> necessary.
>
> thanks,
> Cory
>

Reply via email to