Seite 1 von 1

Kreuztabelle auflösen als Liste - wie?

Verfasst: Fr, 05.12.2014 16:07
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

Re: Kreuztabelle auflösen als Liste - wie?

Verfasst: Fr, 05.12.2014 17:01
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) 78-mal heruntergeladen
Karolus

Re: Kreuztabelle auflösen als Liste - wie?

Verfasst: Fr, 05.12.2014 18:29
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