Skip to main content

Power BI: Time Intelligence Rolling Measures

 One of the most powerful features of Power BI when it comes to DAX is a time series analysis.  Using pre-defined DAX functions can allow you to report on values based on specific time periods.  You can do things like referencing the previous year’s value, have a running year-to-date total, find closing balances for the month, and much much more.

 

For this blog, I want to explain how to get a rolling total for a specific time period.  Rather than just simply writing the expression, I am going to break it down step by step of how it is built out and why it works.  By understanding the reasoning behind the formulas, you can leverage this knowledge to apply time series analysis into your own Power BI reports.

 

For our rolling total, I will find the rolling sales amount for the last 3 months no matter what level of dates I am currently viewing in a visualization.  This calculation can be easily modified to finding a rolling total for the last 14 days, 2 quarters, or whatever you see fit.  You are also not limited to just doing totals, but any kind of mathematical aggregation is supported.

 

If you have not been introduced to using variables you will see them demonstrated here as an easier way to read and write your code.  Also, discussed in this calculation apart from the time series DAX functions, will be calculate, filter, and all.

 

Check it out below:

 

 


Comments

Popular posts from this blog

Best Practice To Trim Before Removing Duplicates or Merging In Power Query Editor

In last week’s blog, I wrote and did a video about how to remove duplicate records and keep the most recent entry as long as a date column was part of the data source.   I came across the scenario while giving training on Power BI with my company Pragmatic Works.   See the video below:     This week, while doing another two-day training I came across a different scenario from a follow-up conversation from day 1.   I had explained how to remove duplicate records and one of the students started working on a Power BI project she has for her company.   On day 2 the student informed me that her remove duplicates step was not working.   I said that is odd and I asked to see the data.   In one of her table visuals, I could see that it appeared that a few of the records had duplicates based on the name column.   After further investigation though, we figured out the culprit.     She had done all the steps correctly, but it was a data integrity issue.   In her data source, the perso

Relating "Related Tables" to Baseball because I Miss Sports

I miss sports. In particular, I miss baseball. Between learning more Power BI functions and the ins-and-outs of DAX, I've turned to Netflix to fill the deep caverns left in my soul since baseball season has been postponed. And as a result, I've thought more about tigers and big cats more than I ever have in my life. I know ALL about Carol Baskins and am fully on board for a spin-off centering on locating her lost husband. I've googled "is it really legal to own a tiger in a residential area?" Without baseball in April, I am barely hanging in there (kinda like Joe Exotic's eyebrow ring). So, I am filling the sports-sized hole by using baseball stats in Power BI to demonstrate pulling data from multiple tables and consolidating it into one table.  Some of the data we want to consolidate also has to have some aggregations (which is fancy for "calculations") performed on it.  In this demo I will attempt to break down what is really going on

Create A Record Without A Form In Power Apps Using PATCH

 In Power Apps, forms are great to use to submit data to be recorded in your data source.  They do not take long to set up and the functions used to submit the data are fairly simple.  This simplicity, however, can come at a cost.  The cost of using a form is you don’t have a lot of design control in terms of layout and design.  If you don’t like the rigid structure of forms and want more freedom, then I’ve got the fix for you.  You need to become acquainted with the Patch function.   The Patch function allows you to update or create a new record in your data source.   The Patch function requires you to identify your data source, decide if you want to update or create a record, and then point to your controls on the app that contains the data you are submitting.   The coding is a little more involved compared to SubmitForm(FormName) that you use on forms.   The payoff, though, for learning a little more advanced code is you get complete design freedom for your data input controls.