Forum Discussion
How to change data type text to date direct query mode
- 4 years ago
Hi SBC ,
DirectQuery has limitations in the data transformations that can be applied within Power Query Editor.
First, when connecting to an OLAP source like SAP Business Warehouse, no transformations can be defined at all, and the entire external model is taken from the source. For relational sources, like SQL Server, it's still possible to define a set of transformations per query, but those transformations are limited for performance reasons.
Any such transformation will need to be applied on every query to the underlying source, rather than once on data refresh, so they're limited to those transformations that can reasonably be translated into a single native query. If you use a transformation that is too complex, you receive an error that either it must be deleted or the model switched to import.
You can create a measure to replace the date column
Here is an example:
Here is the measure:
Measure = var _y = VALUE(LEFT(MAX('Table'[Column]),4)) var _m = VALUE(LEFT(RIGHT(MAX('Table'[Column]),5),2)) var _d = VALUE(RIGHT(MAX('Table'[Column]),2)) return DATE(_y,_m,_d)Then change the format of the measure:
Final output:
Kind Regards,
Bubble
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi SBC ,
DirectQuery has limitations in the data transformations that can be applied within Power Query Editor.
First, when connecting to an OLAP source like SAP Business Warehouse, no transformations can be defined at all, and the entire external model is taken from the source. For relational sources, like SQL Server, it's still possible to define a set of transformations per query, but those transformations are limited for performance reasons.
Any such transformation will need to be applied on every query to the underlying source, rather than once on data refresh, so they're limited to those transformations that can reasonably be translated into a single native query. If you use a transformation that is too complex, you receive an error that either it must be deleted or the model switched to import.
You can create a measure to replace the date column
Here is an example:
Here is the measure:
Measure =
var _y = VALUE(LEFT(MAX('Table'[Column]),4))
var _m = VALUE(LEFT(RIGHT(MAX('Table'[Column]),5),2))
var _d = VALUE(RIGHT(MAX('Table'[Column]),2))
return DATE(_y,_m,_d)Then change the format of the measure:
Final output:
Kind Regards,
Bubble
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- DataInsights4 years ago
Super User
The limitation of a date measure is that you can't use it in a date slicer or in a relationship with the date table. If possible, use the SQL functions CAST or CONVERT, which will enable you to have a date column (as opposed to a measure).
- Anonymous3 years agoNot applicable
I want to ask why do we need to use the MAX function, when I applied the same function on my table, my new column show the latest date of the [Column] , instead of converting the text on the left side. However, when I remove MAX function, it doesn't work, and it showed error as Direct Query doesn't support DATE function. Any solution ??? Thanks.
- Gayathri_vinay2 years agoNew Member
I have used same formula but I am getting same value for all the columns and that is with wrong date value.
Could you please tell me how I can solve this.