Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

neuen Bericht aus 3 verschiedenen Berichten erstellen

Begonnen von Manon, Juli 22, 2015, 12:55:57

⏪ vorheriges - nächstes ⏩

Manon

Hallo
Hier 3 Abfragen im Beispiel
Eingehende Anrufe=11
Ausgehende Anrufe=3
Verlorengegangene Anrufe=1
Diese wollte ich dann auf einem einziegen Bericht dem Mitarbeiter zugeordnet mit meinen Berechnungen anzeigen
AnzahlTotal
Anzahl Kundengruppen1Tot;2Tot;3Tot
Anzahl ausgehende Anrufe Tot
Verlorene Anrufe Tot
Dauer des Abhebens (Durchschnitt)
Dauer der besetzten Zeit... Das wäre perfekt  :)
Gruß
Manon :-)

MaggieMay

Hi,

qryLost und qryOutbound sind identisch, da stimmt wohl etwas noch nicht.
Wie lautet der korrekte Code für qryLost?

Mein Ansatz wäre folgender:
SELECT TblPersonnel.NomPersonnel,
IIf([Section]="Kundengruppe1" And [Outbound]=0 And [DurationConnected]>0,1,0) AS k1, IIf([Section]="Kundengruppe2" And [Outbound]=0 And [DurationConnected]>0,1,0) AS k2, IIf([Section]="Kundengruppe3" And [Outbound]=0 And [DurationConnected]>0,1,0) AS k3,
IIf([Outbound]=1 And [DurationConnected]>0,1,0) AS out,
IIf([DurationConnected]>0 And [DurationConnected]<6,1,0) AS lostCalls,
Format([connectTime]-[Starttime], "hh:nn:ss") AS waitTime,
journal.DurationConnected AS dauer
FROM TblClient INNER JOIN (TblPersonnel INNER JOIN journal ON TblPersonnel.LineNumber = journal.LineNumber)
ON TblClient.Localnumber = journal.LocalNumber
WHERE DurationConnected > 0;

Vielleicht hilft dir das ja schon weiter.
Freundliche Grüße
MaggieMay

Manon

Entschuldigung ... grrrrr
QryLost sind Anrufe unter 6 Sek und nicht 0  :'(
Gruß
Manon :-)

Manon

Vielen Dank MaggieMay
Ich habe deine SQL in meiner großen Datenbank ausprobiert
Das Resultat ist RICHTIG! Ich habe genau 24158 Resultate :D

Nur die Lost funktioniert nicht mit Outbound1 bleiben alle auf 0
Ich habe probiert die Formel zu verstehen
"IIf([Outbound]=1 And [DurationConnected]>0,1,0) AS out, " wenn outbound gleich 1 - ok Dauer größer als 0Sek - ok dann......???? schreibe 1 sonst 0??? Müsste doch funktionieren :-(
Gruß
Manon :-)

MaggieMay

Hallo,

es liegt daran, dass bei ausgehenden Anrufen keine gültige LocalNumber eingetragen wird, sondern die des Anrufers. Es muss also ein "Outer" Join zur Client-Tabelle angelegt werden.

Ich habe die Abfrage angepasst und noch etwas vereinfacht:
SELECT Journal.ID, TblPersonnel.NomPersonnel,
IIf([Section]="Kundengruppe1" And [Outbound]=0,1,0) AS k1,
IIf([Section]="Kundengruppe2" And [Outbound]=0,1,0) AS k2,
IIf([Section]="Kundengruppe3" And [Outbound]=0,1,0) AS k3,
IIf([Outbound]=1,1,0) AS out,
IIf([DurationConnected]<6,1,0) AS lostCalls,
Format([connectTime]-[Starttime], "hh:nn:ss") AS waitTime,
journal.DurationConnected AS dauer
FROM (journal INNER JOIN TblPersonnel ON journal.LineNumber = TblPersonnel.LineNumber) LEFT JOIN TblClient ON journal.LocalNumber = TblClient.Localnumber
WHERE DurationConnected > 0;


PS:
Sorge dafür, dass du Tabellenbeziehungen mit Referentieller Integrität herstellen kannst, sonst kannst du nie sicher sein, dass die Auswertung korrekt ist.
Freundliche Grüße
MaggieMay

Manon

MaggieMay  :-*
Ich habe jetzt in meiner DB 33168 Datensätze davon 24158 Inbound und 8055 Outbound davon 955 verloren
Was ist Journal.ID?
Diese Kolonne ist leer und will enter ParameterValue
"Sorge dafür, dass du Tabellenbeziehungen mit Referentieller Integrität herstellen kannst, sonst kannst du nie sicher sein, dass die Auswertung korrekt ist" wie mache ich das richtig?
Gruß
Manon :-)

MaggieMay

Ich hatte den Tabellen als erstes mal eindeutige Autowert-Keys geschenkt, hatte ich ganz vergessen zu erwähnen.

Wenn du die Beziehungen mit Referentieller Integrität einzustellen versuchst und eine Fehlermeldung erhältst, so beachte sie und kläre die Ursachen. Mehr ist dazu eigentlich nicht zu sagen.
Freundliche Grüße
MaggieMay

Manon

Liebe MaggieMay... mein Bericht ist fast perfekt

Kann ich im Bericht bei "StartTimeHeader* wo die Summen pro Woche korrekt aufgelistet sind (der Detail pro Tag bleibt unsichtbar) auch den Durchschnitt von WaitTime anzeigen?
WaitTime ist korrekt beim unsichtbaren Tagesbericht jedoch mit =Avg([WaitTime]) in der Überschrift bekomme ich immer folgende Meldung: "Data type mismatch in criteria expression"

Im Bericht ist der Durchschnitt pro Woche nicht einfügnar :-(
Gruß
Manon :-)

MaggieMay

Hi Manon,

ich weiß leider nicht auf welchem Stand deine DB inzwischen ist, da brauche ich schon mehr Details um helfen zu können - oder besser noch eine aktuelle Beispiel-DB mit konkreten Hinweisen was zu tun ist.
Freundliche Grüße
MaggieMay

Manon

Danke - ich habe noch einmal an der Beispiel Datei gearbeitet:
SELECT journal.StartTime, journal.ID, TblPersonnel.NomPersonnel, IIf([Section]="Kundengruppe1" And [Outbound]=0,1,0) AS k1, IIf([Section]="Kundengruppe2" And [Outbound]=0,1,0) AS k2, IIf([Section]="Kundengruppe3" And [Outbound]=0,1,0) AS k3, IIf([Outbound]=1,1,0) AS out, IIf([DurationConnected]<6,1,0) AS lostCalls, Format([connectTime]-[Starttime],"hh:nn:ss") AS waitTime, journal.DurationConnected AS dauer
FROM (journal INNER JOIN TblPersonnel ON journal.LineNumber = TblPersonnel.LineNumber) LEFT JOIN TblClient ON journal.LocalNumber = TblClient.Localnumber
WHERE (((journal.DurationConnected)>0));
Ich möchte nach NomPersonnel eine Kolonne einfügen mit der Annzahl von (k1+k2+k3+out) und leider funktioniert der Durchschnit von WaitTime in der Abfrage; jedoch nicht im Bericht. Ich wollte meinen Bericht im Anhang mitschicken - Datei anhängen funktioniert nicht (Es sind nur 172kb) pdf
Gruß
Manon :-)

Manon

Im Anhang mein Beispielbericht  :D
Laufende Wochennummer (blau)
Auflistung Personal (fehlt nur noch am Anfang Total der Anrufe pro Person)
WaitTime Durchschnitt funktioniert leider nicht
Gruß
Manon :-)

Manon

Meine Arbeit ist fast gelöst  :D
Letztes Probleem bleibt nur noch:
WaitTime Durchschnitt funktioniert leider nicht (Avg[WaitTime])  :o
Gruß
Manon :-)