Kreuztabelle auflösen als Liste - wie?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

hylli
*******
Beiträge: 1672
Registriert: Mi, 22.02.2006 19:37

Kreuztabelle auflösen als Liste - wie?

Beitrag von hylli »

Hi,

ich habe eine Kreuztabelle (s. Muster als Anhang), die ich gerne als Liste aufgelöst bekommen würde.

Wie kann ich das am einfachsten bewerkstelligen?

Kombinationen mit dem Wert 0 oder leer, könnten dabei ignoriert werden. Im Wesentlichen geht es um die Kombinationen mit den Werten 1-3.

Die Daten sollen dann anschließend in eine Base-Datenbank übernommen werden. Dazu habe ich im Anschluss daran im entsprechenden Bereich vllt. noch eine Frage.

Hylli
Dateianhänge
Kreuztabelle_aufloesen.ods
(10.39 KiB) 67-mal heruntergeladen
Ein Dankeschön für eine Lösung tut nicht weh!
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!

Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Karolus
********
Beiträge: 7524
Registriert: Mo, 02.01.2006 19:48

Re: Kreuztabelle auflösen als Liste - wie?

Beitrag von Karolus »

Hallo
Die Kreuztabelle ist gespiegelt, kann man davon ausgehen das die Daten von einer Seite der Diagonalen ausreichen?
→→

Code: Alles auswählen

def flatten_Mirror_Crosstable(*_):
    doc = XSCRIPTCONTEXT.getDocument()#desktop.CurrentComponent
    sel = doc.CurrentSelection
    data = sel.FormulaArray
    kategories = data[0]
    out = []
    for r in range(1, sel.Rows.Count):
        for c in range(1, r):
            if data[r][c]:
                out.append((kategories[r],kategories[c], data[r][c]))
            
    outsheet = doc.Sheets.Tabelle2
    outrange = outsheet.getCellRangeByPosition(0,1,2,len(out))
    outrange.setFormulaArray( tuple(out)) 
das Script ist in der angehängten Datei dabei.
Die Ausgabe erfolgt in Tabelle2
Kreuztabelle_aufloesen_per_script.ods
(45.5 KiB) 76-mal heruntergeladen
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
hylli
*******
Beiträge: 1672
Registriert: Mi, 22.02.2006 19:37

Re: Kreuztabelle auflösen als Liste - wie?

Beitrag von hylli »

Prinzipiell reicht es mir von einer Seite der Diagonale, wenn ich damit alles in Base machen kann, was mir so vorschwebt. (Abfrage ob bei einem Mitarbeiter genau eine dieser Kombinationen vorkommt!)

Ist mir jetzt fast peinlich, aber:
Wo finde ich denn das Script? Muss das ja entsprechend in meine Originaldatei verfrachten.

Hylli
Ein Dankeschön für eine Lösung tut nicht weh!
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!

Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Antworten