Skip to main content

Do you want to look good on paper? Data can do that with a DATE TABLE.


Data, especially in the time of quarantine, can make you look REALLY good on paper. Or, on the screen I should say-- or in this case in a table.

And if I am being honest- putting all my cards on the table (you're welcome for that pun)- I've definitely tried to use data in building a defense when my wife has called me out on something. Unfortunately for me, she knows how a cherry-picked data table can tell many different stories. Nevertheless, I persist!

In this post I discuss:
*DAX function CALENDARAUTO
*why I broke-up with function CALENDAR
*link to a demo I create

*how I attempt to use a Date Table to make myself look better to my wife 😁




I’ve really loved learning about DAX functions lately during my deep dive into the world of Power BI.  As you know I have a math teaching background so it is fascinating to see how I can manipulate simple calculations to use time intelligence, override specific filters, and cross reference other tables.  One of the things I came across though the other day while helping out a client is a simple DAX function that I hadn’t given much thought to at the time.  That function is CALENDARAUTO.

I had learned in the past that is was really simple to make a date table using DAX just by implementing the function CALENDAR.  With the CALENDAR function you simply put in your start date and end date and voila!,  a 1 column table of all the dates from the beginning to end are created for you.  It was a simple enough formula to implement and it was the one I used, until this past week.  Why did I move on from this formula you ask?  Well, it comes down to doing a data refresh.

I was working with a client and everything was going smooth until we refreshed her data and our table visual did not look quite right.  What happened?  Well, when she refreshed her data there were some new data associated with dates that were after our predefined ending date and before our predefined starting date.  It was a pretty easy fix though because we just went in and sorted her table to look for the earliest date and latest date and then updated our CALENDAR function with those dates.  

You can see the problem, however, if we are going to refresh the data in the future we will have to fix the problem each time.  Well, let me introduce you to our friend CALENDARAUTO to do the heavy lifting for us.

The DAX function CALENDARAUTO will scan through every single table we have loaded into our Power BI model and look for the oldest and most recent date.  When it finds the earliest date it will automatically make January 1st of that year as our starting point for our date table.  When it finds the most recent date it will automatically make the December 31st of that year our last date for our date table.  This means we no longer have to do anything manually and the date table will always updated when new data with dates is brought in.

I can’t share her data below so I thought I would put out a real basic video example to illustrate the differences between the two. 

Again, thanks for following the journey!

Comments

Popular posts from this blog

The Power of CALCULATE in Power BI

Last week in my blog and video I discussed how Power BI could have made my life as a teacher much easier.  It is not that Power BI can do things that I could not on my own.  It is the fact that Power BI could have saved me so much time.   This led me to some thoughts and questions.   How could I have impacted the students more in the classroom with this extra time?  Would teachers who were not analyzing student data due to time constraints now start?  How can I make the data tell my students a story that gives them an accurate picture of their progress?   That last question is what leads to this week’s blog.   Many times the metrics (which is just a fancy word for "numbers") of what we want to show are easy to do by hand with a basic math background.  Although easy, it can be very time consuming when dealing with different groups of data: like 6 periods of students instead of 1 period. When we want to do these calculations quickl...

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 ...

Power BI: Personalize Visuals Feature

    Have you used the personalize visuals feature yet in Power BI?   If not, then you could be missing out.   The Personalize Visuals feature allows anyone you are sharing your with after published to the Power BI service to make changes to your visuals.   Have no fear though!   When they change the visuals it will not override your original report.   This feature is great if you have ever had to respond to a request from your shared users that they would like the report to be modified to their liking.   With this simple feature, the end-user can change the visualization type, change what measures or fields that are brought into the visual, and then simply make a personal bookmark after they make the changes.   Again, this will not change the initial report you published and that others have access to.   This will only make a new view of the report for the user who personalized the visual.   If you decide to use this feature...