Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfrage für Statistische Zwecke

Begonnen von Heldin, April 27, 2016, 08:22:53

⏪ vorheriges - nächstes ⏩

Heldin

Hallo ihr Lieben,
Ich muss ein wenig weiter ausholen um mein Problem zu schildern.
Ich arbeite im Bereich von epidemiologischen Studien. Habe eine Tabelle für die Teilnehmer und eine Tabelle für die Rekrutierenden Ärzte.
Für unsere Statistik brauche ich die Angabe, welcher Arzt in welcher Woche wieviele Teilnehmer rekrutiert hat.
Ich habe eine Gruppierungsabfrage erstellt. Was er mir auf jedenfall macht, ist die Anzahl der Teilnehmer berechnen pro  Arzt. Aber die Ausgabe sieht einfach mies. Er listet mir untereinander auf an welchem Tag wieviele Teilnehmer rekrutiert wurden. schreibt er untereinander weg. ist ja immerhin schon ein Anfang. 
Ich hätte nun aber gerne als Spaltennamen, die Namen der Ärzte, in den Zeilen die jeweilige Woche. Ich habe schon probiert ein Bericht daraus zu basteln was ich nicht hinbekommen habe. Da eine Woche 5 Tage hat und er mir pro Tag einen Wert in den Bericht reinmacht!

Ich bin mir jetzt nicht sicher, ob mein Problem verständlich ist, aber ihr dürft gerne Fragen stellen.

Ein liebes Dankeschön
die NICHT Heldin! 

(Und auch noch Mathe am frühen Morgen  ;) )

MzKlMu

Hallo,
zeige/beschreibe bitte den Aufbau der Tabelle(n).

Und zeige mal den SQL Text der Abfrage.

Wahrscheinlich kommst Du mit einer Kreuztabellenabfrage ans Ziel, korrekter Aufbau der Tabellen vorausgesetzt.
Gruß Klaus

Heldin

Im anhang meine Abfrage.
Ich hab alle anderen Statistischen Abfragen hinbekommen. nur diese eine. Aber für Chefe leider die wichtigste ...

Heldin

SELECT Count(TS_Teilnehmer.TN_ID) AS AnzahlvonTN_ID, TS_Aerzte.A_ID, TS_Aerzte.A1_Familienname, Format([Besuch],"ww",0,0) AS Eingang, First(TS_Teilnehmer.Besuch) AS ErsterWertvonBesuch, TS_Teilnehmer.EV_Klinik
FROM TS_Teilnehmer INNER JOIN TS_Aerzte ON TS_Teilnehmer.GA_ID = TS_Aerzte.A_ID
GROUP BY TS_Aerzte.A_ID, TS_Aerzte.A1_Familienname, Format([Besuch],"ww",0,0), TS_Teilnehmer.EV_Klinik
HAVING (((First(TS_Teilnehmer.Besuch))>#1/1/2016#))
ORDER BY First(TS_Teilnehmer.Besuch);

Und hier noch der SQL Text...

Heldin

ok, also das hat jetzt wohl geklappt :) mit ner Kreuztabelle.. jetzt stimmt nur nicht mehr die Reihenfolge der Woche.. beginnt bei 10 11 12 13 14 15 16 3 4 5 6 7 8 8

Heldin

ok das sortieren hat auch geklappt... so... Danke :) Kreuztabelle abfrage.. alles unnötige rausslöschen und dann ist die Sache erledigt :)
cool, ich bin stolz auf mich.

Manchmal reicht ein Stupser :)

Heldin

ok die Heldin hat gerade bemerkt... is nich...
er macht mir die Wochen doppelt :(


Heldin

ok, soweit so gut. es passt jetzt so wie ich will.. Nur dass der Troll mir die Wochen nicht richtig sortiert. sondern bei 10 anfängt....
mann... Hier der SQL Code:

TRANSFORM Count(TS_Teilnehmer.TN_ID) AS AnzahlvonTN_ID
SELECT Format([Besuch],"ww",0,0) AS Woche
FROM TS_Teilnehmer INNER JOIN TS_Aerzte ON TS_Teilnehmer.GA_ID = TS_Aerzte.A_ID
WHERE (((TS_Teilnehmer.Besuch)>#1/1/2016#))
GROUP BY Format([Besuch],"ww",0,0)
PIVOT TS_Aerzte.A1_Familienname;

MaggieMay

Hi,

du kannst die Woche mit der Val-Funktion in eine Zahl umwandeln, dann wird auch richtig sortiert.
Freundliche Grüße
MaggieMay

Heldin

MaggyMay... kannst du mir sagen wie das geht? muss ich das im SQL machen?

DF6GL

Hallo,


oder gleich die Datepart-Funktion einsetzen:


SELECT DatePart("ww",[Besuch],2,2) AS Woche
.
.
Group by DatePart("ww",[Besuch],2,2)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Heldin

Hallo DF6GL
Was soll ich sagen :) das war die Lösung.
Er  macht was er soll :) 3456789... etc pp...
Ich kenne den Ausdruck Datepart gar nicht. Aber jetzt ist er abgespeichert und ich denke dass ich Datepart noch öfter benutzen werde...

Ach ja.. ich hab gerade einen kleinen Freudentanz veranstaltet..

VIELEN VIELEN VIELEN LIEBEN DANK AN EUCH ALLE die mich geschubst haben und mir die Lösung verraten haben :)