Announcement

Collapse
No announcement yet.

Report mit komplizierter Statistik

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

  • Report mit komplizierter Statistik

    Ich habe die Antworten aus einem Fragebogen in einer Tabelle mit drei Spalten: Fragebogen-ID (verweist unter anderem auf Datum und Ausfueller), Frage-ID (Fragennummer) und Antwort (eine Zahl von 0-5). Jede einzelne Antwort ist also eine eigene Zeile in dieser Tabelle.

    Jetzt muss ich das auswerten, und zwar soll ich pro Jahr und Frage aufdroeseln, wieviel % der Antworten welchen Wert hatten. Der Report soll z.B. etwa so aussehn:

    Code:
    2008:
                    0       1       2     3      4        5       N/A
      Frage1        11%    20%     36%    5%     5%       19%      4%
      Frage2        0%      8%     48%    12%    3%       29%      0%
      ....
    
    
    2009:
       Frage1     ....
    In dem Beispiel haben 11% aller Befragten im Jahr 2008 bei Frage1 die Antwort 0 gegeben, 20% die Antwort 1 etc. Mir faellt einfach keine Abfrage ein, mit der ich dieses Ergebnis bekommen kann?

  • #2
    Hallo Batox,

    erstelle eine neue Abfrage, wähle dabei den "Kreuztabellenabfrage-Assistenten" aus; der Assistent hilft Dir dabei, die Abfrage zu erstellen (nennt sich auch PIVOT-Abfrage).
    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
      Danke. Kreuztabelle ist schon mal einen guten Schritt weiter. Jetzt liefert mir die Abfrage eine Tabelle mit absoluten Zahlen also z.B.
      Code:
      2008:
                      0       1       2     3      4        5       N/A
        Frage1        5       9      17     3      5        11      3 
        ....
      In der Kreuztabellendefinition steht als "Wert" einfach Anzahl von Index. Ich muesste an diese Stelle jetzt einen Ausdruck der Art
      Code:
       Anzahl([Index]) / Sum (Anzahl[Index]) * 100
      schreiben, und das als Prozenzahl formattieren. Dieser Ausdruck funktioniert so aber nicht... ?

      Comment


      • #4
        Wenn Du ein Kreuztabelle hast, die Dir soweit die absoluten Zahlen liefert, dann ist es schon mal gut; speicher die so mal ab.

        Dann erstellst Du einen neue, "normal" Abfrage mit der Kreuztabelle als Quelle.
        Dort kannst Du dann mit den Ergebnissen rechnen, in SQL sieht das dann ungefähr so aus:

        [highlight=SQL]
        SELECT Jahr, Frage,
        100 * [0] / (nz([0]) + nz([1]) + nz([2]) + ... ) AS 1rel
        [/highlight]
        also Feld durch Summe aller Felder.
        Klappt so allerdings nur, wenn Du eine feste+bekannt Anzahl von Feldern hast.
        Das NZ sorgt dafür, das Du eine 0 bekommst, wenn mal ein Feld leer (NULL) ist.
        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


        • #5
          Originally posted by O. Helper View Post
          Dann erstellst Du einen neue, "normal" Abfrage mit der Kreuztabelle als Quelle.
          Dort kannst Du dann mit den Ergebnissen rechnen, in SQL sieht das dann ungefähr so aus:

          [highlight=SQL]
          SELECT Jahr, Frage,
          100 * [0] / (nz([0]) + nz([1]) + nz([2]) + ... ) AS 1rel
          [/highlight]
          also Feld durch Summe aller Felder.
          Klappt so allerdings nur, wenn Du eine feste+bekannt Anzahl von Feldern hast.
          Das NZ sorgt dafür, das Du eine 0 bekommst, wenn mal ein Feld leer (NULL) ist.
          Puuh - ich sehe was du meinst, hab schon einen kleinen Test gemacht - das funktioniert wirklich . Gluecklicherweise ist die Anzahl Felder wirklich bekannt und konstant (interessieren wuerde mich schon ob's dann auch eine Loesug gaebe, oder lieber doch nicht ... ).

          Das wirkt etwas umstaendlich, aber besser kompliziert als gar nicht. Das mit dem nz was besonderst hilfreich - in dem Buch das ich habe (Access inside out von Viescas) ist diese Funktion mit keinem Wort erwaehnt, und ohne die geht's einfach nicht.

          Vielen Dank, du hast deinen Namen gut gewaehlt .

          Comment

          Working...
          X