Ergebnisanalyse mit Calc

Hi,

ich möchte ein umfangreiche Ergebnisanalyse mit Calc machen.

Ein Programm liefert z.T. große Tabellen mit den Ergebnis-Spalten A-G und Parameterspalten H-... und bis zu 12.000 Zeilen und auch mehr.
Das wird alles in Tabelle1 'rüberkopiert.

Ich möchte jetzt in der Tabelle2 eine Art Parameteranalyse machen. In der Tabelle1 sind die Ergebnisspalten A-G fix und dann folgen die Parameterspalten H-....

Die jeweilige Parameter-Spalten, dich ich jetzt (jeder Wert in 'seiner Zeile' in Tabelle2) auswerten will (immer nur eine Spalte/Parameter und dann wegkopieren und neue Spalte eingeben), gebe ich oben irgendwo (zB. Tabelle2:A1) ein, also zB ein 'H'. Die Auswertung ist dann in den nachfolgenden Zeilen.

Jetzt würde ich alles gerne so haben, dass:
1.) eine Liste aller in der Spalte H der Tabelle1 aufscheinenden Parameter-Werte in einer Liste gespeichert werden (dann kann man da ja eventuell zugreifen) - zu speichern in der Spalte A Tabelle2, wenn es geht?

2.) versch. Werte errechnet werden, wenn in der Zeile der Parameter-Wert gegeben ist.
Also:
wenn in Spalte(die in Tabelle:A1 steht) Parameter = diese Zeile-Spalte[a], dann Summiere (oder Zähle, ..).

Ich erwarte jetzt natürlich nix fertiges, aber vielleicht hat jemand Code-Schnipsel, die mir das Ganze Gefummel mit Funktionen in Funktionen in Funktionen,.. etwas erleichtern könnten.

Danke schon mal,

Gooly

Hallo Gooly,

ich möchte ein umfangreiche Ergebnisanalyse mit Calc machen.

Bis hierher habe ich es verstanden. Kennst Du das Feature
"Datenpilot" in Calc? Wenn nicht, solltest Du das unbedingt kennen
lernen, bevor Du weiter machst.

siehe http://www.datenpilot.org

Den Rest Deines Mails habe ich viermal gelesen und nicht verstanden.
Sorry.

Gruß

Stefan

Danke für den Datenpilot, den kannte ich nicht und werde ihn mir mal anschauen.

Den Rest Deines Mails habe ich viermal gelesen und nicht verstanden.
Sorry.

Kein Problem, ich hab das wohl schon so oft gemacht, dass ich das Prinzip irgendwie für selbstverständlich gehalten habe :frowning:

Aber stell Dir vor: Tabelle1 - kopiert aus dem Testprogramm - mit so einer Struktur (Spalten-Überschriften):
Nr.Durchlauf | Endergebnis | Anzahl | Max | Min | Faktor1 | Faktor2 | Para1 | Para2 | Para3 | Para4 | ...

In Tabelle 2 will ich jetzt die Analyse machen, eine Art Sensitivitäts- oder Erfolgsanalyse zu jeweils einem Parameter.

Also (bsp) Para1 in Spalte H - 'H' schreibe ich in Tabelle2:A1.
Die Spalte Tabelle1:H (=Para1) enthält jetzt zB. (untereinander) die Werte (man kann sie ja sortieren, also sortiert):
15,15,15,15,15,15,20,20,20,20,20,20,20,20,20,25,25,25,25,25,25,30,30,..
zu jedem '15er' und '20er' (und...) gibt es jetzt verschiedene Werte der Spalten Tabelle1:A..G also hier im Fall des '15er' 6 versch. Endergebnisse, 6 versch. Max ,.. (ok?)

(Jetzt denke dir nicht nur 6 15er sonder 1000 oder mehr..)

Daher will ich in Tabelle2 in Spalte A ab Zeile 2 (so habe ich eine Headline) untereinander (jew. einmal!):
15,20,25,...
und in der 15er-Zeile:
1.) Anzahl der 15er (hier 6)
2.) Durchschnitt Endergebnisse
3.) Varianz Endergebnisse
4.) Max. Endergebnisse
5.) Min. Endergebnisse.
6.) ...

Ich (man, wir, jeder) kann so erkennen, ob dieser Parameter zB entscheiden ist (dann wäre eine Ausprägung die beste, naheliegende Werte nicht so schlecht und weiter entfernte schlechter - ein Idealfall) oder Para1 ist nicht entscheidend, dann wäre bei allen Ausprägungen Para1' die statistische Analyse in etwa gleich, keine signifikanten Unterschiede = ähnlicher Durchschnitt, ähnlicher Max, Min, ...

Daher erste 'Aufgabe': die Spalte A der Tabelle2, die alle Ausprägungen des gewählten Parameters _einmal_ aufführt!

Und dann in dieser Zeile die Statistische Auswertung:
ZähleWenn Wert in Tabelle2 Spalte A Zeile x == Tabelle1:(Tabelle2(a1))
SummeWennn und so weiter

(Eine Orgie aus Indirekt,Vergleich,Verweis,... und alles ineinander gestopft - puh)

LG, gooly

Hallo Gooly,

Danke für den Datenpilot, den kannte ich nicht und werde ihn mir mal
anschauen.

Aber stell Dir vor: Tabelle1 - kopiert aus dem Testprogramm - mit so
einer Struktur (Spalten-Überschriften):
Nr.Durchlauf | Endergebnis | Anzahl | Max | Min | Faktor1 | Faktor2
> Para1 | Para2 | Para3 | Para4 | ...

In Tabelle 2 will ich jetzt die Analyse machen, eine Art
Sensitivitäts- oder Erfolgsanalyse zu jeweils einem Parameter.

Also (bsp) Para1 in Spalte H - 'H' schreibe ich in Tabelle2:A1.
Die Spalte Tabelle1:H (=Para1) enthält jetzt zB. (untereinander) die
Werte (man kann sie ja sortieren, also sortiert):
15,15,15,15,15,15,20,20,20,20,20,20,20,20,20,25,25,25,25,25,25,30,30,..
zu jedem '15er' und '20er' (und...) gibt es jetzt verschiedene Werte
der Spalten Tabelle1:A..G also hier im Fall des '15er' 6 versch.
Endergebnisse, 6 versch. Max ,.. (ok?)

(Jetzt denke dir nicht nur 6 15er sonder 1000 oder mehr..)

Daher will ich in Tabelle2 in Spalte A ab Zeile 2 (so habe ich eine
Headline) untereinander (jew. einmal!):
15,20,25,...
und in der 15er-Zeile:
1.) Anzahl der 15er (hier 6)
2.) Durchschnitt Endergebnisse
3.) Varianz Endergebnisse
4.) Max. Endergebnisse
5.) Min. Endergebnisse.
6.) ...

Ganz exakt genau hundertprozentig dafür wurde der Datenpilot
erfunden. :smiley:

Du kannst ja mal ein Beispiel von solchen Daten, wie Du sie
auswerten musst online stellen. Dann mache ich Dir dazu den
Datenpiloten.

Gruß

Stefan

Sorry, aber so ist der Datenpilot nicht wirklich nutzbar!
Schade, eine tolle Idee, aber nicht fertig ausgeführt - arbeitet man noch daran?

Um mehrere, einfache, statistische Werte zu einer Ergebnisspalte zu erhalten, muss man die Spalten ja noch vervielfachen (5mal für Anz., Mittelwert, Varianz, Max, Min) - ABER, markiere mal durch einen Klick oben auf dem Spaltenkopf (da wo 'A' steht) die gesamte erste Spalte und - dann kann man erst mal in Ruhe ein Tasse Kaffee trinken (ich habe 8GB RAM, Win 7-64 Bit, 4Kern CPU, daran liegt es also nicht!) bis LO wiederkommt, ähnliches beim Einfügen und das alles immer wieder für jede mich interessierende Spalte?

Das dauert mir wirklich zu lange, man muss es ja jedes mal neu machen! :frowning:

Mir schwebt eine Daten- und eine Analyse-Tabelle vor, so dass ich bei neuen Ergebnissen oder Tests einfach die neuen Werte in die Datentabelle reinkopiere und schon möchte ich auf den nächsten Tabelle die Ergebnisse sehen.

AAAAABER, das, was in Deiner(?) Beschreibung des Datenpilots als "Diese Technik ist in der Regel nur fortgeschrittenen Benutzern vertraut." beschreibst:
{=Häufigkeit(B2:B38096;E2:E25)}

Damit kann ich wohl meine Vorstellung ganz gut realisieren.
Dazu gleich eine konkrete Frage:
Im dem Email-Beispiel dazu, werden die Uhrzeiten in Spalte E aufgelistet: 01:00..00:00, wie kriege ich diese Liste hin mit (hier 9) Werten - ist aber jedes mal anders!!
ParameterA=1
ParameterA=4
ParameterA=3
ParameterA=4
ParameterA=3
ParameterA=2
ParameterA=1
ParameterA=3
ParameterA=1
...
Daraus soll auf der Analyse-Tabelle werden:
ParameterA=1
ParameterA=2
ParameterA=3
ParameterA=4
(ohne Wiederholung oder Auslassung)

Eine Klassenbildung nach der ganzen Stunde wie im Beispiel ginge ja so nicht.
Müsste man dazu die Werte in zwei Spalten trennen (Trenner: '=') in ParameterA | 1 ...?

Calli

Hi Calli,

Sorry, aber so ist der Datenpilot nicht wirklich nutzbar!
Schade, eine tolle Idee, aber nicht fertig ausgeführt - arbeitet man
noch daran?

Das Produkt wird stets weiter entwickelt. Verbesserungswünsche und
-bedarf gibt es immer. Das Schöne an so einem Projekt:

Man kann gut selbst was dazu tun, dass sich das zum Besseren ändert,
was man noch nicht so gut findet, und zwar auf verschiedene Art und
Weise. Das beginnt damit, dass man als Programmierkünstler selbst
Hand anlegen könnte, und reicht so weit, dass man als Sponsor
jemanden mit einer Weiterentwicklung beauftragt.

:wink:

Um mehrere, einfache, statistische Werte zu einer Ergebnisspalte zu
erhalten, muss man die Spalten ja noch vervielfachen (5mal für Anz.,
Mittelwert, Varianz, Max, Min)

Richtig. Das ist (als verbesserungswürdig) bekannt. (Nebenbei: Auf
dem Markt der proprietären Tabellenkalkulationsprodukte gibt es
mindestens eines, bei dem das nicht nötig ist.)

markiere mal durch einen
Klick oben auf dem Spaltenkopf (da wo 'A' steht) die gesamte erste
Spalte und - dann kann man erst mal in Ruhe ein Tasse Kaffee trinken
(ich habe 8GB RAM, Win 7-64 Bit, 4Kern CPU, daran liegt es also
nicht!) bis LO wiederkommt, ähnliches beim Einfügen und das alles
immer wieder für jede mich interessierende Spalte?

Das kann ich auf meinem PC mit einer wesentlich bescheideneren
Hardware absolut nicht nachvollziehen. Bei mir dauert sowas nur
Zehntelsekunden. (Ubuntu 11.04 und LibreOffice 3.3.4)

{=Häufigkeit(B2:B38096;E2:E25)}

Damit kann ich wohl meine Vorstellung ganz gut realisieren.
Dazu gleich eine konkrete Frage:
Im dem Email-Beispiel dazu, werden die Uhrzeiten in Spalte E
aufgelistet: 01:00..00:00, wie kriege ich diese Liste hin mit (hier
9) Werten - ist aber jedes mal anders!!
ParameterA=1
ParameterA=4
ParameterA=3
ParameterA=4
ParameterA=3
ParameterA=3
ParameterA=2
ParameterA=2
ParameterA=2
ParameterA=1
ParameterA=3
ParameterA=1
ParameterA=1
ParameterA=1
ParameterA=1
...
Daraus soll auf der Analyse-Tabelle werden:
ParameterA=1
ParameterA=2
ParameterA=3
ParameterA=4
(ohne Wiederholung oder Auslassung)

Eine Klassenbildung nach der ganzen Stunde wie im Beispiel ginge ja
so nicht.
Müsste man dazu die Werte in zwei Spalten trennen (Trenner: '=') in
ParameterA | 1 ...?

Mit der Funktion HÄUFIGKEIT ermittelst Du die Häufigkeit von Werten
in von Dir vorgegebenen Klassen. Das ist aber nicht das, was Du
willst. Was Du hier willst, ist dass alle mindestens einmal
vorkommenden Werte genau einmal aufgelistet werden. Eine solche
Funktion ist mir (außer implizit im Datenpiloten) als
Tabellenkalkulationsfunktion nicht bekannt.

Mit einem Makro wäre sowas machbar.

Ich würde an Deiner Stelle versuchen, dem Problem mit der schlechten
Performance beim Editieren in Calc auf den Grund zu gehen. Denn das
ist nicht normal. Wenn das Spalteneinfügen dann wieder ohne
Verzögerung klappt, magst Du Dich vielleicht doch mit dem
Datenpiloten anfreunden. :wink:

Gruß

Stefan

Hallo,

markiere mal durch einen
Klick oben auf dem Spaltenkopf (da wo 'A' steht) die gesamte erste
Spalte und - dann kann man erst mal in Ruhe ein Tasse Kaffee trinken
(ich habe 8GB RAM, Win 7-64 Bit, 4Kern CPU, daran liegt es also
nicht!) bis LO wiederkommt, ähnliches beim Einfügen und das alles
immer wieder für jede mich interessierende Spalte?

Das kann ich auf meinem PC mit einer wesentlich bescheideneren
Hardware absolut nicht nachvollziehen. Bei mir dauert sowas nur
Zehntelsekunden. (Ubuntu 11.04 und LibreOffice 3.3.4)

Also habe ich das gerade mal mit einer Stoppuhr gemessen auf:
Win7, 64-Bit, 8 GB Ram, 2,53 GHz 4-Kern CPU:
a) Spalte markieren (ganz oben, also ganze Spalte)
b) rechte Maus Taste
c) Kopieren
=> 55 Sek. bis LO wiederkommt - früher ist es, übrigens genauso wie OO, abgestürzt - und CPU-Auslastung liegt bei 25% = ein ganzer Kern komplett belegt.
Ich habe aber noch 3.3.2 und werde das mit 3.4.3 wiederholen..
Mit 3.4.3 sind es nur mehr 45 Sekunden.

{=Häufigkeit(B2:B38096;E2:E25)}
...

Mit der Funktion HÄUFIGKEIT ermittelst Du die Häufigkeit von Werten
in von Dir vorgegebenen Klassen. Das ist aber nicht das, was Du
willst.

Naja schon, aber erst nachher, ich brauch die ja die Vergleichswerte!

Was Du hier willst, ist dass alle mindestens einmal
vorkommenden Werte genau einmal aufgelistet werden. Eine solche
Funktion ist mir (außer implizit im Datenpiloten) als
Tabellenkalkulationsfunktion nicht bekannt.

Mit einem Makro wäre sowas machbar.

seufz, weißt Du Link(s), wo ich vielleicht schon eine Lösung finden könnte?
Apropos Makro, wieso macht der Datenpilot die Vervielfachung der zu analysierenden Spalten (Zeilen) nicht mit einem Makro selber - bis es nicht mehr notwendig ist?

Gruß, gooly

Hallo Gooly,

Also habe ich das gerade mal mit einer Stoppuhr gemessen auf:
Win7, 64-Bit, 8 GB Ram, 2,53 GHz 4-Kern CPU:
a) Spalte markieren (ganz oben, also ganze Spalte)
b) rechte Maus Taste
c) Kopieren
=> 55 Sek. bis LO wiederkommt - früher ist es, übrigens genauso wie
OO, abgestürzt - und CPU-Auslastung liegt bei 25% = ein ganzer Kern
komplett belegt.
Ich habe aber noch 3.3.2 und werde das mit 3.4.3 wiederholen..
Mit 3.4.3 sind es nur mehr 45 Sekunden.

Ich sag ja, dass bei Dir was nicht stimmt. Zum Vergleich bei mir:

Pentium Dual-Core E5400 2,7 GHz
3 GB RAM
Ubuntu 11.04
LibreOffice 3.3.4
Calc-Tabelle mit 10.000 gefüllten Zeilen
a)+b)+c), wie von Dir oben beschrieben
--> Es kommt zu überhaupt *keiner* erkennbaren Verzögerung, bevor
man weiter arbeiten kann.

Das selbe auf einem wirklich bescheiden ausgestattetem Notebook mit
Ubuntu 11.10 (beta) und LibreOffice 3.4.3

Apropos Makro, wieso macht der Datenpilot die Vervielfachung der zu
analysierenden Spalten (Zeilen) nicht mit einem Makro selber - bis
es nicht mehr notwendig ist?

Wie ich schon schrieb: Es gibt nichts Gutes, außer man tut es. Der
Datenpilot macht das deshalb nicht per Makro oder sonstwie, weil es
(bislang) keinen gegeben hat, der das programmiert. So einfach ist das.

Ich kann freilich nicht ausschließen, dass irgend einer der rund
6,93 Milliarden Menschen der Erde dafür schon eine Lösung erstellt
hat, von der ich nur nichts weiß. :wink: Würde ich den kennen, würde
ich Dich an den verweisen. :wink:

Wieso machst Du Dir nicht ein zweites Tabellenblatt, das über
Formelbezüge auf das erste Tabellenblatt die Werte von dort
übernimmt? Das zweite Tabellenblatt gestaltest Du mit den Formeln
so, dass es das mehrfach benötigte Feld in mehren Spalten
wiedergibt. Du kannst dann Deine Werte fröhlich im ersten
Tabellenblatt pasten und hast sofort die erforderliche Basis für den
Datenpiloten auf dem zweiten Tabellenblatt.

Aber, ich wiederhole mich und empfehle nochmals, löse erst das
massive Performance-Problem mit LibreOffice auf Deinem System. So
kann keiner arbeiten.

Gruß

Stefan

Probier mal: Nimm eine leere Tabelle,
Markiere ein ganze Spalte, setzte für diese Spalte alles auf Währung (das kl. Geldhaufensymbol, Zellenformat) und dann kopiere die gesamte Spalte - Zeit?
Wenn, dann ist das wohl ein Win7, Java, 32bit Problem, ich wüsste nicht wie ich das lösen könnte, ich da da praktisch nix selber 'gedreht'.

Gruß, gooly

Hi,

Probier mal: Nimm eine leere Tabelle,
Markiere ein ganze Spalte, setzte für diese Spalte alles auf Währung
(das kl. Geldhaufensymbol, Zellenformat) und dann kopiere die
gesamte Spalte - Zeit?

Keine wahrnehmbare Verzögerung, bis man weiter arbeiten kann.

Wenn ich vorher die Spalte zusätzlich komplett mit Zahlenwerten
fülle, gibt es eine kleine Verzögerung von weniger als 1 Sekunde.

Wenn, dann ist das wohl ein Win7, Java, 32bit Problem, ich wüsste
nicht wie ich das lösen könnte, ich da da praktisch nix selber
'gedreht'.

Hast Du schon mal Deinen Profilordner umbenannt, sodass LibreOffice
ein neues, jungfräuliches Profil erstellt?

Gruß

Stefan

### 1.) #################

A1 bis A5
1,2,3,4,
A6
=summe(A1:A5)

A100000 bis A100005
1,2,3,4,5,
A100006
=SUMME(A100000:A100004)

### 2.) ##################
* Spalte A makieren und mit Währung formatieren (über Icon)
* Spalte A über Kontexmenü (= rechte Maustaste) "Kopieren"

### 3.) ##################
* Cursor C1 platzieren
* Kontexmenü "Einfügen"

### Ergebnis ###############

In (Milli)sekundenbereich erledigt

Gruß Achim

meinst Du den (die) hier:
C:\Users\cas\AppData\Roaming\LibreOffice\3\user\
(bzw. C:\Users\cas\AppData\Roaming\LibreOffice\3\ oder
C:\Users\cas\AppData\Roaming\LibreOffice\)

Gruß, gooly

Hi,

Hast Du schon mal Deinen Profilordner umbenannt, sodass LibreOffice
ein neues, jungfräuliches Profil erstellt?

meinst Du den (die) hier:
C:\Users\cas\AppData\Roaming\LibreOffice\3\user\
(bzw. C:\Users\cas\AppData\Roaming\LibreOffice\3\ oder
C:\Users\cas\AppData\Roaming\LibreOffice\)

Ich bin kein Windows-User. Aber hier steht es glaube ich:
http://wiki.documentfoundation.org/UserProfile/de

Gruß

Stefan

Hallo Gooly,

kann ich auch nicht nachvollziehen. Geht in Windeseile...

XP SP3, 32Bit
LO 3.4.3
Athlon64 6000 3 GB RAM

Sagt Deine Ereignisanzeige was? Oder teste mal mit Process Explorer (früher sysinternals), was da los ist ...

Gruß
Thomas

zum Makro...

.. Was Du hier willst, ist dass alle mindestens einmal
vorkommenden Werte genau einmal aufgelistet werden. Eine solche
Funktion ist mir (außer implizit im Datenpiloten) als
Tabellenkalkulationsfunktion nicht bekannt.

Mit einem Makro wäre sowas machbar.

Hmm, habe mir das überlegt, wenn ich die Parameterwerte der Testergebnisse sowie so einzeln mit einem Makro 'rauszuzeln' muss:
   von Zeile 1 bis Ende
  ParaX = Zelle(z,s)
       ...
dann kann ich die kleine Statistik auch im Makro gleich selber machen:
beim Parameter = paraX (so in etwa):
  An{paraX}++
  Su{paraX} += Zell[z,s]
  Qu{paraX} += Zell[z,s]²
  Ma{paraX} = Max(Ma{paraX},Zell[z,s])
  Mi{paraX} = Min(Ma{paraX},Zell[z,s])
  ...

Aber dann brauch ich den Datenpilot erst recht nicht :frowning:

Frage dazu: Gibt es hashes in LO-Basic?

Gruß, gooly

Hallo gooly,

Also habe ich das gerade mal mit einer Stoppuhr gemessen auf:
Win7, 64-Bit, 8 GB Ram, 2,53 GHz 4-Kern CPU:
a) Spalte markieren (ganz oben, also ganze Spalte)
b) rechte Maus Taste
c) Kopieren
=> 55 Sek. bis LO wiederkommt - früher ist es, übrigens genauso wie
OO, abgestürzt - und CPU-Auslastung liegt bei 25% = ein ganzer Kern
komplett belegt.
Ich habe aber noch 3.3.2 und werde das mit 3.4.3 wiederholen..
Mit 3.4.3 sind es nur mehr 45 Sekunden.

Probier mal: Nimm eine leere Tabelle,
Markiere ein ganze Spalte, setzte für diese Spalte alles auf Währung (das kl. Geldhaufensymbol, Zellenformat) und dann kopiere die gesamte Spalte - Zeit?
Wenn, dann ist das wohl ein Win7, Java, 32bit Problem, ich wüsste nicht wie ich das lösen könnte, ich da da praktisch nix selber 'gedreht'.

habs mal genau wie beschrieben ausprobiert:
Mein System: Win7, 64-Bit, 8 GB Ram, 3,4 GHz 4-Kern CPU, LibO 3.3.4

Bei mir kann ich keinen Zeitbedarf erkennen (sicher weinige als 1/2 s).

Es grüßt
Karl-Heinrich

Ich hab den 'Übeltäter' gefunden.
Unter den Win7 Gadgets gibt's den Clipboarder (http://nes.bplaced.net/de.html)
den muss ich entfernen. Dann kriege ich Eure Werte.
Gruß, gooly