correction in the discrepancy analysis: grouping now takes average instead of sum

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-analysis/EcologicalEngine@76763 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Gianpaolo Coro 2013-06-04 16:33:29 +00:00
parent 748f263593
commit 1634249c07
1 changed files with 6 additions and 6 deletions

View File

@ -23,9 +23,9 @@ public class DiscrepancyAnalysis extends DataAnalysis {
// static String discrepancyQuery = "select distinct a.%1$s as csquareone,b.%2$s as csquaretwo,a.%3$s as firstprob,b.%4$s as secondprob from %5$s as a inner join %6$s as b on a.%1$s=b.%2$s and (a.%3$s<>b.%4$s)";
// static String discrepancyQuery = "select distinct a.%1$s as csquareone,b.%2$s as csquaretwo,a.%3$s as firstprob,b.%4$s as secondprob from (select * from %5$s order by %1$s limit %7$s) as a inner join (select * from %6$s order by %2$s limit %7$s) as b on a.%1$s=b.%2$s and (a.%3$s<>b.%4$s)";
static String discrepancyQuery = "select * from (select distinct a.%1$s as csquareone,b.%2$s as csquaretwo,a.%3$s as firstprob,b.%4$s as secondprob from " +
"(select %1$s , sum(%3$s) as %3$s from (select distinct * from %5$s order by %1$s limit %7$s) as aa group by %1$s) as a " +
"(select %1$s , avg(%3$s) as %3$s from (select distinct * from %5$s order by %1$s limit %7$s) as aa group by %1$s) as a " +
"left join " +
"(select %2$s , sum(%4$s) as %4$s from (select distinct * from %6$s order by %2$s limit %7$s) as aa group by %2$s) as b " +
"(select %2$s , avg(%4$s) as %4$s from (select distinct * from %6$s order by %2$s limit %7$s) as aa group by %2$s) as b " +
"on a.%1$s=b.%2$s) as sel where firstprob<>secondprob";
static String getNumberOfElementsQuery = "select count(*) from %1$s";
@ -146,7 +146,7 @@ public class DiscrepancyAnalysis extends DataAnalysis {
output.put("MAXIMUM_ERROR_POINT", "" + maxdiscrepancyPoint);
if (numLower>numHigher)
output.put("TREND", "CONTRACTION");
if (numLower<numHigher)
else if (numLower<numHigher)
output.put("TREND", "EXPANSION");
else
output.put("TREND", "STATIONARY");
@ -185,10 +185,10 @@ public class DiscrepancyAnalysis extends DataAnalysis {
String csquare = (String) elements[0];
float probabilityPoint1 = 0;
if (elements[2] != null)
probabilityPoint1 = (Float) elements[2];
probabilityPoint1 = Float.parseFloat(""+elements[2]);
float probabilityPoint2 = 0;
if (elements[3] != null)
probabilityPoint2 = (Float) elements[3];
probabilityPoint2 = Float.parseFloat(""+elements[3]);
float discrepancy = Math.abs(probabilityPoint2 - probabilityPoint1);
if (discrepancy > threshold) {
@ -200,7 +200,7 @@ public class DiscrepancyAnalysis extends DataAnalysis {
}
if (probabilityPoint2>probabilityPoint1)
numHigher++;
if (probabilityPoint2<probabilityPoint1)
else if (probabilityPoint2<probabilityPoint1)
numLower++;
}
}