First, you should be aware of the CALENDARAUTO()
is a predefined function that is used to auto-generate calendar dates range based on a date field in the current model. So if the current model doesn't have a table with a date field you will get CALENDARAUTO function can not find a base column of DateTime type in the model.
Fixing CALENDARAUTO function can not find a base column of DateTime type in the model.
If you don't have any table that holds a date field in your current model, you can easily create a new table with a date field like the following:
- On the
Home
tab, click on theEnter Data
button to create a new table. - The new table dialog will be shown.
- Rename the column header as you prefer, and provide a meaningful table name, then add the date values in the correct format.
- Click load to load the new table.
- Now, create a new table based on
CALENDARAUTO()
function. - Great, the new calendar date table has been created based on the provided date range in your date newly table that you have created
You can also create a date table range using CALENDAR DAX function as mentioned at How to use DAX Calendar function in Power BI?
How CALENDARAUTO() works in Power BI
The CALENDARAUTO()
generates a full year date range based on the date field in the current model.
- The
start date
would be based on the minimum date in the current model. - The
end date
would be based on the maximum date in the current model.
Example:
-
Consider you have a date field with the below values
-
So the generated calendar table will hold a date range for three years from 01/01/2018 to 31/12/2020 as shown below:
- 参考原文:
- https://www.debug.to/899/calendarauto-function-can-not-find-a-base-column-of-datetime-type-in-the-model#:~:text=Fixing%20CALENDARAUTO%20function%20can%20not%20find%20a%20base,Enter%20Data%20button%20to%20create%20a%20new%20table.
- https://devoworx.net/power-bi-dax-calenderauto/