Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeilen einer TXT datei in spalten bringen
#31
(12.05.2018, 06:33)BeginnerBUS schrieb: Meintest du die myrecords.txt Datei oder die xlsx ? Falls es die txt Datei war: ja, die liefert ja "bescheuerte" Datenformatierung und ist der Grund weshalb ich hier herkam :)
Denn ich will eine Möglichkeit finden, diese schlecht formatierten Rohdaten in eine schöne Tabelle zu bekommen, ohne den Rohdatensatz dabei jedesmal von Hand editieren zu müssen.
...
Es kommen künftig aber noch Datensätze in dem selben Format von anderen Personen. Es interessiert mich deshalb wirklich sehr, wie du diese Tabelle "Auswertung" mit PowerQuery erstellst...
Hallo, ich meinte, dass der Anfang mit Time beginnen sollte, nicht mit einem Rest von einem Datensatz; dass man nicht zweimal innerhalb einer Minute auf das Gerät steigt, sodass Nullwerte  entstehen. Ansonsten geht doch das ganz gut... Ich schaue mir jetzt noch deine "neuen" Dateien an. Aber myrecords.txt geht prima, wie man sieht...

Oder ist Time gar nicht der Beginn des Datensatz', sondern Muscle Mass...!?!?! Ist doch sehr unwahrscheinlich...!!!
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#32
(12.05.2018, 11:58)Jockel schrieb: Oder ist Time gar nicht der Beginn des Datensatz', sondern Muscle Mass...!?!?! Ist doch sehr unwahrscheinlich...!!!
Ich habe den ersten Datensatz mit dem ersten Wert beginnen lassen. Komischerweise heißt es dort noch Mass und später dann Muscle Mass.
Aber deine Variante ist auch möglich. Der erste Datensatz beginnt mit dem ersten Timestamp. Dann müsste ich meine Lösung noch mal überarbeiten.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#33
(12.05.2018, 06:33)BeginnerBUS schrieb: Es kommen künftig aber noch Datensätze in dem selben Format von anderen Personen.
Stehen die dann die Daten aller Personen in einer Datei oder hat jede Person eine separate Datei?
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#34
DD - Danke Detlef, für den (versteckten) Tipp mit einer Index-Spalte. Die Lösung mit PQ wird für mich immer besser..! Ich bin jetzt hier... (mit  Att_1_myrecords.txt )

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFGHIJ
1DateTimeWeightBody waterBody fatBone MassVisceral fatBMRMuscle MassBMI
219.04.201813:1877,6 kg56,4%17,8%3,2 kg8,01907,060,7 kg24,2
316.04.201811:3978,3 kg56,2%18,0%3,2 kg8,01920,061,0 kg24,4
412.04.201811:5674,0 kg57,7%15,9%3,1 kg8,01845,059,1 kg23,1
511.04.201800:3577,5 kg56,2%18,1%3,1 kg8,01906,060,3 kg24,2
610.04.201807:5076,5 kg56,7%17,4%3,1 kg8,01888,060,1 kg23,9
707.04.201821:0877,8 kg56,6%17,5%3,2 kg8,01911,061,0 kg24,3
831.03.201809:0878,2 kg56,4%17,9%3,2 kg8,01918,061,1 kg24,4
930.03.201809:1977,4 kg56,5%17,6%3,1 kg8,01904,060,6 kg24,2
1029.03.201809:1676,5 kg56,8%17,2%3,1 kg8,01888,060,2 kg23,9
1128.03.201820:1176,7 kg56,9%17,1%3,1 kg8,01892,060,5 kg23,9
1228.03.201809:4875,6 kg57,1%16,8%3,1 kg8,01873,059,8 kg23,6
1327.03.201800:3077,1 kg56,5%17,7%3,1 kg8,01899,060,3 kg24,1
1425.03.201823:5078,4 kg55,8%18,7%3,1 kg8,01921,060,6 kg24,5
1523.03.201815:4176,2 kg56,9%17,1%3,1 kg8,01883,060,1 kg23,8
1622.03.201808:3277,3 kg56,4%17,7%3,1 kg8,01902,060,5 kg24,1
1721.03.201814:4776,5 kg57,0%16,9%3,1 kg8,01888,060,4 kg23,9
1821.03.201812:0278,8 kg55,9%18,6%3,2 kg8,01928,061,0 kg24,6
1921.03.201812:0278,8 kg0,0%0,0%0,0 kg0,00,00,0 kg24,6
2021.03.201811:2378,5 kg56,2%18,1%3,2 kg8,01923,061,1 kg24,5
2121.03.201811:0077,2 kg56,6%17,4%3,1 kg8,01900,060,6 kg24,1
2221.03.201810:5677,3 kg56,7%17,4%3,2 kg8,01902,060,7 kg24,1
2321.03.201810:5477,2 kg56,7%17,3%3,2 kg8,01900,060,7 kg24,1
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#35
(12.05.2018, 12:50)Jockel schrieb: DD - Danke Detlef, für den (versteckten) Tipp mit einer Index-Spalte. Die Lösung mit PQ wird für mich immer besser..! Ich bin jetzt hier... (mit  Att_1_myrecords.txt )
Also du hast das mit der Rohdatei und mit PQ gemacht? Das sieht so toll aus. Erfahre ich wie es gemacht wird? Könnte ich die Datei haben und den, ich nenne es mal Importcode in PQ, sehen um ihn nachvollziehen zu können?
Ich habe inzwischen etwas mit vba angefangen und werde wohl noch etwas brauchen, bis ich sowas alleine zustande bekomme.
Künftige Datensätze von anderen Personen kommen in einer seperaten Datei, aber in derselben Formatierung.
Antworten Top
#36
Ja, klar später ich muss gleich wech... aber gegen Mittag... Bis dahin.
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#37
Hallo, ich habe eine leere Datei --> Power Query aus Datei --> deine Datei hatte ich vorher abgespeichert... ... und dann sukzessive folgende Schritte durchgeführt (davon sind zwei oder drei Schritte selbst "programmiert" bzw. geschrieben...:

Du nimmst eine leere Datei her. Neue Abfrage --> Ansicht --> Erweiterter Editor und code einfügen... Fertisch...! "Meine" Datei macht da wenig Sinn, wil da alles genau so drin ist... Du musst die Tabelle nachher nur noch nach "gut dünken" formatieren...

PHP-Code:
let
    Quelle 
Table.FromColumns({Lines.FromBinary(File.Contents("C:\DatenBank\Att_1_myrecords.txt"), nullnull1252)}),
 
   #"Entfernte oberste Zeilen" = Table.Skip(Quelle,3),
 
   #"Gefilterte Zeilen" = Table.SelectRows(#"Entfernte oberste Zeilen", each true),
 
   #"Spalte nach Trennzeichen teilen" = Table.SplitColumn(#"Gefilterte Zeilen", "Column1", Splitter.SplitTextByEachDelimiter({","}, QuoteStyle.Csv, true), {"Column1.1", "Column1.2"}),
 
   #"Geänderter Typ" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen",{{"Column1.1", type text}, {"Column1.2", type text}}),
 
   #"Spalte nach Trennzeichen teilen1" = Table.SplitColumn(#"Geänderter Typ", "Column1.2", Splitter.SplitTextByDelimiter("/", QuoteStyle.Csv), {"Column1.2.1", "Column1.2.2", "Column1.2.3"}),
 
   #"Geänderter Typ1" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen1",{{"Column1.2.1", Int64.Type}, {"Column1.2.2", Int64.Type}, {"Column1.2.3", Int64.Type}}),
 
   #"Neu angeordnete Spalten" = Table.ReorderColumns(#"Geänderter Typ1",{"Column1.1", "Column1.2.2", "Column1.2.1", "Column1.2.3"}),
 
   #"Zusammengeführte Spalten" = Table.CombineColumns(Table.TransformColumnTypes(#"Neu angeordnete Spalten", {{"Column1.2.2", type text}, {"Column1.2.1", type text}, {"Column1.2.3", type text}}, "de-DE"),{"Column1.2.2", "Column1.2.1", "Column1.2.3"},Combiner.CombineTextByDelimiter(".", QuoteStyle.None),"Zusammengeführt"),
 
   #"Spalte nach Trennzeichen teilen2" = Table.SplitColumn(#"Zusammengeführte Spalten", "Column1.1", Splitter.SplitTextByEachDelimiter({","}, QuoteStyle.Csv, false), {"Column1.1.1", "Column1.1.2"}),
 
   #"Geänderter Typ2" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen2",{{"Column1.1.1", type text}, {"Column1.1.2", type text}}),
 
   #"Entfernte Spalten" = Table.RemoveColumns(#"Geänderter Typ2",{"Column1.1.2"}),
 
   #"Spalte nach Trennzeichen teilen3" = Table.SplitColumn(#"Entfernte Spalten", "Column1.1.1", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, false), {"Column1.1.1.1", "Column1.1.1.2"}),
 
   #"Geänderter Typ3" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen3",{{"Column1.1.1.1", type text}, {"Column1.1.1.2", type text}}),
 
   #"Spalte nach Trennzeichen teilen4" = Table.SplitColumn(#"Geänderter Typ3", "Column1.1.1.2", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Column1.1.1.2.1", "Column1.1.1.2.2", "Column1.1.1.2.3", "Column1.1.1.2.4", "Column1.1.1.2.5"}),
 
   #"Geänderter Typ4" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen4",{{"Column1.1.1.2.1", type text}, {"Column1.1.1.2.2", type text}, {"Column1.1.1.2.3", type text}, {"Column1.1.1.2.4", type text}, {"Column1.1.1.2.5", type text}}),
 
   #"Entfernte Spalten1" = Table.RemoveColumns(#"Geänderter Typ4",{"Column1.1.1.2.2", "Column1.1.1.2.3", "Column1.1.1.2.4", "Column1.1.1.2.5"}),
 
   #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Entfernte Spalten1", "Benutzerdefiniert", each if [Column1.1.1.1] = "Time" then [Column1.1.1.2.1] else ""),
 
   #"Ersetzter Wert" = Table.ReplaceValue(#"Hinzugefügte benutzerdefinierte Spalte","..","",Replacer.ReplaceText,{"Zusammengeführt"}),
 
   #"Geänderter Typ5" = Table.TransformColumnTypes(#"Ersetzter Wert",{{"Benutzerdefiniert", type time}}),
 
   #"Zusammengeführte Spalten1" = Table.CombineColumns(Table.TransformColumnTypes(#"Geänderter Typ5", {{"Benutzerdefiniert", type text}}, "de-DE"),{"Zusammengeführt", "Benutzerdefiniert"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Datum Uhrzeit"),
 
   #"Geänderter Typ6" = Table.TransformColumnTypes(#"Zusammengeführte Spalten1",{{"Datum Uhrzeit", type datetime}}),
 
   #"Nach unten gefüllt" = Table.FillDown(#"Geänderter Typ6",{"Datum Uhrzeit"}),
 
   #"Umbenannte Spalten" = Table.RenameColumns(#"Nach unten gefüllt",{{"Column1.1.1.2.1", "Werte"}, {"Column1.1.1.1", "Was"}}),
 
   #"Neu angeordnete Spalten1" = Table.ReorderColumns(#"Umbenannte Spalten",{"Datum Uhrzeit", "Was", "Werte"}),
 
   #"Hinzugefügter Index" = Table.AddIndexColumn(#"Neu angeordnete Spalten1", "Index", 1, 1),
 
   #"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Hinzugefügter Index", "Benutzerdefiniert", each [Index]/9),
 
   #"Aufrundung eingefügt" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte1", "Aufrunden", each Number.RoundUp([Benutzerdefiniert]), Int64.Type),
 
   #"Entfernte Spalten2" = Table.RemoveColumns(#"Aufrundung eingefügt",{"Index", "Benutzerdefiniert"}),
 
   #"Neu angeordnete Spalten2" = Table.ReorderColumns(#"Entfernte Spalten2",{"Aufrunden", "Datum Uhrzeit", "Was", "Werte"}),
 
   #"Pivotierte Spalte" = Table.Pivot(#"Neu angeordnete Spalten2", List.Distinct(#"Neu angeordnete Spalten2"[Was]), "Was", "Werte"),
 
   #"Entfernte Spalten3" = Table.RemoveColumns(#"Pivotierte Spalte",{"Aufrunden"}),
 
   #"Extrahiertes Datum" = Table.TransformColumns(#"Entfernte Spalten3",{{"Datum Uhrzeit", DateTime.Date, type date}}),
 
   #"Umbenannte Spalten1" = Table.RenameColumns(#"Extrahiertes Datum",{{"Datum Uhrzeit", "Date"}}),
 
   #"Geänderter Typ7" = Table.TransformColumnTypes(#"Umbenannte Spalten1",{{"Time", type time}}),
 
   #"Ersetzter Wert1" = Table.ReplaceValue(#"Geänderter Typ7","kg","",Replacer.ReplaceText,{"Weight", "Bone Mass", "Muscle Mass"}),
 
   #"Ersetzter Wert2" = Table.ReplaceValue(#"Ersetzter Wert1","%","",Replacer.ReplaceText,{"Body water", "Body fat"}),
 
   #"Ersetzter Wert3" = Table.ReplaceValue(#"Ersetzter Wert2",".",",",Replacer.ReplaceText,{"Weight", "Body water", "Body fat", "Bone Mass", "Visceral fat", "BMR", "Muscle Mass", "BMI"}),
 
   #"Geänderter Typ8" = Table.TransformColumnTypes(#"Ersetzter Wert3",{{"Weight", type number}, {"Body water", type number}, {"Body fat", type number}, {"Bone Mass", type number}, {"Visceral fat", type number}, {"BMR", type number}, {"Muscle Mass", type number}, {"BMI", type number}}),
 
   Divisionsspalte Table.TransformColumns(#"Geänderter Typ8", {{"Body fat", each _ / 100, type number}}),
 
   Divisionsspalte1 Table.TransformColumns(Divisionsspalte, {{"Body water"each _ 100type number}})
in
    Divisionsspalte1 
  
Ändere die Quelle und es sollte passen... Viel Erfolg...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
[-] Folgende(r) 1 Nutzer sagt Danke an Jockel für diesen Beitrag:
  • BeginnerBUS
Antworten Top
#38
Wenn ich das nun sehe scheint mir PQ gar nicht (far from) 'sexy' zu sein....
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#39
Hallo, ich weiß zwar nicht was du (damit) genau meinst, aber das sind (fast) alles (selbsterklärende) Klicks... ... diesen code könnte man noch kommentieren, aber dazu hatte ich weder Lust noch Zeit. Und: Dir muss es ja nicht gefallen... Aber das ist nur meine persönliche Meinung. Wahrscheinlich aber auch, weil ich keine Ahnung von VBA habe...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#40
Ich kann damit aber jetzt erstmal gut arbeiten, weil die Tabelle von Jockel genau so aussieht wie ich sie mir vorstelle. Ich bedanke mich dafür, ich habe etwas gelernt und werde mich künftig mit VBA weiter beschäftigen. 

Werde zunächst höchstwahrscheinlich stumm hier im Forum mitlesen, um Excel weiter und besser kennezulernen!

:15:
Antworten Top


Gehe zu:


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