MDX in Analysis Services: Mastering Time: Period - to - Date Aggregations

June 28, 2004

About the Series ...

This is the sixteenth tutorial article of the series, MDX in Analysis Services. The series is designed to provide hands-on application of the fundamentals of MDX from the perspective of MS SQL Server 2000 Analysis Services ("MSAS"); our primary focus is the manipulation of multidimensional data sources, using MDX expressions, in a variety of scenarios designed to meet real-world business intelligence needs.

For more information on the series, as well as the hardware / software requirements to prepare for the tutorials we will undertake, please see the first lesson of this series: MDX Concepts and Navigation.

Note: At the time of writing, Service Pack 3 updates are assumed for MSSQL Server 2000, MSSQL Server 2000 Analysis Services, and the related Books Online and Samples. The screen shots that appear in this article were taken from a Windows 2003 Server, and may appear somewhat different from coinciding views in other operating systems.


In our last article, Mastering Time: Change across Periods, we began a focus on the Time dimension from the perspective of our MDX queries. Our intent, then and in subsequent articles, is to begin an exploration of ways to effectively report change over time, as well as to accumulate those changes to present snapshots, trends and other time-based metrics in a precise manner to meet typical business requirements.

In Change across Periods, we began with a discussion of general business needs as related to the concept of relative time. We then undertook a practical, multi-step exercise, based upon a hypothetical business need, to illustrate a potential solution for a stated requirement. We captured changes over time, while applying the same MDX logic to all levels of the Time hierarchy, within an illustration where we met a stated set of business needs.

In this article, we will examine "period-to-date" aggregations, a common business requirement. Year-to-Date totals top the list in popularity here, but the same concept of accumulation over a period range applies at subordinate time levels, as well. We will examine the means of managing such requirements, using MDX within MSAS to accomplish our ends. We will then undertake a multi-step practice example that activates the underlying concepts, discussing our objectives with each step, as well as the results we obtain with each.