Autor Thema: Ideen für Auswertungsmöglichikeiten?  (Gelesen 1423 mal)

Offline RunRevilo

  • Junior Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
Ideen für Auswertungsmöglichikeiten?
« am: 17.07.14 - 09:21:34 »
Hallo,

ich habe folgende Aufgabe erhalten. Bei einer nicht von uns entwickelten Datenbank (dort werden Beratungsgespräche festgehalten) gibt es eine Maske mit 6 Textfeldern, welche bearbeitbar sind. Wobei jedes Textfeld für ein bestimmtes Beratungsthema steht.
Wenn ein Mitarbeiter ein Beratungsgespräch führt, klickt er in das entsprechende Feld und automatisch wird am Ende des Textfeldes eine Zeile mit "---------------- Name Mitarbeiter - Datum-------------------" eingfügt. Darunter gibt er seine Notizen ein und speichert das Dokument. Beim nächsten Beratungsgespräch über das gleiche Thema, wird demenstprechend wieder so eine Zeile am Ende eingefügt. Es kann vorkommen, dass verschiedene Mitarbeiter mit dem gleichen Kunden über das gleiche Thema sprechen, so dass in dem Textfeld mehrere Zeilen der Art "---------------- Name Mitarbeiter - Datum-------------------"  vorkommen. Siehe Bild.

Ich soll nun für die Verantwortlichen eine Auswertungsmöglichkeit schaffen, so dass sie sehen welcher Mitarbeiter in einem gewissen Zeitraum wie viele Beratungsgespräche zu welchem Thema gemacht hat.


Mein momentan Idee ist folgende:
Ein täglicher Agent der über alle KundenDokumente läuft und aus den 6 Textfelder, jeweils die Namen der Mitarbeiter und das Datum liest. Für jeden Eintrag der Art "---------------- Name Mitarbeiter - Datum-------------------" wird pro Textfeld (entspricht ja eigenes Thema) ein AuswertungsDokument erstellt mit 3 Feldern (Name Mitarbeiter, Datum, Thema).
Bevor der Agent die AuswertungsDokumente erstellt, muss er die alten löschen, da er täglich alle KundenDokumente untersucht.  
Wenn ich jeweils nur die neu erstellten oder geänderten Kundendokumente untersuche habe ich das Problem, das ich bei jedem Feld zuerst alle Mitarbeiternamen und Datume heraussuchen muss und dann prüfen ob für diesen Eintrag bereits ein AuswertungsDokument besteht.
Dann würde ich Ansichten erstellen, welche die gewünschten Auswertungen anzeigen.

Ich hoffe ich habe die Ausgangssituation und das gewünschte Ergebnis halbwegs verständlich rüberbringen können.

Würde mich jetzt über ein paar Anregungen und Tips freuen.

Grüße
Oliver
« Letzte Änderung: 18.07.14 - 09:47:36 von RunRevilo »
Grüße aus dem schönen Südtirol
Oliver C

Es gibt keine dummen Fragen, sondern nur dumme Antworten

Laufen ist der ideale Ausgleich zu jeglicher Arbeit, denn beim Laufen muss man nicht Denken.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Ideen für Auswertungsmöglichikeiten?
« Antwort #1 am: 17.07.14 - 09:47:45 »
Vom Grundsatz her passt das, aber bitte nicht die Dokumente löschen, die DB wird dann riesengroß (Deletion-Stubs), irrer Replikationsaufwand usw.

Zu Beginn des Agentenlaufes gehst Du durch alle vorhandenen Auswertungsdokumente und merkst Dir in einer Liste den Inhalt, etwa so:

Dim auswertungen List As Integer
Do While Not doc Is Nothing
   auswertungen (doc.NameMitarbeiter (0) & "#" & doc.Datum (0) & "#" & doc.Thema (0)) = 1
   Set doc = ...
Loop

Wenn Du dann die Felder der Dokumentationen durchgehst, prüfst Du bei jedem Eintrag, ob der in der Liste enthalten ist. Das Dokument legst Du nur an, wenn es den Listeneintrag noch nicht gibt

NameMitarbeiter = ... errechnet aus Eintrag
Datum = ... errechnet aus Eintrag
Thema = ... errechnet aus Feld
If Not IsElement (auswertungen (NameMitarbeiter & "#" & Datum & "#" & Thema)) Then
   -> neues Auswertungsdokument erstellen
End If


Dieses Verfahren ist sauschnell, da Du nur einmal durch die bestehenden Auswertungsdokumente gehst. Du brauchst dafür auch keine Ansicht, um bei jedem Eintrag in der Ansicht nachzuschauen, ob es das Dokument schon gibt.

EDIT: Du könntest in die Dokumentationsdokumente durch den Agenten auch noch ein Auswertungsflag setzen, das beim Speichern des Dokumentes wieder entfernt wird. Dann brauchst Du nur die Dokumentationsdokumente abarbeiten, die dieses Flag nicht haben, denn die anderen wurden seit der letzten Auswertung nicht gespeichert. Oder Du merkst Dir an einer Stelle Datum und Uhrzeit der letzten Auswertung, und nimmst nur die Dokumentationsdokumente, die danach geändert wurden. Dann brauchst Du die Dokumentationsdokumente nicht extra zu speichern (ist sicherlich noch eleganter).
« Letzte Änderung: 17.07.14 - 09:52:15 von Peter Klett »

Offline RunRevilo

  • Junior Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
Re: Ideen für Auswertungsmöglichikeiten?
« Antwort #2 am: 17.07.14 - 10:13:48 »
Danke für den Tip.

Hatte eigentlich schon gedacht das mein prinzipieller Ansatz gar nicht so schlecht ist. Habe mir aber auch gedacht, dass das immer wiederkehrende löschen von den Dokumenten früher oder später zu einem Problem werden könnte.
Mir ist jedoch keine Idee eingefallen wie ich das umgehen kann, dabei scheint es so einfach zu sein (wenn man weiß wie ;-)). Erfahrung macht sich halt doch bezahlt.

Werde jetzt mal diesen Ansatz umsetzen.

Oliver
Grüße aus dem schönen Südtirol
Oliver C

Es gibt keine dummen Fragen, sondern nur dumme Antworten

Laufen ist der ideale Ausgleich zu jeglicher Arbeit, denn beim Laufen muss man nicht Denken.

Offline RunRevilo

  • Junior Mitglied
  • **
  • Beiträge: 51
  • Geschlecht: Männlich
Re: Ideen für Auswertungsmöglichikeiten?
« Antwort #3 am: 18.07.14 - 09:16:04 »
Habe den Ansatz von Peter umgesetzt und es klappt perfekt und der Agent läuft auch schnell.

Danke für den Tip Peter und schöne Grüße in den Norden.

Oliver
Grüße aus dem schönen Südtirol
Oliver C

Es gibt keine dummen Fragen, sondern nur dumme Antworten

Laufen ist der ideale Ausgleich zu jeglicher Arbeit, denn beim Laufen muss man nicht Denken.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz