How to Get Current Date in Power BI

Cody Schneider7 min read

Creating reports that reflect the most current information is fundamental to good data analysis. Instead of manually updating filters or titles every day, you can use Power BI’s built-in functions to automatically fetch the current date. This article will show you exactly how to use DAX functions to work with the current date, making your reports dynamic and always relevant.

Why Is the Current Date So Important in Reports?

Using the current date in Power BI isn't just about stamping your report with today's date, it's about enabling dynamic analysis that answers time-sensitive questions. When you incorporate the current date, your reports can automatically adjust to provide up-to-the-minute context.

Here are a few common scenarios where this is incredibly useful:

  • Calculating Durations: You can determine the age of an invoice, the number of days a support ticket has been open, or how long a customer has been with your company.
  • Dynamic Filtering: Easily create views that show performance "this week," "this month," or "this quarter" without having to change the date filters manually.
  • Tracking Performance: Build key metrics like month-to-date (MTD) or year-to-date (YTD) sales, which automatically update every day.
  • Enhancing Titles and Labels: Add dynamic titles to your visuals, like "Sales Performance as of September 26, 2023," to provide clear context for your audience.

The Core DAX Functions: TODAY() and NOW()

To get the current date and time in Power BI, you'll mainly rely on two simple but powerful Data Analysis Expressions (DAX) functions: TODAY() and NOW(). While they seem similar, they serve slightly different purposes, and choosing the right one depends on the level of detail you need.

A critical point to remember is that these functions update only when the Power BI dataset is refreshed. If you open a report that was last refreshed three days ago, TODAY() will return the date of that refresh, not today’s actual date. This behavior is key to understanding how they work in real-world scenarios.

TODAY(): Just the Date

The TODAY() function is straightforward: it returns the current date. The time is always set to 12:00:00 AM, so you get a clean date value without any time-of-day information. This makes it perfect for purely date-based calculations.

Syntax:

TODAY()

You can use this function to create either a new measure or a calculated column.

Example: Creating a 'Current Date' Measure

  1. In the Report View, navigate to the Modeling tab in the ribbon.
  2. Click on New Measure.
  3. In the formula bar, type the following DAX expression:
Current Date = TODAY()
  1. Press Enter. You now have a measure that will always hold the current date of the last refresh.

You can add this measure to a Card visual to display the current date anywhere in your report.

NOW(): Date and Time

The NOW() function takes it a step further by returning the current date and the exact timestamp. This is useful when you need to know not just the date of the last refresh, but the specific time it happened.

Syntax:

NOW()

Example: Creating a 'Last Refreshed' Timestamp

  1. On the Modeling tab, click New Measure.
  2. Enter this formula to capture the precise date and time:
Last Refresh Timestamp = NOW()
  1. Press Enter to save the measure.

Using this in a card visual is a great way to communicate to your report viewers how fresh the data is, for example by putting it in the corner of your report page.

Putting Them Side-by-Side: TODAY() vs. NOW()

Here’s a quick summary to help you decide which function to use:

  • Use TODAY() for calculations involving whole days, like aging, date comparisons, and YTD/MTD metrics. Think of it as the go-to for anything related to "How many days...?"
  • Use NOW() when the precise time of an event matters, like showing a "Last Refreshed" timestamp or working with data that includes specific timestamps.

Practical Applications in Your Reports

Now, let's look at how you can apply these functions to solve real-world problems. These examples combine TODAY() with other DAX functions to build useful calculations.

Technique 1: Calculating the Age of Sales Invoices

Imagine you have a table of sales invoices, each with an [InvoiceDate]. You want to see how old an invoice is so you can prioritize collections. This is a perfect job for a calculated column, since you need to calculate the age for each individual invoice (i.e., for each row).

  1. Go to the Data view in Power BI and select your invoices table.
  2. Click on New Column from the "Table tools" tab in the ribbon.
  3. Enter the following DAX formula. This subtracts the invoice date from today's date and returns the difference in days:
Invoice Age (Days) = DATEDIFF(Invoices[InvoiceDate], TODAY(), DAY)
  1. Press Enter. Power BI will add a new column to your table showing the current age of every invoice. Now you can use this in tables or charts to highlight overdue invoices.

Technique 2: Creating a Dynamic Report Title

Static titles can be misleading. A title that automatically updates gives your audience confidence that they're looking at current information. Using a measure lets us accomplish this.

  1. Create a new measure using the formula below. The FORMAT() function lets you display the date in a more reader-friendly way:
Dynamic Page Title = "Sales Summary Report as of " & FORMAT(TODAY(), "mmmm d, yyyy")
  1. Go to your report canvas and add a Card visual.
  2. Drag the Dynamic Page Title measure into the "Fields" well of the card.
  3. In the Format pane, you can turn off the "Category label" and adjust the font size and color to make it look like a title. Every time your data refreshes, this title will update automatically.

The Power BI Best Practice: Using a Calendar Table

While you can use TODAY() directly in many formulas, the most robust, flexible, and scalable way to handle dates in Power BI is by using a dedicated Calendar Table (also called a Date Table). A Calendar Table acts as a central source for all dates, allowing you to build more advanced time intelligence measures and simplify filtering.

Once you have a Calendar Table, you can add calculated columns to it that compare each date to TODAY(). This makes filtering your entire report for a specific time period incredibly simple.

Creating a Simple Calendar Table

You can create a Calendar Table right inside Power BI using DAX.

  1. Go to the Modeling tab and click New Table.
  2. Enter a formula to generate a range of dates. This example creates dates from January 1, 2020, up to today’s date:
Calendar = CALENDAR(DATE(2020, 1, 1), TODAY())
  1. After creating the table, go to the Model view to create a relationship between your Calendar table's date column and the date column in your main data table (e.g., Sales[OrderDate]).

Adding Relative Date Columns to Your Calendar Table

With your Calendar Table set up, you can add columns that help you filter your data relative to today. Click New Column and add columns like these:

Is Future?

This column flags any dates that are in the future relative to the last refresh.

IsFuture = IF('Calendar'[Date] > TODAY(), TRUE(), FALSE())

You can now use the filter pane to set IsFuture to "FALSE" on all your report pages to prevent future (and potentially blank) dates from being shown.

Relative Day

This column shows how many days ago a date was. Today is 0, yesterday is -1, tomorrow is 1, and so on.

RelativeDay = DATEDIFF(TODAY(), 'Calendar'[Date], DAY)

With a column like this, you can easily filter visuals to show data for the "last 7 days" by filtering RelativeDay to be between -6 and 0.

Final Thoughts

Leveraging TODAY() and NOW() is a foundational skill in Power BI that elevates your reports from static snapshots to dynamic, interactive dashboards. By combining these functions with measures, calculated columns, and the best practice of a dedicated Calendar Table, you can provide timely, relevant insights that always reflect the most up-to-date information.

Mastering DAX requires practice, but it's a huge step toward creating more powerful reports. Still, building truly valuable analytics often becomes a time suck, involving hours of DAX writing and chart building. With Graphed , we felt this manual work could be easier. You can connect all your data sources and simply describe what you need - like, "Compare my Facebook Ads spend versus Shopify revenue for the last 30 days." We build the dashboard for you in real time, so you can quit searching for DAX formulas and start getting immediate answers to your business questions.

Related Articles

How to Connect Facebook to Google Data Studio: The Complete Guide for 2026

Connecting Facebook Ads to Google Data Studio (now called Looker Studio) has become essential for digital marketers who want to create comprehensive, visually appealing reports that go beyond the basic analytics provided by Facebook's native Ads Manager. If you're struggling with fragmented reporting across multiple platforms or spending too much time manually exporting data, this guide will show you exactly how to streamline your Facebook advertising analytics.

Appsflyer vs Mixpanel​: Complete 2026 Comparison Guide

The difference between AppsFlyer and Mixpanel isn't just about features—it's about understanding two fundamentally different approaches to data that can make or break your growth strategy. One tracks how users find you, the other reveals what they do once they arrive. Most companies need insights from both worlds, but knowing where to start can save you months of implementation headaches and thousands in wasted budget.