2016-06-21 29 views
0

Ich muss ein Julian-Datum in ein Datum-Feld in meinem Power BI-Modell konvertieren, aber es gibt mir einen Fehler.Konvertieren einer Zahl in Text Ausnahme

Mit 'julian date' meine ich eine 6-stellige Zahl, wobei die ersten drei Ziffern die Anzahl der Jahre nach 1900 und die letzten drei Ziffern der Tag des Jahres sind. EX. 113001 ist der 1. Januar 2013 (113 + 1900 = 2013 und 001 = erster Tag des Jahres).

das Jahr zu bekommen, habe ich dieses:

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

die großen Werke. Dann brauchte ich, dass in einen String zu ändern, so dass ich es auf ein Datum mit Date.FromText umwandeln kann, so:

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

Und es funktioniert nicht. Ich erhalte eine Fehlermeldung:

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

Warum funktioniert das nicht?

+1

Es funktioniert für mich. Fügen Sie das als Spalte hinzu oder transformieren Sie die aktuelle Spalte? Planen Sie Daten vor 2000 zu bearbeiten? Wenn dies der Fall ist, wird Ihre Methode das falsche Jahr generieren. So etwas sollte funktionieren: 'Text.From (Value.FromText (Number.RoundDown ([Ladedatum]/1000) + 1900)) –

+0

Dies wird eine neue Spalte sein. Der Code, den du gepostet hast, hat für mich funktioniert. Ich habe gerade bemerkt, dass einige der Datumsfelder nur '0' sind, aber ich denke nicht, dass dies dazu führen würde, dass der Text.From im zweiten Teil des Codes versagt, oder? – confusedKid

+1

'Text.From (0)' sollte den Textwert "0" zurückgeben. Wenn Sie ein Fehler-Popup erhalten, können Sie möglicherweise eine Stirnrunzeln senden, die einige nützliche Informationen wie die Stack-Ablaufverfolgung, wo der Fehler aufgetreten ist, enthalten sollte. –

Antwort

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

Dies ist ein echtes Datum.

Grüße