2016-06-21 238 views
0

我需要將Julian日期轉換爲Power BI模型中的日期字段,但它給了我一個錯誤。將數字轉換爲文本異常

'julian date',我的意思是一個6位數的數字,其中前三位數字是1900年後的年數,最後三位數字是一年中的某一天。 EX。 113001是2013年1月1日(113 + 1900 = 2013,001 =每年的第一天)。

爲了拿到年終,我這樣做:

Value.FromText(Text.Range(Text.From([Load Date]), 0, 3)) + 1900 

偉大的工程。然後,我需要改變成一個字符串,所以我可以將其轉換爲使用Date.FromText日期,所以:

Text.From(Value.FromText(Text.Range(Text.From([Load Date]), 0, 3)) + 1900) 

而且這是行不通的。我收到錯誤消息:

Unexpected error: Microsft.Mashup.Engine1.Runtime.Library+_Value+FromTextFunctionValue 

爲什麼不能正常工作?

+1

它適用於我。你是以列的形式添加它,還是在轉換當前列?另外,你計劃在2000年之前處理日期嗎?如果是這樣,你的方法會產生錯誤的一年。像這樣的東西應該工作:'Text.From(Value.FromText(Number.RoundDown([Load Date]/1000)+ 1900))' –

+0

這將是一個新的專欄。您發佈的代碼適合我。我只注意到一些日期字段只是'0',但我認爲這不會導致第二段代碼中的Text.From失敗,對吧? – confusedKid

+1

'Text.From(0)'應該返回文本值「0」。如果出現錯誤彈出窗口,您可能會發送一個皺眉,應該包含一些有用的信息,例如發生故障的堆棧軌跡。 –

回答

0
#date(1900 + Number.From(Text.Start([Load Date],3)),1,1) + #duration(Number.From(Text.End([Load Date],3))-1,0,0,0) 

這是真實日期。

Regards