asterixdb-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wail Alkowaileet <wael....@gmail.com>
Subject Re: Aggregate function on collection of ordered list
Date Mon, 07 Dec 2015 12:33:55 GMT
Hi Namrata,

The best way to think of *for *in lists is to think it works as foreach in
java.
So ..
in your first query, it should be like:

let $l := [[1.2, 2.3, 3.4],[6,3,7,2]]
for $x in $l // for each list in the outer list

return {"avg”: avg($y)}

However, I tried it and it seems that there is a bug for
applying aggregation on nested open field.

I'll look into it to see if it's an easy fix



On Mon, Dec 7, 2015 at 2:52 PM, Malarout, Namrata (398M-Affiliate) <
Namrata.Malarout@jpl.nasa.gov> wrote:

> Hi,
>
> I am trying to perform avg, sum, min and max functions on a collection of
> ordered lists. An example is:
>  let $l := [[1.2, 2.3, 3.4],[6,3,7,2]]
>
> return {"avg”: avg($l)}
>
> I have tried both avg and sql-avg. But I get the following error:
>  Cannot compute AVG for values of type ORDEREDLIST
> [NotImplementedException].
>
> I’ve attached the sample data that I’m working with (sample.adm). My AQL
> query to find the average of analysis_error looks like:
>
>
> use dataverse Test;
>
> for $f in dataset sample
>
> where not(is-null($f.analysis_error))
> return avg($f.analysis_error);
>
> The error seen is as follows:
>
> Type of argument in function-call: asterix:avg, Args:[function-call:
> asterix:field-access-by-name, Args:[%0->$$0, AString: {analysis_error}]]
> should be a collection type instead of ANY [AlgebricksException]
>
>
> I would like to know what is the correct syntax to find the average.
> Appreciate the help.
>
> Thanks,
>
> Namrata
>
>
>


-- 

*Regards,*
Wail Alkowaileet

Mime
View raw message