Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Power Query: Formatierung von 'Time.From'
#1
Hallo,

in meinem aktuellen Projekt versuche ich einen 'Time.From'-Befehl dazu zu überreden, mir ein bestimmtes Format zu liefern.

Aktuell ergibt der Befehl, angewandt auf ein Feld, das Datum- und Zeit-angaben im Format "DD.MM.YYYY hh:mm:ss" enthält, nur Werte im Format "hh:mm" zurück.
Wie kann ich dem Time.From() mitteilen, dass er bitte Stunden, Minuten UND Sekunden liefern soll? Die µsoft-Webseiten, die ich dazu befragt habe, deuten an, dass man mit der Option 'Culture' auch ein Format mitgeben kann, aber ich habe dazu nix Brauchbares gefunden.

Weiß jemand dazu etwas Hilfreiches?

Danke,
RaiSta

P.S.: ich kann das Feld natürlich auch als Text am Leerzeichen trennen - aber hier würde ich gerne den Befehl Time.From() verwenden.
 Man(n) ist nie zu alt für die Erkenntnis, dass das bisher Gelernte doch nur bedingt gültig oder auch nur brauchbar ist. 27
Antworten Top
#2
Hi,

Time.From erwartet ja als ersten Parameter einen time-Datentyp, aber so, wie es scheint übergibst Du einen Text. Den müsstest Du dann natürlich für die Übergabe in Stunden,Minuten und Sekunden zerlegen.  Generell würde ich aber die DatumsSTRING-Spalte in je eine separate Datums- und Zeitspalte zerlegen und diese dann auch entsprechend transponieren....
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#3
(29.08.2023, 17:10)Ralf A schrieb: Time.From erwartet ja als ersten Parameter einen time-Datentyp, aber so, wie es scheint übergibst Du einen Text. Den müsstest Du dann natürlich für die Übergabe in Stunden,Minuten und Sekunden zerlegen.  Generell würde ich aber die DatumsSTRING-Spalte in je eine separate Datums- und Zeitspalte zerlegen und diese dann auch entsprechend transponieren....

Nach meinem Verständnis erwartet Time.From eine Eingabe, die als Zeit-Angabe interpretiert werden kann, ob als Text oder z.B. DateTime-Wert (wie im konkreten Fall). Das macht die Time.From-Funktion auch zuverlässig - nur die Ausgabe (ohne Sekunden, nur Stunden:Minuten) stört mich. Daraus ergibt sich die von mir gestellte Frage, wie ich steuern kann, welches Format Time.From liefert.

Gruß und Dank,
RaiSta
 Man(n) ist nie zu alt für die Erkenntnis, dass das bisher Gelernte doch nur bedingt gültig oder auch nur brauchbar ist. 27
Antworten Top
#4
Hallo RaiSta,

ich glaube, deine Beschreibung ist unbeabsichtigt etwas durcheinander. Time.From gibt nichts formatiertes zurück, sondern nur einen Wert vom Typ Time. Dieser hat immer Sekunden und hundertstel und tausendstel. Die Frage ist also nicht, wie du das Ergebnis formatierst, sondern wie die Eingabe konkret aussieht. Wenn es sich um einen Text handelt, der auch ein Datum enthält, musst du dies erst in ein wandelbares Format umwandeln (zum Beispiel DateTime):
Code:
= Table.AddColumn(Quelle, "Benutzerdefiniert", each Time.From(DateTime.From([Stempel])))
Alternativ kannst du den Datumsteil ignorieren indem du den Text splittest:
Code:
= Table.AddColumn(Quelle, "Benutzerdefiniert", each Time.From(Text.Split([Stempel]," "){2}))
Dass Sekunden verloren gehen, kann ich nicht nachvollziehen. Hast du vielleicht eine Beispieldatei dazu`?

Viele Grüße
derHöpp
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste