Clever-Excel-Forum

Normale Version: flache Tabelle umwandeln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

als Kopie einer mittlerweile kaputten MS-Access-DB ist eine CSV-Datei noch vorhanden geblieben. Darin sind sämtliche Infos aus der DB vorhanden, verbunden sind die Infos durch die eindeutige ID.

Damit ich mit den Daten noch was anfangen kann, müsste ich die flache Tabelle mit etwa 200.000 IDs und insgesamt etwa 2.000.000 Zeilen in eine Tabelle umwandeln, die so wie im Beispiel zuu sehen, so aufgebaut, dass in jeder Excel Zeile nur 1 ID vorkommt. Mit welcher Excel-Formel könnte man das bewerkstelligen?

Bitte um Hilfe!

LG
Hi,

a) die csv-Datei musst du wohl in mehrere csv's aufteilen, da Excel, so viel ich weiß, nur ca 1 Mio Zeilen pro Datei aufnehmen kann ("nur" 1 Mio..LOL...aber nun gut Smile )
b) kannst du bitte anstelle eines Bildes ein Excel oder CSV-Bsp-Datei per Upload zeigen, weil man in Excel mit Excel, bzw CSV-Datei besser testen/programmieren kann, als nur mit nem Bild.
c) zumindest ich könnte, wenn ich es denn hinbekomme, "nur" mit einer VBA-Idee helfen
d) wenn dir c) nicht gefällt, du also nur mit Formeln weiterkommst, dann warte bitte auf weitere Antworten

Ciao
Thorsten
Power Query kann locker mit CSVs > 2^20 Zeilen umgehen.
Ist aber leider nicht mein Fachgebiet.
Da gibt es andere hier im Forum.
Einfach mal abwarten!

Gruß Ralf
Hier die Excel-Datei 
Vielen Dank!
Sehe ich es richtig, dass 

die Zahl der Sätze einer Flat-Tabelle 

der Zahl der Sätze der satzreichsten Tabelle einer normalisierten Datenbank 

entspricht?

Dass nur die Größe der Datenbank kleiner ist, als die Flattable?
Hallo

Anbei mein PQ Versuch so wie ich es verstanden habe.
Ja, das ist schon der richtige Weg, jedoch mit welche Excel Formel oder Power Query macht man das?

LG
Aus seiner Datei:
PHP-Code:
let
    Source 
Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    #"Tab1GZ" = Table.Group(Source, {"ID"}, {{"Orte", each Text.Combine([Orte],"; "), type nullable text}}),
    #"Tab1Gz" = Table.Group(Source, {"ID", "JG"}, {{"Berufe", each Text.Combine([Berufe],"; "), type nullable text}})
in
    Table
.SplitColumn(Table.SplitColumn(Table.ExpandTableColumn(Table.NestedJoin(Tab1Gz, {"ID"}, #"Tab1GZ", {"ID"}, "Tab1GZ", 
    JoinKind.LeftOuter), "Tab1GZ", {"Orte"}, {"Orte"}),"Berufe"Splitter.SplitTextByDelimiter(";"QuoteStyle.Csv), {"Berufe.1"
    "Berufe.2""Berufe.3"}),"Orte"Splitter.SplitTextByDelimiter(";"QuoteStyle.Csv), {"Orte.1""Orte.2""Orte.3""Orte.4"
    "Orte.5"}) 

Dazu:
• klicke in die Tabelle Ergebnis
• Abfrage → bearbeiten
• dann Ansicht → erweiterter Editor
Sorry, aber diese Abfrage im PowerQuery schaffe ich nicht. Ich bin mit Excel Formeln etwas vertrauter und ich kann mich vage daran erinnern, dass eine Excel Formel dies umstrukturieren kann.
Gibt es irgendeine Formel, die dies schafft?

LG
Man kann auch mit EINDEUTIG, MTRANS und FILTER arbeiten.
Siehe Datei
[attachment=51318]
Seiten: 1 2