Office: (Office 2010) Median aus Abfrage

Helfe beim Thema Median aus Abfrage in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hi, ich möchte den Median aus Werten einer Abfrage berechnen. Meine Idee war ich Zähle wieviele Datensätze vorhanden sind, Teile diesen Wert durch 2... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von CB_83, 13. Juni 2015.

  1. Median aus Abfrage


    Hi,

    ich möchte den Median aus Werten einer Abfrage berechnen.
    Meine Idee war ich Zähle wieviele Datensätze vorhanden sind, Teile diesen Wert durch 2 und nehme das Ergebnis um mir den Wert auszugeben.
    Datensätze Zählen war kein Problem, durch 2 Teilen geht auch.
    Jetzt kamen aber die Probleme:
    1. weiss ich nicht wie ich Access sagen soll das er mir den Wert in Zeile x ausgeben ausgibt
    2. was passiert bei einer Kommazahl also zb 299/2=149,5 -> die 149,5. Zeile gibt es ja nicht

    vielen dank für Tips und Ideen

    :)
     
    CB_83, 13. Juni 2015
    #1
  2. Hallo!

    Nur damit wir vom gleichen schreiben:
    Median = der Wert in der Mitte einer sortierten Datenreihe

    Beispiel:
    1
    5
    5000
    6000
    7000

    => Median = 5000

    Was ist bei:
    1
    5
    5000
    6000
    => welchen Wert nimmt man nun?
    Das müsste dann doch (5+5000) / 2 sein, oder?

    Vermutlich hilft folgende Seite:
    https://msdn.microsoft.com/en-us/lib...ffice.12).aspx


    mfg
    Josef
     
    Josef P., 14. Juni 2015
    #2
  3. ja ich meine den Median *grins


    den Link hatte ich schon gefunden, aber das ist mir eigentlich viel zu kompliziert*rolleyes.gif*
    und man kann das modul nicht mehr herunter laden *bawling
     
    CB_83, 15. Juni 2015
    #3
  4. Median aus Abfrage

    STRG+C und STRG+V darf man als Alternative auch verwenden. *wink.gif*

    Was ist daran kompliziert?
    Der Funktionsaufruf ist den anderen Domainaggregatfunktionen gleich.
    Der Rest ist Logik und ein wenig Mathematik.
     
    Marsu65, 15. Juni 2015
    #4
  5. Hallo,

    falls du noch einen Code benötigst...
    In ein Modul:
    Code:
    PS: habe mir den Code aus dem Link nicht angesehen... ev. besser kA, habe meinen einfach zusammen geschrieben *Smilie
    Noch ein Hinweis, das zu berechnende Feld sollte sich in der Abfrage in der 2.Spalte befinden...
    aber, wenn erste Spalte, dann .Fields(1) durch .Fields(0) ersetzten
    oder du gibst den genauen Feldnamen im Code bekannt wie !Feldnamen.

    Den Code kannst in einer Abfrage wie auch in einem Steuerelement verwenden...
    Code:
    Die Abfrage muss natürlich nach dem Wert aufsteigend sortiert werden, sonst wird es nicht funktionieren!
     
    Kyron9000, 15. Juni 2015
    #5
  6. hi,

    erst mal Danke an alle, ja so kompliziert wie es aussieht ist es wohl gar nicht

    @Kyron9000: ich hab deinen Code kopiert und in ein neues Modul kopiert und gespeichert
    und jetzt weiß ich nicht wirklich weiter )-;

    ich hab mal eine neue Abfrage erstellt und in die erste Spalte in den Feldnamen " Median: fncMedian("qryProzent") " eingetragen -> geht natürlich nicht (.Field(1) durch .Field(0) ersetzt)
    könntest du es mir vielleicht erklären - so auf dummy Niveau


    @Marsu65 hab Strg+c ... mal eingesetzt - aber komme auch damit nicht ganz klar
    hab das ganze als basMedian gespeichert und versucht per "DMedian("Prozent", "qryProzent")" aufzurufen - leider kein erfolg
     
    CB_83, 15. Juni 2015
    #6
  7. Hallo,
    es ist eigentlich ziemlich simple.
    Hab eben mal einen Code für dich erstellt der einfach zu lesen sein sollte.
    Du must nur unterscheiden ob die Anzahl der Datensätze in der Tabelle/Abfrage gerade oder ungerade sind. Das erreichst du durch Mod 2 welches bei geraden dann 0 ergibt.
    Hier meine Funktion, einfach in ein Modul kopiert und aufrufen aus anderem Modul oder Formular. Feldname und Abfragename könnte man auch als Parameter übergeben, dann könntest du die Funktion universell einsetzen.
    Die Wörter "FeldName" und "DeinerAbfrage" musst du ersetzen nach deinen Vorgaben. Fehlerbehandlung fehlt, solltest du ergänzen, sonst knallt es vorallem dann wenn keine Datensätze in der Abfrage sind.

    Code:
    Gruß Andreas
     
    avogt_at_home, 15. Juni 2015
    #7
  8. Median aus Abfrage

    Hallo Andreas,

    bei dir kommt kein Median heraus, du bist bei ungerader Zahl um einen DS zu weit, also +1 weg
    Code:
    und bei einer gerader Zahl ebenso, also -1 dazu
    Code:
    So kommt zumindest bei mir das richtige heraus.

    PS: den LInk habe ich auch getestet, der funktioniert auch.
    @CB_83
    Die Spalten in einer Abfrage fangen bei 0 an, dann 1,2,3 usw.
    Du brauchst nur in deiner Abfrage nachsehen, an welcher Stelle das Feld sich befindet,
    Oder inkl Feldnamen, dann...

    Aufruf neu:
    Code:
    Änderung im Code:
    Code:
    und dann die Zahl .Fields(1) auf sFeld austauschen.

    Wird nicht so schwer sein *Smilie
     
    Kyron9000, 16. Juni 2015
    #8
  9. Hallo!

    .. weil? Kam eine Fehlermeldung, wurden falsche Werte angezeigt, ...

    Wo hast du es so eingesetzt?
    In VBA ist das Komma richtig. In der Entwurfsansicht einer Abfrage muss statt dem , ein ; stehen - wie bei allen Funktionen (z. B. IIF/Wenn)

    Nun selbst ausprobiert:
    Die Funktion aus der msdn-Seite funktioniert bei mir ohne Probleme (1:1 kopiert und eingefügt).

    Einsatz-Beispiel
    Code:
    mfg
    Josef
     
    Josef P., 16. Juni 2015
    #9
  10. Hallo Kyron9000,
    ja hast recht, nach dem MoveFirst ist ja der Zeiger auf DS1, also alles um 1 verringern.
    Code:
    Andreas
     
    avogt_at_home, 16. Juni 2015
    #10
  11. Hallo Andreas,

    denke mal, dein Code ist der Beste... und so würde er mir pers. noch besser gefallen, dann ist er relativ einfach umzusetzen...
    Code:
    Das mit dem .Move habe ich noch nie gebraucht, deshalb habe ich es auch nicht angewendet...
    und Mod 2 ist mir zu spät eingefallen *grins
    Man lernt nie aus und das ist gut so, das gefällt mir hier im Forum sehr gut! *Smilie
     
    Kyron9000, 16. Juni 2015
    #11
  12. ich stell mich echt zu blöd an

    @josef P.
    mal mein Vorgehen:
    ich kopiere den Code von der Microsoft Seite, erstelle ein neues Modul, füge den Code ein und speichere es und trage dann in meinem Formular als Steuerelemnteinhalt für ein Textfeld =DMedian("Prozent"; "qryProzent") ein

    in dem Textfeld steht aber nur #Fehler

    @Kyron9000 es kommt die Fehlermeldung das 3 Paramater erwartet werden, aber zu wenig übergeben werden )-;


    @avogt_at_home
    die geliche Fehlermeldung und es wird auf diese Zeile verwiesen:
    Set rst = CurrentDb.OpenRecordset("Select Prozent From qryProzent Order By Prozent", dbOpenSnapshot)


    ich danke euch allen noch mal vor allem für die Geduld XD
     
  13. Median aus Abfrage

    ... nimm den letzten Code und gib in der Abfrage folgendes, in eine Spalte, ein...
    Code:
    Das muss funktionieren...
    Es funktionieren übrigens alle 3 Code!

    PS: bist du sicher, dass alle Namen korrekt sind!!!
    qryProzent und Prozent.
    Eventuell hast Gruppiert und da gibt es dann einen anderen Namen!
    Schau nach in der Überschrift der Prozentspalte, wenn du die Abfrage öffnest, was da steht!
    Bin mir ziemlich sicher, dass das der Fehler ist!
    Gib ev. für Prozent einen alias Namen ein und verwende dann diesen.
    z.B. P: Prozent also P

    Übrigens, niemand stellt sich blöd an, du lernst und es wird auch funktionieren, ganz sicher *Smilie
    Schau, ich programmiere jetzt schon so lange aber das .Move habe ich noch nie
    verwendet und dadurch auch die Funktion nicht gewusst.
    Heute gelernt *wink.gif*
     
    Kyron9000, 16. Juni 2015
    #13
  14. So hier nochmal zum Nachlesen in meinem Blog:
    Median ermitteln

    Gruß Andreas
     
    avogt_at_home, 16. Juni 2015
    #14
  15. \@Andreas,

    bist du sicher, dass du !Wert verwenden willst, wenn es den Feldnamen gibt... ist es ein Zufall?
    Ich denke, .Fields(FieldName) wäre besser!
     
    Kyron9000, 16. Juni 2015
    #15
Thema:

Median aus Abfrage

Die Seite wird geladen...
  1. Median aus Abfrage - Similar Threads - Median Abfrage

  2. Median Verzweiflung

    in Microsoft Excel Hilfe
    Median Verzweiflung: Hallo an Alle, kann mir jemand helfen. Ich habe in einer Tabelle die Formel für den Mittelwert erstellt: =MITTELWERTWENNS('LWR Gesamt'!N:N;'LWR Gesamt'!E:E;"J";'LWR Gesamt'!I:I;"A";'LWR...
  3. Median mit mehreren Bedingungen.

    in Microsoft Excel Hilfe
    Median mit mehreren Bedingungen.: Hallo zusammen, ich hoffe mir kann jemand weiterhelfen. In einer Excel-Datei habe ich für ein gesamtes Jahr die Arbeitszeiten pro Tag aufgeführt. Jetzt möchte ich den Median der Monate April bis...
  4. Median mit Teilergebnis

    in Microsoft Excel Hilfe
    Median mit Teilergebnis: Hallo zusammen, ich bräuchte Hilfe bei der Formel im Blatt "OKI" Spalte H. In der Spalte H, sollte unter Berücksichtigung der Teilergebnisse, der Median ausgegeben werden. Nach meiner Berechung...
  5. Berechnen des Medians einer Gruppe von Zahlen

    in Microsoft Excel Tutorials
    Berechnen des Medians einer Gruppe von Zahlen: Berechnen des Medians einer Gruppe von Zahlen Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel für das Web Excel 2019 Excel 2016 Excel...
  6. MEDIAN-Funktion

    in Microsoft Excel Tutorials
    MEDIAN-Funktion: MEDIAN-Funktion Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel für das Web Excel 2019 Excel 2016 Excel 2019 für Mac Excel 2013...
  7. MEDIANWENNS-Funktion

    in Microsoft Excel Hilfe
    MEDIANWENNS-Funktion: Hallo, ich verzweifele gerade an einer für meine Begriffe sehr simplen Aufgabe. Ich suche nach einem Äquivalent zur MITTELWERTWENNS-Funktion, die ich bereits in meine Tabelle eingebaut habe:...
  8. Median, Fehlerindikatoren, Minimum un Maximum gleichzeitig in Diagramm Excel 2010

    in Microsoft Excel Hilfe
    Median, Fehlerindikatoren, Minimum un Maximum gleichzeitig in Diagramm Excel 2010: Hallo zusammen Ich möchte in einem Diagramm Median mit den Fehlerindikatoren und zusätzlich noch das Minimum und Maximum zum Beispiel mit einem Punkt darstellen. Ich bin soweit, dass ich ein...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden