Messwerte (US-Format) formatieren und aktualisieren

Foren-FAQ: Messwerte im US-Format nach DE formatieren und aktualisieren.

Kurz­form der Anfrage in einem Forum: Zwei unter­schiedliche Mess­werte (Feuchtigkeit und Tem­per­atur) wer­den durch Sen­soren im 15-Minu­ten­takt erfasst. Die Dat­en wer­den fort­laufend in eine Text­datei mit einem Semi­kolon ; als Tren­ner geschrieben. Nach ein­er vol­lau­toma­tis­chen oder händis­chen Aktu­al­isierung sollen die Dat­en in eine 3‑spaltigen Tabelle stets auf dem neuesten Stand dargestellt wer­den. Die Beispiel­d­atei aus dem Forum kön­nen Sie hier als Text­datei herun­ter­laden.

Importieren Sie die Datei über das Menü Pow­er Query (Excel 201013) oder Dat­en | Abrufen und trans­formieren (Excel 2016365) in den Abfrage-Edi­tor. Pow­er Query erken­nt ohne ihr Zutun dass das Semi­kolon als Tren­ner für die Spal­ten dient. Sie erweit­ern die Schalt­fläche Laden ▼ und wählen dort Laden in… Im fol­gen­den Dia­log Klick­en Sie auf Nur Verbindung erstellen, da sie im End­ef­fekt ja nur die auf­bere­it­eten Dat­en darstellen wollen. Nach einem Klick auf Laden ▼ sehen Sie im Tabel­len­blatt (noch) keine Dat­en, aber wenn Sie den Abfrage-Edi­tor beispiel­sweise durch einen Dop­pelk­lick auf die Schalt­fläche im recht­en Seit­en­fen­ster öff­nen, erken­nen Sie die importierten Dat­en.

Falls Sie sich vorher in einem Edi­tor die Dat­en in der Text­datei ange­se­hen haben wird Ihnen auf­fall­en, dass in der 1. Spalte Column1 der Dez­i­malpunkt „unter­schla­gen” wor­den ist. Darum als ersten Schritt im recht­en Seit­en­fen­ster bei Angewen­dete Schritte den zweit­en angezeigten Schritt Geän­dert­er Typ löschen. Das führt dazu, dass der Daten­typ dieser Spalte nicht mehr Dez­i­malzahl ist son­dern Text, dafür aber mit dem Dez­i­malpunkt.

Um daraus eine Dez­i­malzahl nach deutsch­er Lesart (also mit dem stan­dard­mäßi­gen Kom­ma als Dez­i­mal­tren­ner) zu machen, ändern Sie wiederum den Daten­typ:

  • Recht­sklick in die Über­schrift Column1
  • Wählen Sie im Kon­textmenü Typ ändern | Mit Gebi­etss­chema…
  • Im Dia­log wählen Sie bei Daten­typ Dez­i­malzahl und bei Gebi­etss­chema Englisch (USA). Ich klicke dazu auf die Taste F, dadurch wird im Drop­down auch die gewün­schte Auswahl sicht­bar und kann direkt angek­lickt wer­den.

Die 2. und die 3. Spalte sind als Text for­matiert, was auch erst ein­mal so bleiben kann. Die Spalte Column3 soll aber zu einem echt­en Datum umge­wan­delt wer­den. Was in Plain Excel mit der TEIL()-Funk­tion recht ein­fach wäre ist hier doch etwas aufwendi­ger. Wobei es dann auch gar nicht so schlimm ist, denn Pow­er Query kann dank der Sprache M aus dem ersten Teil jedes Zellinhalts dur­chaus ein Datum erzeu­gen. Ich gehe dazu so vor:

    • Klick in ein beliebiges Datum der Liste.
    • Unter­halb des Trennstrichs, welch­er sich unter der Liste befind­et, ste­ht noch mal der Inhalt dieser Zelle als markier­bar­er Text. Ich klicke dort hinein und zäh­le die Anzahl der Zeichen bis zu den Sekun­den (ein­schließlich). Das geht recht gut, wenn ich den Cur­sor jew­eils mit den Tas­ten nach rechts bewege.
    • Da die Zählweise in PQ so gut wie immer 0‑basiert ist ziehe ich 1 vom gefun­de­nen Werte ab.
    • Menü Spalte hinzufü­gen | Benutzerdefinierte Spalte.
    • Als Spal­tenna­men vergebe ich Datum/Zeit.
    • In das große Textfeld Benutzerdefinierte Spal­tenformel gebe ich nach dem = in exakt dieser Schreib­weise ein: Start([Column3], 24) und bestäti­gen damit OK.
    • Weisen Sie der neu erstell­ten Spalte über das Menüband oder Recht­sklick in die Über­schrift den Daten­typ Datum/Uhrzeit zu.
    • Löschen Sie die Spalte Column3, die jet­zt nicht mehr gebraucht wird.

Hin­weis: Ergänzung vom 26.03.2018 23:00
Das war die Lang­form. Ich habe das ein­mal so gezeigt, damit Sie sich ein wenig mit der Sprache M ver­traut machen. Dieses oder jenes geht näm­lich nur über diesen Weg. Speziell das kürzen des Datum-Begriffs geht aber auch etwas kom­fort­abler. Auch hier die Stich­punk­te:

  • Markieren Sie die Über­schrift Column3.
  • Zählen Sie aus, wie viel Zeichen Sie von links mit 1 begin­nend brauchen.
  • Menü Spalte hinzufü­gen | Extrahieren | Erste Zeichen
  • Tra­gen Sie im Dia­log 24 (Zeichen) ein und OK.
  • Löschen Sie die Spalte Column3.
  • Benen­nen Sie die eben erstellte Spalte in Datum/Zeit um.
  • Passen Sie den Typ auf Datum/Zeit an.

Die Forderung des Fragestellers war nun so, dass die zu erstel­lende Tabelle so ausse­hen soll (wörtlich­es Zitat):

Spalte 1 = Wert.
Hier kom­men die Werte 29,50 30,0 etc.einfach untere­inan­der als Zahl for­matiert
Spalte 2 = W_Name (Feuchtigkeit, Tem­per­atur=
Spalte 3 = Datum in dem For­mat 23.03.2018 14:23

Wenn das so real­isiert wer­den soll, ein­fach an dieser Stelle ein Klick auf Schließen & laden. Es wird Sie vielle­icht ver­wun­dern, dass sich eigentlich nichts getan hat; es wurde (immer noch) keine Tabelle erstellt. Das lässt sich aber rasch ändern, indem sie im recht­en Seit­en­fen­ster ein Recht­sklick auf die Abfrage machen, dort Laden in… wählen und in der oberen Hälfte Tabelle anklick­en. Im unteren Bere­ich des Dialogs wählen Sie Beste­hen­des Arbeits­blatt und belassen es bei der Ziel­po­si­tion $A$1. Ruck­zuck sind die Dat­en an dieser Posi­tion. Was vielle­icht noch bleibt: Die Über­schriften nach Wun­sch anpassen, was natür­lich im Abfrage-Edi­tor passieren sollte, damit das auch nach Aktu­al­isierun­gen so bleibt. 😉 

Zugegeben, ich finde das nicht so wirk­lich über­sichtlich. Falls jedoch später eine Piv­ot­ta­belle erstellt wer­den soll, ist das aber im Gegen­satz zu ein­er Kreuzta­belle eine gute Wahl. Ich finde für eine über­sichtliche Darstel­lung eine Kreuzta­belle ein­fach schick­er. Dazu öff­nen Sie wiederum die Abfrage und erstellen davon über Start | Ver­wal­ten | Duplizieren ein Dup­likat. Ich benenne die Abfrage gle­ich etwas um, indem ich in die Klam­mern statt der 2 das Wort Kreuzta­belle schreibe.

  • Wech­sel in das Menü Trans­formieren.
  • Markieren Sie die mit­tlere Spalte Column2 durch einen Klick in die Über­schrift.
  • Wählen Sie im Menüband den Punkt Spalte Piv­otieren:
Pivotieren der Daten für die Darstellung als Kreuztabelle

Piv­otieren der Dat­en für die Darstel­lung als Kreuzta­belle

  • Belassen Sie es bei der Vor­gabe und Klick­en Sie auf OK.

Sie erken­nen, dass die Über­schriften ohne ihr Zutun vergeben wor­den sind. Und sie haben die gewün­schte Darstel­lung als Kreuzta­belle. Schließen & laden und in einem neuen Tabel­len­blatt wer­den diese Dat­en in exakt dieser Form in eine Liste geschrieben. Die Zahlen kön­nen so bleiben oder auch noch so for­matiert wer­den, dass beispiel­sweise bei der Tem­per­atur das Grad-Zeichen ° mit angezeigt wird. In der Spalte Feuchtigkeit kön­nen Sie über die Benutzerdefinierte Zahlen­for­matierung noch das Prozent-Zeichen in Anführungsstrichen dahin­ter schreiben lassen. Wenn sie später mehr ver­traut sind mit Pow­er Query, dann wer­den Sie inner­halb der Abfrage vielle­icht eine Divi­sion durch 100 anstoßen und diese neuen ver­min­derten Werte dann der erzeugten Tabelle/Liste als % for­matiert:

Die Daten als Kreuztabelle und formatiert

Die Dat­en als Kreuzta­belle und for­matiert

Eine Aktu­al­isierung kann dann nach Wun­sch durch Klick auf die Schalt­fläche Aktu­al­isieren / Alle Aktu­al­isieren (inner­halb des Abfrage-Edi­tors) bzw. über einen Recht­sklick und dort eben­falls Aktu­al­isieren erfol­gen. Alter­na­tiv ist es dur­chaus möglich, ein Makro im gewis­sen Zeit-Rhyth­mus die Aktu­al­isierung der Abfra­gen durch­führen zu lassen.

▲ nach oben …

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrer­seits z.B. 2,00  freuen …

Dieser Beitrag wurde unter Datentyp anpassen, Datum & Zeit, Foren-Q&A, Formatierung, Power Query, PQ-Formeln (Sprache M) abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.