How to Change Date Format in Power BI Using DAX

Cody Schneider6 min read

Stuck with a date format in Power BI that doesn’t quite fit your report? You're not alone. The default date formats are rarely exactly what you need for a presentation-ready dashboard. This article guides you through using DAX to change date formats into precisely what you require, from simple MM/DD/YYYY changes to full text dates like "Monday, January 1, 2024".

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Why Default Date Formats Don't Always Cut It

Most of the time, dates are imported into Power BI in a standard format like 1/15/2024 12:00:00 AM. While Power BI’s built-in formatting tools can handle some basic changes, they often fall short when you need more specific or customized displays. Here are a few common scenarios where you'll need to take control:

  • Regional Preferences: Your audience might be in Europe and expect to see dates as DD/MM/YYYY, while you're in the US and used to MM/DD/YYYY. A custom format ensures clarity for everyone.
  • Space Constraints: On a chart or in a table, a long date like "Saturday, January 20, 2024" is too bulky. A shorter version like "Jan 20" or "Q1-2024" is much cleaner.
  • Reporting Specificity: You might not need the full date at all. Perhaps your report is focused on monthly trends, so showing just the month and year ("January 2024") is more effective and less distracting.
  • Stylistic Choices: For slicers or card titles, showing just the day of the week ("Friday") or the month name ("December") can give your dashboard a more polished and user-friendly feel.

In all these cases, the solution lies in a powerful Data Analysis Expressions (DAX) function: FORMAT.

Introducing the DAX FORMAT Function

DAX is Power BI’s formula language, similar to formulas in Excel, that helps you manipulate your data. The central tool for rebranding your dates is the FORMAT function. Its structure is straightforward:

FORMAT(<value>, <format_string>)

  • <value>: This is the date you want to reformat. It’s usually a column from one of your tables, like 'Sales'[OrderDate].
  • <format_string>: This is a special text code that tells Power BI how you want the date to look. This is where you define the output.

You can use a wide variety of format codes. Here are some of the most essential ones for dates:

  • d: The day number (e.g., 5, 12, 28)
  • dd: The day number with a leading zero (e.g., 05, 12, 28)
  • ddd: The abbreviated day name (e.g., Sun, Mon, Tue)
  • dddd: The full day name (e.g., Sunday, Monday, Tuesday)
  • m: The month number (e.g., 1, 7, 12)
  • mm: The month number with a leading zero (e.g., 01, 07, 12)
  • MMM: The abbreviated month name (e.g., Jan, Jul, Dec)
  • mmmm: The full month name (e.g., January, July, December)
  • yy: The two-digit year (e.g., 23, 24)
  • yyyy: The four-digit year (e.g., 2023, 2024)

You can mix and match these codes with symbols like slashes (/), hyphens (-), commas (,), and spaces to build any format you need.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

How to Change Date Formats: Step-by-Step

The most reliable way to apply custom date formatting is by creating a new calculated column. This keeps your original date column intact (for calculations and relationships) while giving you a perfectly formatted text version for display.

Creating a Formatted Date Column

Let's assume you have a 'Sales' table with an 'OrderDate' column. We'll create a new column showing the date in the format "Mon 01, 2024".

  1. Navigate to the Data View: In your Power BI Desktop file, click the data icon (it looks like a table) in the left-hand navigation pane.
  2. Select Your Table: On the right side, in the Fields pane, find and select the table that contains your date column (in our case, the 'Sales' table).
  3. Click 'New Column': A 'Table tools' tab will appear in the top ribbon. Click the “New Column” button. This opens the formula bar where you'll write your DAX formula.
  4. Write Your DAX Formula: In the formula bar, type the following. You can name your new column whatever you like (before the equals sign).

FormattedOrderDate = FORMAT('Sales'[OrderDate], "ddd mm, yyyy")

  1. Hit Enter: Your new column, FormattedOrderDate, will instantly appear in the table with your custom date format. Each row will convert its corresponding 'OrderDate' to the new format. Easy as that.

A "Cheat Sheet" of Common Date Formats

Need some quick inspiration? Keep this list of common date format codes handy for your next report. Just swap 'Sales'[OrderDate] with your own table and column name.

Standard Formats

US Standard (MM/DD/YYYY)

US Date = FORMAT('Sales'[OrderDate], "mm/dd/yyyy")

Output: 01/21/2024

European Standard (DD/MM/YYYY)

Euro Date = FORMAT('Sales'[OrderDate], "dd/mm/yyyy")

Output: 21/01/2024

ISO 8601 (YYYY-MM-DD)

ISO Date = FORMAT('Sales'[OrderDate], "yyyy-mm-dd")

Output: 2024-01-21

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Text and Name Formats

Full Date with Weekday (Weekday, Month D, Year)

Full Date Text = FORMAT('Sales'[OrderDate], "dddd, mmmm d, yyyy")

Output: Sunday, January 21, 2024

Short, Friendly Date (Day, Mon D)

Friendly Short Date = FORMAT('Sales'[OrderDate], "ddd, mmm d")

Output: Sun, Jan 21

Partial Date Formats

Just the Month and Year

Month Year = FORMAT('Sales'[OrderDate], "mmmm yyyy")

Output: January 2024

Abbreviated Month and Year

Month YY = FORMAT('Sales'[OrderDate], "mmm 'yy")

Note: The apostrophe around 'yy' ensures the "yy" is treated literally, otherwise DAX expects a formatting symbol.

Output: Jan '24

Day of Week Only

Day of Week = FORMAT('Sales'[OrderDate], "dddd")

Output: Sunday

Quarter and Year

Qrt Yr = "Q" & FORMAT('Sales'[OrderDate], "q") & " " & FORMAT('Sales'[OrderDate], "yyyy")

Output: Q1 2024

Common Pitfalls & How to Avoid Them

Using 'FORMAT' is fantastically simple, but it introduces one big caveat. It's important to understand your new formatted dates are now text, not dates, this has two main consequences:

1. Chronological Sorting Can Break

Because your new column is text, Power BI's default behavior is to sort it alphabetically. This means "April" will appear before "February" and "January". For months, "10" would be sorted after "1". A nightmare for charts!

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

The Fix: Sort by Column

This is an absolute must-have skill in Power BI. To resolve incorrect sorting of data you've formatted yourself, simply tell Power BI to use a different order source, i.e., your original 'OrderDate' column.

  1. With your new formatted column active and highlighted (FormattedOrderDate) in the Fields panel.
  2. In the 'Column Tools' tab on your top menu bar, find the feature called 'Sort by Column'. Click here!
  3. A dropdown menu will unfold. Select your old 'OrderDate' column.

And with this power move, you have restored the rightful chronological order for your report and your dashboard visuals. Power BI is now displaying your well-formatted texts while still using 'OrderDate' to correctly sort and plot the information.

2. Date-time Intelligence Functions Will Not Work

DAX includes numerous fantastic time-intelligence functions such as 'DATESBETWEEN', 'TOTALYTD', and 'SAMEPERIODLASTYEAR'. These rely heavily on your date fields remaining as 'date' data types. When a value is formatted into text, these functions are unable to process it properly and will throw errors.

Solution: Keep Your Original Column

The solution here is to do nothing! The simple principle behind building any great Power BI data model is keeping your data's structure as clean and original as possible. That's why we created a new column instead of trying to convert our 'OrderDate' column directly. This leaves your original data untouched and allows you access for all your time-intelligent calculations when and as you need them.

Related Articles