@Override public Map<ProgramIndicator, String> getInvalidProgramIndicatorExpressions() { Map<ProgramIndicator, String> invalidExpressions = new HashMap<>(); invalidExpressions = programIndicatorService.getAllProgramIndicators().stream() .filter( pi -> ! ProgramIndicator.VALID.equals( programIndicatorService.expressionIsValid( pi.getExpression() ) ) ) .collect( Collectors.toMap( pi -> pi, pi -> pi.getExpression() ) ); return invalidExpressions; }
/** * Returns an SQL to select the expression or column of the item. If the item is * a program indicator, the program indicator expression is returned; if the item * is a data element, the item column name is returned. * * @param item the {@link QueryItem}. */ protected String getSelectSql( QueryItem item, Date startDate, Date endDate ) { if ( item.isProgramIndicator() ) { ProgramIndicator programIndicator = (ProgramIndicator)item.getItem(); return programIndicatorService.getAnalyticsSQl( programIndicator.getExpression(), programIndicator, startDate, endDate ); } else { return getColumn( item ); } }
columns.add( "(" + programIndicatorService.getAnalyticsSQl( in.getExpression(), in, params.getEarliestStartDate(), params.getLatestEndDate() ) + ")" + asClause );
String expression = programIndicatorService.getAnalyticsSQl( params.getProgramIndicator().getExpression(), params.getProgramIndicator(), params.getEarliestStartDate(), params.getLatestEndDate() );
String anyValueFilter = programIndicatorService.getAnyValueExistsClauseAnalyticsSql( params.getProgramIndicator().getExpression(), params.getProgramIndicator().getAnalyticsType() );