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 ;) )
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.
Im anhang meine Abfrage.
Ich hab alle anderen Statistischen Abfragen hinbekommen. nur diese eine. Aber für Chefe leider die wichtigste ...
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...
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
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 :)
ok die Heldin hat gerade bemerkt... is nich...
er macht mir die Wochen doppelt :(
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;
Hi,
du kannst die Woche mit der Val-Funktion in eine Zahl umwandeln, dann wird auch richtig sortiert.
MaggyMay... kannst du mir sagen wie das geht? muss ich das im SQL machen?
Hallo,
oder gleich die Datepart-Funktion einsetzen:
SELECT DatePart("ww",[Besuch],2,2) AS Woche
.
.
Group by DatePart("ww",[Besuch],2,2)
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 :)