2016-06-21 224 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