with( local!totalCount: a!queryProcessAnalytics( report: ri!report, query: a!query( logicalExpression: if(rule!APN_isEmpty(ri!filterSet),null,a!queryLogicalExpression( operator: "AND", filters: ri!filterSet )), pagingInfo: a!pagingInfo( startIndex: 1, batchSize: 1 ) ) ).totalCount, if( local!totalCount = 0, null, if( local!totalCount <= 10000, with( a!queryProcessAnalytics( report: ri!report, query: a!query( logicalExpression: if(rule!APN_isEmpty(ri!filterSet),null,a!queryLogicalExpression( operator: "AND", filters: ri!filterSet )), pagingInfo: a!pagingInfo( startIndex: 1, batchSize: -1 ) ) ).data ), with( local!groupedProcessDataPortalReportDataSubset: a!queryProcessAnalytics( report: ri!groupedReport, query: a!query( pagingInfo: a!pagingInfo( startIndex: 1, batchSize: -1 ) ) ), local!bins: apply( rule!util_createBins( year: _, month: _, day:_, count: _ ), merge( index(local!groupedProcessDataPortalReportDataSubset.data,"c0",null), index(local!groupedProcessDataPortalReportDataSubset.data,"c6",null), index(local!groupedProcessDataPortalReportDataSubset.data,"c1",null), index(local!groupedProcessDataPortalReportDataSubset.data,"c2",null) ) ), local!amalgamatedBins: reduce(rule!util_reduceDataAndCreateBins,{{binsize:0,months:{},years:{},days:{}}}, local!bins), reduce(rule!util_queryProcessAnalyticsForBin,{},local!amalgamatedBins,{ri!report},ri!filterSet) ) ) ) )