Best Practice for Creating a Date Table in Power BI
You are designing a data model in Power BI. You have a Sales table and a Date table. The Date table should contain all dates from 2020 to 2025. What is the best practice for creating the Date table?
Quick Answer
The best practice for creating a date table in Power BI is to use the CALENDAR function in DAX to generate a separate, standalone table. This approach is correct because it guarantees a complete, contiguous date range from 2020 to 2025, independent of your Sales table, ensuring that every date is present for accurate time intelligence calculations like year-over-year growth. On the Microsoft Power BI Data Analyst PL-300 exam, this concept tests your understanding of modeling best practices—specifically that relying on transaction dates alone can lead to gaps, which break functions like TOTALYTD. A common trap is assuming you can auto-generate dates from the Sales table, but the exam expects a dedicated date table for robust filtering and reporting. Memory tip: think "CALENDAR creates the calendar, not the data"—if your date table depends on sales, you miss dates with no sales.
⚠ Common exam trap
Watch out — candidates often think using the Sales table's date column directly (Option B) is simpler and sufficient, but this violates the requirement for a complete date dimension and fails when no sales occur on certain dates, which is a common pitfall tested in PL-300.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Create a separate Date table using CALENDAR function in DAX.
Using the CALENDAR function to create a separate Date table ensures a complete, contiguous date range from 2020 to 2025, independent of the Sales table. This is a best practice in Power BI for time intelligence, as it guarantees all dates are present for accurate year-over-year calculations and avoids gaps or missing dates that could occur if relying solely on transaction data.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Create a calculated table using VALUES from the Sales table's date column.
Why it's wrong here
May miss dates with no sales, causing gaps.
- ✗
Use the Sales table's date column directly as the date dimension.
Why it's wrong here
Not a best practice; lacks continuous dates.
- ✗
Enable the auto date/time option in Power BI settings.
Why it's wrong here
Auto date/time is less flexible and can cause issues.
- ✓
Create a separate Date table using CALENDAR function in DAX.
Why this is correct
Ensures a continuous date range for time intelligence.
Go deeper
Related to this question
About these practice questions
Courseiva writes every PL-300 question from scratch — 217 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
2 more ways this is tested on PL-300
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. You are preparing a data model that uses a date table. You need to ensure that the date table includes all dates from January 1, 2020 to December 31, 2025. What is the most efficient way to create this date table in Power Query?
medium- A.Import a date table from an Excel file.
- ✓ B.Use the 'List.Dates' function to generate the date range.
- C.Use the 'Calendar' function in Power Query M.
- D.Use the 'CALENDAR' DAX function in Power Query.
Why B: The 'List.Dates' function in Power Query M is the most efficient way to generate a contiguous range of dates directly within the query editor, without external dependencies. It creates a list of dates from a start date to an end date using a specified step (e.g., #duration(1,0,0,0) for one day), which can then be converted into a table. This approach is lightweight, fully self-contained, and avoids the overhead of importing external files or using DAX functions that are not native to Power Query.
Variation 2. You are preparing data for a Power BI report that requires a date table with continuous dates from 2020 to 2025. Which TWO methods can you use to create this date table in Power Query?
medium- A.Use the 'Enter Data' feature and manually type dates.
- B.Use the CALENDAR DAX function in a calculated table.
- C.Reference another query that already has dates.
- ✓ D.Use the List.Dates function to generate a list of dates.
- ✓ E.Create a blank query and use #date and List.Transform to generate dates.
Why D: The List.Dates function in Power Query M generates a continuous list of dates by specifying a start date, a count of dates, and a step duration. This list can then be converted into a table, making it ideal for creating a date table directly in Power Query without leaving the data transformation environment.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This PL-300 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-300 exam.