I am building a data model to teach myself PowerPivot, and have run into a conceptual roadblock for which I seek advice.
I have 10 year forecasts for the growth of every US occupation. From that, I am able to compute the CAGR for each occupations, and then generate a 20 year forecast for occupational growth. In conventional Excel, this would involve simply tweaking the CAGR formula in each column for two decades, and then drag the formula down. The obvious answer in Power Pivot would be to just create 20 calculated columns, however from everything I have read, it would be better for the model if I had time as an actual dimension. Right?
If that is the case, should I perform the extrapolation in Excel, and then use Power Query to unpivot that table into the data model? Or is there some other more DAX-sensible approach using a date table, and some wizardry with Measures?
There is a related issue that might have some bearing on the answer. The point of doing the 20 year forecasts is that I want to use two disconnected slicers to enable the ability to interact with the forecast using by altering the inputs from each slicer. One slicer uses a related variable on another lookup table, and is straightforward to implement. The other slicer is designed to vary the assumed adoption rate by 2035. To recap:
Slicer 1: Select a threshold, items above that threshold get passed to slicer 2.
Select adoption rate for 2035 (20%, 40%, 60%, 80%, 100%). This selection gets multiplied against slicer 1, and then subtracted from the Sum of 2035.
I have this implemented in prototype form for the year 2035, and it seems to work fine. What I would like to do is infill years 2015 to 2034 with the "data" that leads up to the end result (for charting and visual purposes). My idea is that the selected adoption rates can also get expressed in the form of series of fixed CAGR over the period, so the incremental growth each year - for each adoption rate - can be calculated. So for example, the "80%" adoption rate could be expressed as a CAGR of -0.011095 and plugged into the CAGR equation for each year over the two decade forecast period. Conceptually, that is the method to my madness, but I am somewhat stumped as to how to implement it in DAX and PowerPivot.
I gather that I can separate the applied equation from the slicer label using a single parameter table.
Parameter Table – DAX Patterns
I can the sort of see how to brute force all these extrapolations and CAGRs into a heaping pile of measures but have to wonder if there is a better way to implement the second slicer, or the time dimension in general?
FYI, I am using PowerPivot in Excel 2013 (32bit), on a rinky-dink laptop. My prototype is only using a 1000 row dataset, but ultimately I would like to apply it to a 150K row dataset.
Thanks,
Mark
I have 10 year forecasts for the growth of every US occupation. From that, I am able to compute the CAGR for each occupations, and then generate a 20 year forecast for occupational growth. In conventional Excel, this would involve simply tweaking the CAGR formula in each column for two decades, and then drag the formula down. The obvious answer in Power Pivot would be to just create 20 calculated columns, however from everything I have read, it would be better for the model if I had time as an actual dimension. Right?
If that is the case, should I perform the extrapolation in Excel, and then use Power Query to unpivot that table into the data model? Or is there some other more DAX-sensible approach using a date table, and some wizardry with Measures?
There is a related issue that might have some bearing on the answer. The point of doing the 20 year forecasts is that I want to use two disconnected slicers to enable the ability to interact with the forecast using by altering the inputs from each slicer. One slicer uses a related variable on another lookup table, and is straightforward to implement. The other slicer is designed to vary the assumed adoption rate by 2035. To recap:
Slicer 1: Select a threshold, items above that threshold get passed to slicer 2.
Select adoption rate for 2035 (20%, 40%, 60%, 80%, 100%). This selection gets multiplied against slicer 1, and then subtracted from the Sum of 2035.
I have this implemented in prototype form for the year 2035, and it seems to work fine. What I would like to do is infill years 2015 to 2034 with the "data" that leads up to the end result (for charting and visual purposes). My idea is that the selected adoption rates can also get expressed in the form of series of fixed CAGR over the period, so the incremental growth each year - for each adoption rate - can be calculated. So for example, the "80%" adoption rate could be expressed as a CAGR of -0.011095 and plugged into the CAGR equation for each year over the two decade forecast period. Conceptually, that is the method to my madness, but I am somewhat stumped as to how to implement it in DAX and PowerPivot.
I gather that I can separate the applied equation from the slicer label using a single parameter table.
Parameter Table – DAX Patterns
I can the sort of see how to brute force all these extrapolations and CAGRs into a heaping pile of measures but have to wonder if there is a better way to implement the second slicer, or the time dimension in general?
FYI, I am using PowerPivot in Excel 2013 (32bit), on a rinky-dink laptop. My prototype is only using a 1000 row dataset, but ultimately I would like to apply it to a 150K row dataset.
Thanks,
Mark