Perzentil berechnen
..ich beschäftige mit gerade mit statistischen Berechnungen für eine Datentabelle. Im Webinar Team gibt es dort ja eine Beispielvorlage (266). Leider finde ich hier keine Funktion zur Berechnung des Perzentils. Hat das schon mal jemand berechnet? Ich würde gerne ein Perzentil eingeben. z.B. 90, 80, 60, 40, 20 und in einem Funktionsfeld sollte dann die Berechnung vorgenommen werden.
8 Antworten
-
Hast Du denn eine Formel für die Berechnung von Perzentilen? Du musst ja glaube ich die Messwerte in eine aufsteigende Reihe bringen und brauchst dann gewisse Positionen in diesem "Array" von Messwerten... und dann sind es ja noch zwei Formeln - je nachdem ob es Ganzzahlen oder Kommawerte sind.... Ich schau mal ob man da was bauen kann.
-
Kann man nicht statt "/2" einfach "*0.5" einsetzen? Dann hast du den 50. bei 0.5, den 60. bei 0.6 usw...
-
Hi Eichelfr ,
wenn ich dich richtig verstehe, möchtest Du eine Engabemöglichkeit haben, wo Du einen Wert eingeben kannst, um die Berechnung statt "/2" z.B. "/5" auszuführen?
Meine Idee dazu wäre eine neue globale Funktion anzulegen (Damit Berechnungen mit der Original Median Funktion nicht mitgeändert werden):
=> Vorher im Formular der Tabelle Daten ein Zahlenfeld anlegen (in diesem Code 'Zahl 2')function MedianP(x : Auswertung) do let myNumbers := sort(x.Daten.Zahl); let PZ := number((select Daten).'Zahl 2'); if odd(cnt(myNumbers)) then item(myNumbers, floor(cnt(myNumbers) / PZ)) else (item(myNumbers, cnt(myNumbers) / PZ) + item(myNumbers, cnt(myNumbers) / PZ - 1)) / PZ end end
Dann ändert sich der Divisor entsprechend der Zahl im Feld 'Zahl 2'.
Ob die Berechnung richtig ist kann ich dir leider nicht sagen, da ich mit Statistik nix am Hut ab ;-)
Hier noch 2 Screenshots für Testberechnungen von mir (auf Basis der 266-DB):Eine andere Variante wäre statt dem Zahlenfeld ein Auswahlfeld anzulegen und dort vorgegebene Zahlenwerte zu hinterlegen...
Viel Erfolg
Ronald -
Hallo Ronald, vielen Dank für ein Input. Mir geht es tatsächlich auch um etwas fachliche Unterstützung. Ich habe mich jetzt aber entschieden, mal verschiedene Zahlenreihen durchzurechnen und mit anderen Statistikrechnern zu vergleichen. Wenn es passt, werde ich mich nochmal mit der finalen Version zurückmelden.....
Frank
-
Ich habe es mal mit einem Perzentilrechner gegen gerechnet - mein Ansatz mit dem * 0,5 (für 50%) statt /2 in der obigen Formal funktioniert. Jetzt mache dir nur ein Zahlenfeld "Perzentil" wo du dann 0,75 für 75% oder 0,2 für 20% eintragen kannst und dann folgende Formel in ein FX Feld:
let myNumbers := sort(Daten.Zahl); if odd(cnt(myNumbers)) then item(myNumbers, floor(cnt(myNumbers) * Perzentil)) else (item(myNumbers, cnt(myNumbers) * Perzentil) + item(myNumbers, cnt(myNumbers) * Perzentil - 1)) * Perzentil end
-
Super, danke für die Unterstützung - werde ich so umsetzen!
Frank
-
Passend zu diesem Thread: https://forum.ninox.de/t/35h7c8p/median-als-globale-funktion#q6h7v31
Content aside
- Status Answered
- vor 2 JahrenZuletzt aktiv
- 8Antworten
- 110Ansichten
-
4
Folge bereits