=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java 2013-05-28 11:35:56 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/DataQueryParams.java 2013-05-28 13:48:36 +0000 @@ -539,7 +539,7 @@ } /** - * Generates all permutations of the dimension and filter options for this query. + * Generates all permutations of the dimension options for this query. * Ignores the data element, category option combo and indicator dimensions. */ public List> getDimensionItemPermutations() === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2013-05-28 11:35:56 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2013-05-28 13:48:36 +0000 @@ -322,9 +322,9 @@ if ( target != null && entry.getValue() != null ) { PeriodType queryPt = PeriodType.getPeriodTypeFromIsoString( dataRow.get( periodIndex ) ); - PeriodType dataPt = dsPtMap.get( dataRow.get( dataSetIndex ) ); + PeriodType dataSetPt = dsPtMap.get( dataRow.get( dataSetIndex ) ); - target = target * queryPt.getPeriodSpan( dataPt ); + target = target * queryPt.getPeriodSpan( dataSetPt ); double value = entry.getValue() * PERCENT / target; === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java 2013-05-28 11:35:56 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultQueryPlanner.java 2013-05-28 13:48:36 +0000 @@ -116,6 +116,11 @@ { violation = "Indicators cannot be specified as filter"; } + + if ( params.getFilters().contains( new BaseDimensionalObject( DATASET_DIM_ID ) ) ) + { + violation = "Data sets cannot be specified as filter"; + } if ( params.getFilters().contains( new BaseDimensionalObject( CATEGORYOPTIONCOMBO_DIM_ID ) ) ) {