Announcement

Collapse
No announcement yet.

Prozentzahlen für Gruppen berechnen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Prozentzahlen für Gruppen berechnen

    Hallo

    Ich habe folgendes Query:


    Code:
    Select Nachname, Vorname, Datum, Anwesend
    FROM TABLE
    WHERE Datum Between 20080801 AND 20080831
    ORDER BY Nachname, Vorname, Datum, Anwesend

    Legende:
    Anwesend 0=ja
    Anwesend 1=nein

    mit nachfolgendem Resultat:

    HTML Code:
    Nachname  Vorname   Datum       Anwesend
    Meier          Max           02.08.08   0
    Meier          Max           03.08.08  1
    Meier          Max           04.08.08  0
    Meier          Max           08.08.08  1
    Meier          Max           12.08.08  0
    Meier          Max           14.08.08  0
    Meier          Max           18.08.08  1
    Meier          Max           20.08.08  0
    Meier          Max           25.08.08  0
    Müller         Hans         01.08.08  0
    Müller         Hans         03.08.08  0
    Müller         Hans         05.08.08  0
    Müller         Hans         15.08.08  0
    Müller         Hans         18.08.08  0
    Müller         Hans         25.08.08  0
    Müller         Hans         26.08.08  0
    Müller         Hans         31.08.08  1

    Ich möchte aber nachfolgenden Output:

    - Nach jeder Gruppe (gleicher Name, gleicher Vorname) unter Anwesend:
    = [Anzahl Datenfelder] / [Anzahl Anwesend=0] in %
    Im Beispiel Meier Max =6/9% im Beispiel Müller Hans =7/8%
    - Line Feed

    HTML Code:
    Nachname  Vorname   Datum        Anwesend
    Meier          Max           02.08.08    0
    Meier          Max           03.08.08    1
    Meier          Max           04.08.08    0
    Meier          Max           08.08.08    1
    Meier          Max           12.08.08    0
    Meier          Max           14.08.08    0
    Meier          Max           18.08.08    1
    Meier          Max           20.08.08    0
    Meier          Max           25.08.08    0
                                                   65%
    
    Müller          Hans        01.08.08    0
    Müller          Hans        03.08.08    0
    Müller          Hans        05.08.08    0
    Müller          Hans        15.08.08    0
    Müller          Hans        18.08.08    0
    Müller          Hans        25.08.08    0
    Müller          Hans        26.08.08    0
    Müller          Hans        31.08.08    1
                                                   88%
    Kann mir jemand sagen ob und falls ja wie das geht?

    Gruss
    Tanja

  • #2
    Hallo Tanja,

    Deine Anforderung ist eigentlich Sache des Frontend / Report Engine und nicht eine für den SQL Servers; insbesondere das "Line Feed" (???)

    Du kannst Dir die Quote aber vorab schon über ein Sub-Select ermittelt, das bekommst Du dann aber je Datensatz (wie gesagt, eigentlich Aufgabe der Präsentations-Schicht)

    So müsste es gehen:

    [highlight=SQL]Select Nachname, Vorname, Datum, Anwesend,
    (SELECT SUM(Anwesend) / COUNT(*)
    FROM Tabelle AS Sub
    WHERE Sub.Nachname = SRC.Nachname
    AND Sub.Vorname = SRC.Vorname) AS AnwQuote
    FROM Tabelle AS SRC
    WHERE Datum Between 20080801 AND 20080831
    ORDER BY Nachname, Vorname, Datum, Anwesend[/highlight]
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo Olaf,

      Danke für Deine Hilfe!

      Hab's soweit in Excel gelöst. Doch Frontend ist bestimmt die einfachere Variante. Ich werde es damit lösen.

      Gruss
      Tanja

      Comment

      Working...
      X