Autor Thema: Benutzerstatistik in Ansicht darstellen  (Gelesen 3806 mal)

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Benutzerstatistik in Ansicht darstellen
« am: 14.10.02 - 14:43:11 »
Hallo,
eine Frage für Freaks: Ich habe eine Datenbank in Pflege bekommen in der eine Lesestatistik implementiert wurde. Ohne jetzt zu sehr ins Detail zu gehen, funktioniert das ungefähr folgendermaßen: Wenn ein Benutzer ein Dokument öffnet so wird in einem Profildokument dieses Benutzers die Dok-ID und der Zeitstempel für jedes gelesene Dokument festgehalten. Jede Nacht läuft dann ein Agent, welcher aus den vielen im Laufe des Tages angefallenen Profildokumenten der Benutzer die entsprechenden Werte ausliest und nun jeweils ein Statistik- Dokument pro "normalem" Datenbankdokument erzeugt, in dem alle Lese-Zeitpunkte für das betreffende Dok abgelegt werden. Der gleiche Agent bearbeitet dann noch ein Statistikdokument pro Benutzer, in dem das Datum verewigt wird. So hat man dann je "normalem" Dokument ein Statistikdokument in dem alle Lesevorgänge für dieses Dokument registriert sind und man hat je Benutzer ein Dokument in dem alle Daten erfaßt sind an denen der entsprechende Benutzer in der Datenbank aktiv war(jeweils als Datum/Zeit-Liste gespeichert). Nun möchten die Chefs gern, daß ich eine Ansicht erzeuge, die eine Art "Hitparade" der Dokumente darstellt; klingt erstmal nicht so schlimm(einfach die Anzahl der Zeiteinträge pro Dok aufsummieren), aber die möchten nun auch noch eine "Hitparade" nach Monaten haben. Also welches Dokument wurde in welchem Monat am meisten gelesen. Da ich aber pro Dokument nur ein Statistikdokument habe, weiß ich jetzt nicht, wie ich das basteln soll: Ich habe also z. B. eine Liste für Dok A wo drin steht, daß dieses Dok am 23.09.02 8:00; 24.09.02 9:15; 01.10.02 16:25 gelesen wurde. Wie kriege ich es jetzt so gebacken, daß in der Ansicht zu sehen ist, daß Dok A im September 2mal und im Oktober 1 mal gelesen wurde ?
 ??? ??? ???
« Letzte Änderung: 14.10.02 - 14:44:09 von g202e »
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #1 am: 14.10.02 - 16:35:57 »
ich habe mal etwas ähnliches machen müssen, eigentlich fast das Gleiche, wenn ich es mir so recht überlege.

Dazu bin ich folgendermaßen vorgegangen:
- im ersten Schritt pro "Hit" auf ein Document ein separates Zählerdoc erstellt
- am nächsten Tag die Hitdocs des Vortages eingesammelt per Agent (am nächsten Tag deswegen, da es ja immer sein kann, daß User auch um 23:00 noch tätig sind und der Agent bei einem 19:00 Uhr Lauf einige Hits "vergessen" würde dadurch...und Agent auf 23:30 zu stellen wollten wir nicht, da zu knapp an Tagesgrenze), den einzelnen Dokumenten als Report zugeordnet und die Hitdocs nach Zählung jeweils gelöscht.
(Man muß sich das wie eine Arbeitszeit DB vorstellen = jeder User ist einmal registriert, er kann an einem Tag mehrere Meldungen erfassen, die am Ende des Monats die Zeitabrechnung ergeben, wobei die Einzelmeldungen gelöscht werden können)

- dann wurden die Report Docs erstellt:
2 Report Doc Typen für 1 Dokument
- 1 Report Typ = "Monatsreport" => Hits pro Tag in einem Monat
- 1 Report Typ = "Quartalsreport" => Hits pro Monat in 1 Quartal

somit hat man am Ende des Jahres

1 Dokument
12 Monatsreportdoc
1 Jahresreportdoc

wobei die Monatsreports bei uns nach Ablauf des Quartals gelöscht wurden

Das Monatsreportdoc besteht aus
- der Zuordnung zum eigentlich Doc
- 31 Tagesfeldern (numerisch)
- Monat
- Jahr

Das Quartals/Jahresdoc besteht aus
- der Zuordnung zum eigentlich Doc
- 12 Monatsfeldern (numerisch)
- 4 Quartalsfeldern (numerisch)
- Jahr

das Script dazu findest Du im Dateianhang, damit Du mal einen Einblick bekommst.

Das Script selbst ist sehr linear aufgebaut udn hat an sich nur einen kleinen Trick: damit ich nicht einzeln die anzusprechenden Tagesfelder in den Code reinhacken mußte, habe ich das zu befüllende Feld schlicht dynamisch fokussiert:
Code
stelle das upzudatende Tagesfeld ein 
            Dim feldname As String
            feldname = "tag" & Cstr(tag)
            
                    'belege das gueltige Tagesfeld mit dem Wert 1, da es der erste Hit ist
            Dim item As NotesItem
            Set item = newdoc.ReplaceItemValue( feldname, 1 )

das Attachment:
« Letzte Änderung: 14.10.02 - 16:36:28 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #2 am: 14.10.02 - 19:22:58 »
Danke Rob,
das ist für mich ein sehr guter Einstieg. Habe wohl auch soweit alles verstanden. Die entstehenden Dokumente(Reports) sind dann aber nicht zum Anschauen gedacht, oder? Denn man hat ja dann z. B in einem Monatsreport lauter kryptische Feldnamen tag1 .... tag31, die dann vielleicht  auch noch alle irgendwelche Werte haben. Aber jetzt wirds für mich eigentlich interessant: wie stelle ich denn nun meine Statistiken in den Ansichten dar, vor allem, wie komme ich zu einer Systematik? Noch anders ausgedrückt: wie spreche ich die einzelnen in meinen Reports gespeicherten Werte an? Ich kann ja schlecht iegendwie in der Ansicht eine Abfrage formulieren wie: Zeige mir in Spalte1 das "jahr", in Spalte2 den Monat,  zeige mir in Spalte3  "tag1" an und lasse dabei das "tag" weg und zeige mir in Spalte4 den Wert von "tag1" an. Denn ich weiß ja zum Zeitpunkt der Ansichts-Erstellung nicht, welche "tag.."-Felder denn überhaupt Werte enthalten ? (Ich hoffe, du verstehst, was ich meine!)
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #3 am: 14.10.02 - 20:19:59 »
das ist richtig, daß man nicht die einzelnen Tage in den Ansichten unbedingt zeigen sollte, es sei denn, es ist von höchstem Interesse (btw, wie die Feldnamen nun geschrieben werden, ist so ziemlich egal, oder welche Rolle spielt das bei Deinen Überlegungen, da Du darauf hingewiesen hast?).

Dennoch, wir hatte sehr wohl die Reportdocs zur Ansicht freigegeben. Und das auf zweierlei Weise:
- einmal aus dem Userdoc selbst ein Link auf die dazugehörigen Detail-Statistiken ...dabei wurden die Reports dynamisch in einen personal folder "geschoben" und man konnte dort die einzelnen Monats- und Quartals/Jahresdocs einsehen
- für den schnellen Überblick diente uns eine Monatsreport Ansicht aller Docs..dort wurden die am meisten gelesenen Docs des Monats sortiert angezeigt..über die Reports
- das gleiche Spielchen hatten wir für die einzelnen Quartale des Jahres, wo die kumulierten Hits bezogen aufs Quartal die Hottest Docs angezeigt wurden

Insofern ergab es sich aus den Anforderungen, daß eine tagesbezogene Hitansicht unnötig war, denn der Sinn dieses Moduls war es zu zeigen, welche Docs=User&Skills am meisten "nachgefragt" sind. Und da sind nun einmal tagesbezogene Auswertungen blanker Unsinn.

Insofern auch an Dich die Frage:
a.) was ist der Hintergund dafür, daß man unbedingt eine tagesbezogene Hit-View benötigt
b.) und wenn es in der Tat unumgänglich ist, nach welcher Art sollen die Docs sortiert angezeigt werden..sprich: was ist der Inhalt der in den Docs hinterlegten Informationen (Arbeitsanweisungen, News, Stats i.e.S., Beschlüsse, QM Docs, ...)? Je nach Typus ergeben sich mögl. Alternativen zur sinnvollsten Anzeige
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #4 am: 14.10.02 - 21:01:23 »
Danke, für die schnelle Antwort.
Du hast natürlich recht, daß eine Aufschlüsselung auf die einzelnen Benutzer pro Tag wenig Sinn macht; ist so wohl auch nicht gemeint. Ich habe im Moment wohl auch deshalb Verständnisprobleme, weil ich deinen Scriptcode erstmal auf meine vorhandenen Benutzerdoks angepaßt habe(läuft übrigens prima). Aber auch wenn ich für die Hit-Ansichten (bei den Dokumentenstatistiken) nachher die mittels des Script-Agenten erstellten Reports nutze, fehlt mir im Moment das Verständnis, wie ich aus einem "tag13" im Oktober-Report für Dok A  mit dem Wert 25 und einem "tag14" mit dem Wert 3 in einer Ansicht zwei Zeilen erzeuge aus denen man dann ersieht, daß das Dok A am 13.Oktober 25mal und am 14.Oktober 3mal gelesen wurde. Vielleicht kannst Du mir ja noch ne kleine Anregung geben.?
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #5 am: 14.10.02 - 21:14:57 »
"untereinander" = zeilenweise wirst Du es ...denkt kurz nach ... nicht hinbekommen, es sei denn, Du "stapelst" die Werte als Multivalue in einem kumulierten Feld nach folgender Deklaration =
"01.10. - 13 Hits"
"03.10. - 18 Hits"..
Die Spalte stellst Du so ein, daß sie Multivalues als neue Zeile anzeigt.
Notes müßte das in einer Ansicht so auflösen, daß das erste Element dieses Feldes zuerst kommt und dann das nächste, etc...es sei denn, Du sortierst diese Spalte, dann kommt natürlich textlicher Kuddelmuddel raus (1., 11., 2., 21., ..., 3., ...) .

Dieses Multivalue Feld muß natürlich bei jedem neuen Hitcounter-Update aus den einzelnen Feldinformationen (Tag1...Tag31) zusammengefriemelt werden, was aber nicht so widl ist. Im Rahmen einer For Schleife hast Du das Multivalue Field anhand der Werte schnell befüllt.

Ok, aber wenn dann sehr viele verschiedene Docs vorhanden sind, stell ich mir die Ansicht recht ... lang? vor   :P Hm..echt keine so dolle Lösung...bringt das wirklich was, so eine Doc-bezogene Tagesansicht?

Nun ja, Notes = Report Machine? *würg* Notes alleine machts nicht.

hab Dir mal einen View exempl. reingehangen, wie wir das u.a. gelöst hatten:
« Letzte Änderung: 14.10.02 - 21:28:41 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #6 am: 16.10.02 - 18:23:23 »
Danke Rob,
durch Deine Mithilfe habe ich zumindest meinen Auftraggeber erstmal ruhig stellen können. Dabei war der entscheidende Gedanke der mit den Monats- und Jahresdokumenten. Ich hatte nämlich ursprünglich probiert, nur mit den Hit-Docs zu arbeiten. Das wurde dann jedoch zu aufwändig und deshalb uneffektiv. Jetzt habe ich zumindest erstmal eine funktionierende Lösung. ;D ;D ;D
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #7 am: 16.10.02 - 18:47:32 »
wie hast Du es denn jetzt gelöst?

Nur monatsbezogene Statistiken bzw. wie hast Du die Views nun aufgebaut?
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #8 am: 16.10.02 - 20:05:09 »
Also ich werte jetzt natürlich in den Ansichten nur noch die durch dich initiierten Reportdocs aus und habe damit dann verschiedene Ansichten realisiert; z. B. kann man sich ansehen, welches Dokument in der Datenbank das am meisten gelesene ist oder wie oft ein bestimmtes Dokument im Monat gelesen wurde. Auf Benutzerseite wird angezeigt, wie oft der Benutzer in einem bestimmten Monat in der Datenbank gelesen hat. Habe mal ein Beispiel-Screenshot mit angehängt. Was mir noch nicht ganz gefällt, ist die Tatsache, daß ich anstelle der Monatsnamen nur Zahlen anzeige; aber wenn ich die Namen anzeige klappt es mit dem Sortieren nicht so schön.
« Letzte Änderung: 16.10.02 - 20:06:02 von g202e »
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #9 am: 16.10.02 - 22:05:19 »
das beste finde ich "was kostet die Bahn den Steuerzahler"  ;D ;D ;D

Aber mit den Monatsnamen ist rechts easy=
kleine Formel dazu im Monatsdoc (immer besser, als eine Spaltenformel, da die zu Lasten der Indizierungsperformance geht)

Spalte ABC
versteckt, sortiert
Feld aus Doc: Monat als Zahl

Spalte XYZ
angezeigt, nicht sortiert
Feld aus Doc: Monat als Text übersetzt --->

_monat:=@Text(Feld_Monat);
@if(
_monat=
"1";"Januar ist ein schöner Monat";
"2";"Februar ist ein guter Monat";
etc...

Mit der Mischung aus einer versteckten, Zahlenspalte und einer angezeigten, äquivalenten Textspalte bekommt man saubere, textliche Sortierungen hin.


edit: was auch geht, statt der IF Umwandlung von Zahl in Wort ist Replace, wenns Dir mehr gefällt:
@replace(
@text(monat);
"1":"2":"3":"4":"5":"6":"7":"8":"9":"10":"11":"12";
"jan":"feb":"marz":"april":"mai":"jun":"jul":"aug":"sep":"okt":"nov":"dez")
)
« Letzte Änderung: 16.10.02 - 22:11:04 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline g202e

  • Senior Mitglied
  • ****
  • Beiträge: 361
  • Geschlecht: Männlich
  • Was nicht tötet, härtet ab!
Re:Benutzerstatistik in Ansicht darstellen
« Antwort #10 am: 17.10.02 - 17:11:58 »
das beste finde ich "was kostet die Bahn den Steuerzahler"  ;D ;D ;D

da kann ich nur sagen: Unter anderem mein Gehalt!

soweit das Outing, ansonsten vielen Dank. Den Trick mit dem Verbergen einer Spalte kannte ich nicht. Klappt prima.
Domino 5.0.11/LN 5.011(german)/NT4 + SP6a

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz