Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Zeilen auf Spalten umsetzten

Mehr
12 Jahre 9 Monate her #505 von Nick
Zeilen auf Spalten umsetzten wurde erstellt von Nick
Hallo,

ist es möglich, Zeilen auf Spalten umzusetzen? Ich habe nachfolgende Beispieldaten:
Code:
<tr> <td class="html_qiscenter">11</td> <td class="html_qiscenter">07.06.2011</td> <td class="html_standard">103</td> <td class="html_standard">64</td> <td class="html_standard">0</td> <td class="html_standard">1</td> <td class="html_standard">168</td> </tr> <tr> <td class="html_qiscenter">12</td> <td class="html_qiscenter">07.06.2011</td> <td class="html_standard">67</td> <td class="html_standard">36</td> <td class="html_standard">0</td> <td class="html_standard">0</td> <td class="html_standard">103</td> </tr>

Die Daten eines kompletten Datensatzes stehen immer zwischen den "<tr></tr>"-Tags. Die "Blöcke" dazwischen sollen nun immer von den einzelnen Zeilen auf eine Spalte umgesetzt werden:

11;07.06.2011;103;64;0;1;168 (Daten des ersten Blocks)

Die Anzahl der Zeilen pro Block sind immer gleich, lediglich die Anzahl der Blöcke innerhalb der Datei können unterschiedlich sein.

Kann hier jemand weiterhelfen wie man so etwas realisieren kann?

Danke und Gruss
Nick

Bitte Anmelden um der Konversation beizutreten.

Mehr
12 Jahre 9 Monate her #506 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Zeilen auf Spalten umsetzten
Hallo Herr Stoeger,

Das ist eine klassische Kreuztabellenabfrage und kann im FlowHeater mittels des GroupBy Heaters umgesetzt werden. Sie benötigen dann noch einen AutoID Heater mit eingeschalteter Gruppierungsfunktion sowie pro Feld das Sie von einer Zeile in eine Spalte umwandeln möchten einen IF-THEN-ELSE Heater .

Um die Werte zwischen den HTML Tags zu extrahieren können Sie den String Replace Heater mit den erweiterten Einstellungen verwenden. Hier können Sie eine CSV Ersetzungsliste definieren worüber die führenden sowie abschließenden Tags jeweils mit einem Leerstring ersetzt werden, übrig bleibt dann nur noch der eigentliche Wert.
Zur Veranschaulichung habe ich Ihnen ein kleines Beispiel erstellt, siehe Anhang Kreuztabellenabfrage.zip.
Achtung: Das Beispiel läuft erst ab Version 2.0.5, siehe Release Notes zur Version 2.0.5 .

Umsetzung der Kreuztabellenabfrage bzw. die Gruppierung:
Damit der GroupBy Heater weiß wann eine neue Gruppe beginnt, wird hier noch ein zusätzliches Skript für den .NET Script Heater benötigt. Das Skript prüft ob in der Zeile ein <tr> vorkommt und erhöht falls der Wert gefunden wurde einen internen Zähler. Anhand dieses Wertes gruppiert der GroupBy Heater alle nachfolgenden Werte zu einer Zeile zusammen.

Um jetzt die einzelnen Zeilen einer separaten Spalte zuzuordnen benötigen Sie noch einen AutoID Heater mit eingeschalteter Gruppierungsfunktion. Hiermit wird pro Gruppe ein Zähler beginnend bei 1 hochgezählt. Diesen Wert müssen Sie über einen IF-THEN-ELSE Heater abfragen z.B. mit der Bedingung = 1 wird die erste Zeile der Gruppe abgefragt. Der DANN Wert, falls die Bedingung zutrifft weisen Sie dem Feld/der Spalte zu das Sie setzen möchten. Dieses Vorgehen ist so jetzt für jede Spalte notwendig. Schauen Sie sich hierzu das Beispiel an.
Code:
int nGroup = 0; public object DoWork() { if (InValues.Length == 0) throw new Exception("mind. ein Eingangsparameter erwartet"); string sLine = (string)InValues[0].GetString(); if (sLine == null) return nGroup; if (sLine.IndexOf("<tr>", StringComparison.CurrentCultureIgnoreCase) >= 0) { // wenn die Zeichnfolge <tr> in der Zeile vorkommt, dann ist das eine neue Gruppe nGroup++; // Gruppenzähler um 1 erhöhen! } // Der GroupBy Heater gruppiert alle Zeilen anhand dieses Werte zu einer Zeile zusammen! return nGroup; }

Anhang Kreuztabellenabfrage.zip wurde nicht gefunden.


gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden um der Konversation beizutreten.

Mehr
12 Jahre 8 Monate her #619 von Nick
Nick antwortete auf Aw: Zeilen auf Spalten umsetzten
Hallo,

Danke :-). Das läuft auch mit den html-Dateien wunderbar.

Gruss
Nick

Bitte Anmelden um der Konversation beizutreten.

Ladezeit der Seite: 0.334 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.