I have daily data that looks like this:
[TABLE="width: 515"]
<colgroup><col span="2"><col span="3"><col span="3"></colgroup><tbody>[TR]
[TD]Date[/TD]
[TD]Code[/TD]
[TD]Filter 1[/TD]
[TD]Filter 2[/TD]
[TD]Filter 3[/TD]
[TD]Var1[/TD]
[TD]Var2[/TD]
[TD]Var3[/TD]
[/TR]
[TR]
[TD="align: right"]5-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]Yes[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]5-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]No[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]5-Jan-14[/TD]
[TD="align: right"]5470[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[TD="align: right"]24.75[/TD]
[TD="align: right"]21.1[/TD]
[TD="align: right"]21.1[/TD]
[/TR]
[TR]
[TD="align: right"]6-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]Yes[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]6-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]No[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]6-Jan-14[/TD]
[TD="align: right"]5470[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[TD="align: right"]24.75[/TD]
[TD="align: right"]21.1[/TD]
[TD="align: right"]21.1[/TD]
[/TR]
[TR]
[TD="align: right"]7-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]Yes[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]7-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]No[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD="align: right"]24.75[/TD]
[TD="align: right"]21.1[/TD]
[TD="align: right"]21.1[/TD]
[/TR]
[TR]
[TD="align: right"]7-Jan-14[/TD]
[TD="align: right"]5470[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[TD="align: right"]28.55[/TD]
[TD="align: right"]24.5[/TD]
[TD="align: right"]24.5[/TD]
[/TR]
</tbody>[/TABLE]
I have used a pivot table to roll it up to summarize it by day (average) and then grouped it to get to a weekly level. Resulting in this:
[TABLE="width: 446"]
<colgroup><col><col span="3"></colgroup><tbody>[TR]
[TD]Row Labels[/TD]
[TD]Average of Var1[/TD]
[TD]Average of Var2[/TD]
[TD]Average of Var3[/TD]
[/TR]
[TR]
[TD]1/5/2014 - 1/8/2014[/TD]
[TD="align: right"]25.7[/TD]
[TD="align: right"]18.58888889[/TD]
[TD="align: right"]18.58888889[/TD]
[/TR]
</tbody>[/TABLE]
I am using Filters 1, 2, 3 and Code as filters to in the pivot table to calculate:
Since I have to do more of these calculations with different filters on, my question is whether there is a clever way to code/retrieve the results (VBA, I assume) instead of me doing the calculations manually for each case? My concern is that switching filters on and off manually and copy/pasting results is very error-prone and I would really like to avoid it.
Thank you!
[TABLE="width: 515"]
<colgroup><col span="2"><col span="3"><col span="3"></colgroup><tbody>[TR]
[TD]Date[/TD]
[TD]Code[/TD]
[TD]Filter 1[/TD]
[TD]Filter 2[/TD]
[TD]Filter 3[/TD]
[TD]Var1[/TD]
[TD]Var2[/TD]
[TD]Var3[/TD]
[/TR]
[TR]
[TD="align: right"]5-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]Yes[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]5-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]No[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]5-Jan-14[/TD]
[TD="align: right"]5470[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[TD="align: right"]24.75[/TD]
[TD="align: right"]21.1[/TD]
[TD="align: right"]21.1[/TD]
[/TR]
[TR]
[TD="align: right"]6-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]Yes[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]6-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]No[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]6-Jan-14[/TD]
[TD="align: right"]5470[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[TD="align: right"]24.75[/TD]
[TD="align: right"]21.1[/TD]
[TD="align: right"]21.1[/TD]
[/TR]
[TR]
[TD="align: right"]7-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]Yes[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD][/TD]
[TD="align: right"]15.9[/TD]
[TD="align: right"]15.9[/TD]
[/TR]
[TR]
[TD="align: right"]7-Jan-14[/TD]
[TD="align: right"]3050[/TD]
[TD]No[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD="align: right"]24.75[/TD]
[TD="align: right"]21.1[/TD]
[TD="align: right"]21.1[/TD]
[/TR]
[TR]
[TD="align: right"]7-Jan-14[/TD]
[TD="align: right"]5470[/TD]
[TD]No[/TD]
[TD]Yes[/TD]
[TD]Yes[/TD]
[TD="align: right"]28.55[/TD]
[TD="align: right"]24.5[/TD]
[TD="align: right"]24.5[/TD]
[/TR]
</tbody>[/TABLE]
I have used a pivot table to roll it up to summarize it by day (average) and then grouped it to get to a weekly level. Resulting in this:
[TABLE="width: 446"]
<colgroup><col><col span="3"></colgroup><tbody>[TR]
[TD]Row Labels[/TD]
[TD]Average of Var1[/TD]
[TD]Average of Var2[/TD]
[TD]Average of Var3[/TD]
[/TR]
[TR]
[TD]1/5/2014 - 1/8/2014[/TD]
[TD="align: right"]25.7[/TD]
[TD="align: right"]18.58888889[/TD]
[TD="align: right"]18.58888889[/TD]
[/TR]
</tbody>[/TABLE]
I am using Filters 1, 2, 3 and Code as filters to in the pivot table to calculate:
- Average of Var1 for the Week, but only where Code is 3050
- Percentage difference in Var1 for Code 3050 and Code 5470, calculated as (WeekAvgVar1-3050 - WeekAvgVar1-5470) / WeekAvgVar1-3050&5470
- The same as above, but with Filter 1 applied for the nominator and Filter 2 applied for the denominator
Since I have to do more of these calculations with different filters on, my question is whether there is a clever way to code/retrieve the results (VBA, I assume) instead of me doing the calculations manually for each case? My concern is that switching filters on and off manually and copy/pasting results is very error-prone and I would really like to avoid it.
Thank you!