cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Alkhos Frequent Visitor
Frequent Visitor

DataFormat.Error: We couldn't parse the input provided as a DateTime value.

Hello,

 

I am working with a dataset retrieved as a CSV file through web.

I have a time field on the dataset with values similar to below:

         10/31/2016 4:05:00 PM

 

When data is fed to PBI desktop, it is automatically detected as "text".

When I attempt to change its type to Date/Time, I get the following error:

 

       DataFormat.Error: We couldn't parse the input provided as a DateTime value.
       Details:
       10/31/2016 6:25:00 PM

 

I have checked the source, all values are similarly formatted ( no add values in the time field )

I have also used PromoteHeaders to prmote the first row ( which contains header to the header field ) before trying to change the type.

 

The exact step that fails uses this DAX code:

 

         #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"time", type datetime}}),

 

Is there anything that I am doing wrong? or do I need any further pre-processing on this time field to be able to properly parse it?

 

Thanks

Ali

 

1 ACCEPTED SOLUTION

Accepted Solutions
Super User
Super User

Re: DataFormat.Error: We couldn't parse the input provided as a DateTime value.

After playing with your text file for 15 mins, I have found that there are some extra space at the front of your date column. Can you please remove those extra characters. 

 

Steps to follow afterwards:

1. Split the column by 11 characters. This will separate Date and Time

2. Split the Date column by "/" Delimiter

3. Change the data type of the newly created columns to Whole number

4. Bring the Day column first by dragging, Month column second and Year column last

5. Select all these three collumns and go to Add column Tab, Select Merge Columns and in Merge dialog, Select "/"Separator.

6. Change the data type of the merged column to Date.

 

So many steps .....

 

 

 

Thanks & Regards,
Bhavesh

Love the Self Service BI.
Please use the 'Mark as answer' link to mark a post that answers your question. If you find a reply helpful, please remember to give Kudos.
7 REPLIES 7
Super User
Super User

Re: DataFormat.Error: We couldn't parse the input provided as a DateTime value.

Splitting the column and rejoining them using "&" operator would solve the problem. 

Thanks & Regards,
Bhavesh

Love the Self Service BI.
Please use the 'Mark as answer' link to mark a post that answers your question. If you find a reply helpful, please remember to give Kudos.
Highlighted
Super User
Super User

Re: DataFormat.Error: We couldn't parse the input provided as a DateTime value.

That's actually Power Query "M" code, not DAX code. Definite difference. I tried this with your data and it seemed OK with what you presented. In Power Query I was able to convert it to datatime type. I would try cleaning and trimming your data column to see if it removes any weird characters or odd trailing spaces and such. You could also try the transformation in your data model (after import from Power Query) and see if it works there.

 

Any chance you can post the link to the actual CSV file?


Did I answer your question? Mark my post as a solution!

Proud to be a Datanaut!


Alkhos Frequent Visitor
Frequent Visitor

Re: DataFormat.Error: We couldn't parse the input provided as a DateTime value.

Thanks @BhaveshPatel, which delimiter did you mean to use for splitting and which for joining?

 

Thanks @Greg_Deckler,

 

Thanks for clarification regarding M and DAX Smiley Happy

 

Below is a sample of the data ( with some ananymization and keeping only two rows:

 

https://1drv.ms/t/s!AgdruS6e6l9tl3ojoTP5-737sLTI

 

I seem to have the same issue with importing this file as CSV as well ( similar to using the web source )

 

 

Super User
Super User

Re: DataFormat.Error: We couldn't parse the input provided as a DateTime value.

After playing with your text file for 15 mins, I have found that there are some extra space at the front of your date column. Can you please remove those extra characters. 

 

Steps to follow afterwards:

1. Split the column by 11 characters. This will separate Date and Time

2. Split the Date column by "/" Delimiter

3. Change the data type of the newly created columns to Whole number

4. Bring the Day column first by dragging, Month column second and Year column last

5. Select all these three collumns and go to Add column Tab, Select Merge Columns and in Merge dialog, Select "/"Separator.

6. Change the data type of the merged column to Date.

 

So many steps .....

 

 

 

Thanks & Regards,
Bhavesh

Love the Self Service BI.
Please use the 'Mark as answer' link to mark a post that answers your question. If you find a reply helpful, please remember to give Kudos.
vkandala Frequent Visitor
Frequent Visitor

Re: DataFormat.Error: We couldn't parse the input provided as a DateTime value.

Hi,

Could you please help me in fixing the error.

 

let
DayPassedInYear = (x) =>
let
MonthList=List.Numbers(1,Date.Month(DateTime.FromText(x))-1),
Year=Date.Year(DateTime.FromText(x)),
DaysInMonthList=List.Transform(MonthList,each Date.DaysInMonth(DateTime.FromText(Text.From(Year)&"-"&Text.From(_)&"01")))
in
Date.Day(DateTime.FromText(x))+List.Sum(DaysInMonthList)
in
DayPassedInYear("7/10/2014")

 

 

Date expression error.png

 

Thanks

amat11025 New Member
New Member

Re: DataFormat.Error: We couldn't parse the input provided as a DateTime value.

I had the same issie but half of the colum was error other half is ok . 

This is what I have done 

 

1. Split the colum by Delimiter Custom" / "Each Occurrence of dilimeters 

2. Carefully look at the colums and found that error is caused due to date is recoded without leading zero eg ; 8th is recorede as 8 but it needed to be 08 

3. Then I Inserted leading zero - chage the data type to text  then Incert Custom Colum Text.PadStart([Date]),2,”0″)

 There we go you will see the leading zero 

4. Then go to merge all sorted . 

 

 

Thanks 

kingrob01 New Member
New Member

Re: DataFormat.Error: We couldn't parse the input provided as a DateTime value.

How would I fix this error? It appears after I perform a data refresh.

DataFormat.Error: We couldn't parse the input provided as a DateTime value.
Details:
18 Days 15 Hours 59 Minutes