Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: chibiusa83 am 28.12.09 - 20:37:24
-
Hallo zusammen,
habe schon viel im Forum gestöbert, aber nichts passendes gefunden.
Hier mein Problem:
Meine Datenbank ist eine Aufgabendatenbank.
Jede Aufgabe kann den Status "offen" und "erledigt" haben.
Ich versuche eine Ansicht "Wochenstatistik" zu erstellen.
Die Ansicht stelle ich mir ungefähr so vor:
Gruppiert nach Kalenderwoche, wenn diese Gruppierung geöffnet wird weiter gruppiert nach Status.
Das Problem: Ich möchte sehen, wieviele Aufgaben am Anfang der Woche offen waren, wieviele am Ende der Woche offen waren, wieviele im Laufe der Woche erledigt wurden und wieviele Aufgaben neu hinzugekommen sind.
Erledigte und Neue habe ich schon hinbekommen, leider fehlt mir der Rest.
Habt ihr einen Tipp für mich?
LG
Lutz
-
Hallo,
Wirst Du ueber eine Ansicht auch nicht hinbekommen.
Woher soll eine Ansicht wissen, was am Anfabng der Woche noch offen war und was innerhalb der betreffenden KW geschlossen wurde.
Diese sache wirst Du dir wohl oder uebel in entsprechenden Feldern innerhalb des Aufgabendokumentes merken muessen.
Und diese Felder kannst Du dann fuer den Aufbau Deiner Ansicht verwenden.
Andreas
-
Hallo,
also wäre eine Idee ein Feld "KWAnfang" zu erstellen, das Feld wird dann jede Woche neu gesetzt.
In der Ansicht die dann nach "KW" gruppieren?
Es kann ja vorkommen, dass eine Aufgabe über eine Woche offen ist und das Feld "KWAnfang" dann mit einem neuen Wert überschrieben wird.
Wie sichere ich das Feld, oder wie bekomme ich die neuen Werte immer in das Feld rein, ohne die alten Werte zu löschen?
Bin da eher amateurhaft unterwegs, entschuldigt meine dummen Fragen, vielleicht ist es ja auch ganz einfach.
Besten Dank.
Lutz
-
So wie du das schilderst wird das nicht nur ein Feld sondern mehrere. Und zum Teil, wenn du eine Historie behalten willst sind das Mehrfachfelder.
Dein KWBeginnNochOffen Feld ist zum Beispiel so eines. Da wird am Begin jeder Kalenderwoche in der die Aufgabe noch offen ist ein neuer Wert dazugeschrieben.
-
Hallo,
so kommen mir doch noch ein paar Ideen.
2 Mehrfachwerte-Felder
In einem wird die KW berechnet und in dem anderen der Wert aus dem Statusfeld übernommen.
Aber die Werte werden bei mir immer überschrieben, wie funktioniert das mit dem dazuschreiben?
Viele Grüße
Lutz
-
nochwas, sorry.
Mehrere Felder:
KWBeginnOffen
KWEndeOffen
KWNeu
KWerledigt
Die ersten beiden Felder müssten dann Merhfachfelder sein.
KWNeu wird ja nur einmal genutzt, da könnte ich die kW aus @created nehmen.
KWerledigt, kann eingtragen werden, wenn das DatumErledigt gefüllt ist.
OK
Also hänge ich irgendwie an den Mehrfachfeldern fest :-(
Und die werden irgendwie immer überschrieben.
Hilfeeeee
Lutz
-
Wie füllst Du das Feld?
@SetField("Feld";"NeuerWert" : Feld) fügt den Wert NeuerWert dem Inhalt des Feldes zu.
Boris
-
Hallo,
momentan ist es ein brechnetes Feld.
@SetField("Feld";@today : Feld) funktioniert bei mir nicht?
LG
Lutz
-
Hallo Lutz,
verstehe nicht wie das ganze funktionieren soll?
Wer oder was veranlasst einen zweiten Eintrag?
Boris
-
Ohne einen 'Aktualisierungsagenten' wird das nicht funktionieren. Der muss am Anfang jeder KW prüfen, ob ein Aufgabendokument im Status 'offen' ist und dann die relevanten Felder mit Daten befüllen.
Für eine 'Wochenstatistik' würde sich sicherlich auch ein seperates Statistikdokument gut machen. Das läßt du zum Ende jeder Woche durch einen Agenten anlegen. Das Dokument enthält dann in einer übersichtlich gestalteten Maske einen Bericht für diese Woche.
Vorteil der Lösung: Auch komplexere Auswertungen lassen sich umsetzen, die mit einer Ansicht in Notes oft gar nicht möglich wären. Zudem muss in der Statistik-Ansicht nichts mehr berechnet werden (alle Werte sind ja im Auswertungsdokument gespeichert), was die Anwendung bei vielen Auftragsdokumenten sicherlich positiv beeinflussen wird.
Das Ganze läßt sich auch relativ problemlos auf Monats-, Quartals- oder Jahresauswertungen erweitern, in dem man einfach weitere Agenten und ggf. entsprechende Masken in die anwendung integriert (aus meiner Erfahrung kommen weitere 'Auswertungs'-Anforderungen recht schnell, sobald man derartige Statistiken erstmalig in einer Anwendung integriert hat).
-
Hallo,
Ohne einen 'Aktualisierungsagenten' wird das nicht funktionieren.
evtl. doch, wenn der Event, der den Status ändert, das entsprechend mit Datum einträgt/dokumentiert und beim Erstellen der "Ursprungsstatus" entsprechend festgehalten wird.
Gruß Werner
-
Werner ohne Agent geht das so einfach nicht, weil du sonst in der Übersicht nicht in der Lage bist das für jede Kalenderwoche korrekt darzustellen.
Allerdings kann man mit in der View berechneten Dokumentfeldern so etwas auch lösen.
-
Ich würde auch zu der von Dirk vorgeschlagenen Vorgehensweise tendieren, denn selbst wenn man die Felder alle sauber aufgebaut hat, müsste man daraus dann erst mal eine entsprechende Ansicht "bauen", was sicherlich nicht einfach wird.
Und wenn dann jemand eine Monatsstatistik will muss man erneut alle Dokumente schreiben.
Sinnvoll wäre es aus meiner Sicht, den Agenten so zu gestalten, dass dieser zwar in der Regel jede Woche aufgerufen wird, dass dieser aber auch im Nachhinein die Wochenstatistiken anlegen kann. Der Agent sollte sich also nicht so sehr am aktuellen Zustand der Vorgänge orientieren sondern an den Feldern angelegt, abgeschlossen usw.
Ein solcher Agent kann dann auch relativ einfach auf andere Szenarien wie eben Monatsstatistik umgebaut werden.
-Werner
-
Hallo,
die KW sollte mit einem Agenten gesetzt werden.
Aber die Lösung mit dem Agenten, der ein Statistik-Dokument anlegt hört sich absolut Klasse an 8)
Nur kann ich mir im Moment nicht wirklich vorstellen, wie das ablaufen soll. ???
Könnt ihr mir dazu noch ein paar Tricks verraten.
Das wäre wohl die beste Lösung, da die Masken doch um einiges "schöner" gestalten lassen, als eine Ansicht.
LG
-
Hallo LG,
ich wollte erst mal wissen wie Du das Feld setzt, die anderen Jungs haben Dir ja schon mögliche Ansätze aufgezeigt.
Die Formel des Feldes macht auf alle Fälle überhaupt keinen Sinn (2ter Eintrag wird ja vom Agenten gemacht).
Die Formel lautet also @Today und der Agent fügt dann mit @SetField("Feld";@Today : Feld)
den 2ten, 3ten ect. Eintrag an.
Für den Vorschlag mit dem Statistik Dok. wäre vorher noch zu klären, genügt eine Statistik oder willst Du in der Ansicht evt. noch sehen welcher Vorgang das ist?
Boris
-
Hallo Boris,
für das Statistik Dok würde die Statistik alleine schon reichen.
Im Grunde als Übersicht, wo nur die Anzahl interessiert.
Wenn das funktioniert, wäre das genau das richtige.
LG
-
Hallo und ein Frohes Neues!
Nur zum Verständnis:
Um diese super Lösung mit einem Statistik-Dokument, bräuchte ich einen Agenten, der ein Datum je nach Status setzt. Das dann am besten in ein Mehrfachwertfeld.
Dann einen Agenten, der die Dokumente der Datenbank ausließt und die Anzahl der Dokumente mit Datum x und Status y zurückgibt und das ganze dann in ein weiteres Dokument schreibt?
Versuche die ganze Zeit schon da eine Lösung zu finden, aber steh irgendwie auf dem Schlauch.
Könnt ihr mir bitte noch ein paar Tipps geben. Oder auch Stichworte, wonach ich suchen kann?
Komme da im Moment echt nicht weiter und das wäre wirklich eine super Lösung.
LG
-
Hallo Lutz,
auch Dir ein gutes neues Jahr!
Um Dir helfen zu können, müsstest Du aber bitte folgende Frage beantworten: Wie gut bist Du in LotusScript?
Bernhard
-
Hallo Bernhard,
gut würde ich nicht sagen, ein paar Kleinigkeiten gehen schon, also eher Anfänger.
LG
-
Hallo Lutz,
ich weiss leider immer noch nicht wer einen Vorgang wie auf erledigt setzt.
Wird ein Dokument in einer Ansicht angewählt und mit einer Aktion bearbeitet?
Wie soll dann Deine Auswertung aussehen?
Datum offen erledigt
Heute 15 20
23.12.09 20 15
Boris
-
Hallo Boris,
die Auswertung soll im Grunde so aussehen, das heute muss noch nicht mal sein, das reine Datum reicht.
Mal als Wochenstatistik:
Woche AnfangOffen erledigt EndeOffen
1. 0 5 6
2. 5 4 3
Das Dokument wird aus einer Ansicht bearbeitet.
Entweder mit Doppelklick oder Bearbeiten-Button.
Sobald das Feld "Datum erledigt" mit einem Datum gefüllt wird, geht der Status auf erledigt.
Viele Grüße
Lutz
-
Hallo Lutz,
woher hast Du die Woche?
Boris
-
Hallo Boris,
aus dem Tagesdatum errechnet.
Viele Grüße
Lutz
-
OK dann brauchst Du doch nur eine Ansicht die sortiert nach KW ist und durch die muss der Agent durchgehen und die entsprechenden Daten zusammen stellen, oder?
Boris
-
Hallo Boris,
das würde grundsätzlich reichen, mein Problem ist die Ansicht dann auch so darzustellen.
Wie kann der Agent die Daten sammeln und dann so in den Spalten anzeigen?
Also die Spalten mit der Anzahl der verschiedenen Status anzeigt?
Viele Grüße
Lutz
-
Lutz, Du hast da Boris missverstanden. Er meint: Der Agent braucht eine nach Kalenderwoche sortierte Ansicht, über die der Agent dann iterieren kann. Von "Darstellung" sprach er nicht.
Ich würde aber für den Report (um den kommst Du nicht herum, und der ist nur mit LotusScript, Java, C / C++ oder mit entsprechenden Connectoren auch mit anderen höheren Programmiersprachen möglich) eine solche Ansicht nicht benutzen:
Du hast im Endeffekt nur zwei Status und dazu jeweils zwei Termine:
- Erstellt
- Erledigt
Du kannst nun im ersten Lauf ein (dreidimensionales) Array via Iteration über alle Aufgabendokumente erstellen (eindeutiger Kenner, Datum erstellt, Datum erledigt).
Im zweiten Lauf iterierst Du über dieses Array an Hand der Kalenderwoche und errechnest Deine Wochenwerte. Dies erspart zudem einen permanent laufenden Agent.
Geschickter wären aber meines Erachtens zwei List-Variablen, die durch die Iteration durch alle Aufgabendokumente gebildet werden (erstens sind Lists schneller, zum zweiten sind Arrays in der Speicherfähigkeit deutlich endlich):
- Liste 1: Tag ist die KW für "erstellt", Inhalt wird an Hand der Dokumente summiert
- Liste 2: Tag ist die KW für "erledigt", Inhalt wird an Hand der Dokumente summiert
Daraus kannst Du Dir dann wiederum durch Iteration über die Lists ein Array über einen Betrachtungszeitraum zusammenbauen (der wohl unter sinnvollen Vorgaben auch das Array nicht mehr sprengen kann).
Wie Du aber siehst: Simpel ist das nicht. Den permanent laufenden Agent würde ich fix wieder vergessen - viel hilft der auch nicht, und wehe, der hatte sich am Wochenanfang irgendwie verschluckt, und keiner hat es gemerkt - dann wäre Deine Statistik sofort im Eimer.
HTH,
Bernhard
-
Hallo Bernhard,
wie bekomme ich denn die Status "OffenAnfang" und "OffenEnde".
Hier habe ich kein Datumsfeld in der Maske und muss das Datum setzen.
Geht das ohne Agent?
Viele Grüße
Lutz
-
Ehrlich gesagt verstehe ich diese Frage nicht. Eine Aufgabe ist offen seit dem Zeitpunkt, seitdem sie erstmal mit diesem Status gespeichert wurde. Eine Aufgabe ist erledigt zu dem Zeitpunkt, an dem sie diesen Zeitpunkt erreicht hat.
Mit dem Statuswechsel sollte man diese Daten entsprechend speichern - dafür braucht es dann auch keine Liste. ;)
In diesem Szenario ist natürlich noch nicht berücksichtigt, dass eine Aufgabe eventuell erneut auf den Status "offen" gesetzt wird.
Ich befürchte, Du hast noch ein grösseres Problem mit der Architektur von derartigen Anwendungen.
Bernhard
-
Hallo Bernhard,
um die Auslastung der jeweiligen Wochen sehen zu können, benötigt man schon eine Auswertung in der man erkennen kann, wieviel im der Woche abgearbeitet wurde und vieviel nicht, bzw. wieviel hinzugekommen ist.
Aber egal, die Anforderung besteht und ich wollte nur Hilfe in diesem Forum suchen und keine Diskussion was gebraucht wird und was nicht. Wie gesagt: Das steht fest.
Kann oder eher will mir jemand helfen oder nicht?
Wir sind keine Notes-Profis und sind diesen Schritt in das Forum gegangen.
Anscheinend leider ohne Erfolgt.
Hätte uns natürlich auch Geld gespart, aber das werden wir dann wohl ausgeben müssen.
Trotzdem vielen Dank an Alle, die sich gemeldet haben.
@Bernhard: Schön, dass du alles besser weißt, bloß um die Diskussion auf ein Thema zu schieben, dass es nicht zu diskutieren gibt,
Viele Grüße
Lutz
-
Hallo Lutz,
ich verstehe nicht, warum Du jetzt uns den schwarzen Peter zuschiebst. Diese Anforderung war doch den Antwortenden hier von Anfang an klar:
um die Auslastung der jeweiligen Wochen sehen zu können, benötigt man schon eine Auswertung in der man erkennen kann, wieviel im der Woche abgearbeitet wurde und vieviel nicht, bzw. wieviel hinzugekommen ist.
Etliche - mich inclusvie - haben sich einige Mühe gegeben, Dir mögliche Lösungsszenarien in möglichst einfachen Worten zu erklären. Die Frage nach "kann oder will hier jemand helfen" steht nicht:
1) "Kann" steht vollkommen ausser Frage: Die Palette der AtNotes-Gemeinde dürfte jedes Gebiet in jedem fachlichen Level abdecken.
2) "Will" - die Frage ist eigentlich schon frech: Was meinst Du, warum in diesem Forum jede einzelne Antwort geschrieben wurde, warum hier zehntausende Stunden an Zeit geopfert wurden?
Diese Antwort
Aber egal, die Anforderung besteht und ich wollte nur Hilfe in diesem Forum suchen und keine Diskussion was gebraucht wird und was nicht. Wie gesagt: Das steht fest.
besagt lediglich, dass Du rein gar nichts verstanden hast, was fachlich erforderlich ist: Wir haben Dir nur Deine Fragen beantwortet, die Antworten scheinst Du aber nicht im Entferntesten verstanden zu haben. Alle Antworten zielen genau auf eine Lösung Deines Problems und stellen Deine Aufgabenstellung in keinster Weise in Frage.
Bitte erlaube mir, Dir (vorerst) abschliessend folgende zwei Tipps zu geben:
1) Du / Ihr seid derzeit (noch) ahnungslos, was die fachlichen Erfordernisse angeht. Sucht Euch eine gute Kraft, die das für Euch erledigt.
2) Bei der Ahnungslosigkeit muss es ja nicht bleiben. Wenn Du etwas anders an die Sache herangehst und an dieses Forum hier, werden wir sehr gerne weiterhin versuchen, Dir zu helfen.
Es ist aber äusserst ungeschickt, in einem einzigen Posting "Null Ahnung" zu verkünden und gleichzeitig die Hilfswilligen, die Du noch nicht einmal ansatzweise verstanden hast, zu beschimpfen.
Ich würde mich sehr freuen, wenn wir uns in einem anderen Posting unter geänderten Vorzeichen wiederlesen/-schreiben könnten - keiner will Dich hier verjagen.
Bernhard
-
Hallo Lutz,
Deine Reaktion ist gelinde gesagt eine Frechheit.
Dieser Fred geht schon über zwei Seiten und wie Bernhard schon angeführt hat wurden auch Ansätze angesprochen.
Der Einwand Ehrlich gesagt verstehe ich diese Frage nicht. Eine Aufgabe ist offen seit dem Zeitpunkt, seitdem sie erstmal mit diesem Status gespeichert wurde. Eine Aufgabe ist erledigt zu dem Zeitpunkt, an dem sie diesen Zeitpunkt erreicht hat.
währe von mir als nächstes auch gekommen.
Eine Statistik ist doch eigentlich immer gleich.
1. Vorgang wird erstellt
2. Vorgang wird geschlossen
Somit ergibt sich:
1. Alle erstellten Vorgänge pro KW
2. Alle geschlossenen pro KW
Die Differenz beider Werte sind die offenen der KW??
Oder was wollt Ihr noch?
Boris
-
Hallo Boris,
ich denke hier besteht eher ein inhaltliches Problem, was zu klären ist, bevor man auf die Technik kommen kann.
Ihr versteht die Frage nicht? Wo habe ich mich falsch ausgedrückt, dass ihr nicht versteht was gewollt ist?
Wenn ich nur die neuen Aufgaben und die erledigten Aufgaben betrachte, habe ich nicht die Aufträge, die über Wochen offen sind.
Für mich sieht das dann im Grunde so aus:
Offene Aufgaben aus der letzten KW + neue Aufgaben der KW - erledigte Aufgaben der KW = Offene Aufgaben der KW.
Daher nur die Frage, wie sich das in einer Ansicht (muss natürlich keine Ansicht sein) darstellen lässt.
Vorstellung für die Ansicht:
Gruppiert nach KW, diese kann man dann aufklappen und erhält dann wieder gruppiert die
- offenen Aufgaben am Anfang
- Neuen Aufgaben
- erledigten Aufgaben
- offenen Aufgaben am Ende
Evtl. dann sogar noch nach Team und MA erweiterbar.
Oder Felder, die man dann ja ziemlich frei einer Maske einfügen kann.
Grund:
Steuerung.
So kann man sehen, in welcher KW besonders viele Aufträge kommen und in welcher KW besonder viele Aufträge abgearbeitet werden, oder besonders wenige kommen, oder besonder wenige abgearbeitet werden.
Grob gesagt: Wenn als in einer KW kaum Aufträge kommen und auch kaum welche offen sind, dann sitzen die Mitarbeiter rum und haben nichts zu tun.
Kann natürlich auch dann auf Monate statt KW gemacht werden.
Also um für die Zukunft planen zu können, die Auftragslage ist ziemlich regelmäßig.
Natürlich auch für kurzfristige Sachen:
Lass ich einen Mitarbeiter eher nach Hause, wenn er noch einen Haufen offener Aufgaben hat und das fast jede Woche so ist?
Kann man das nachvollziehen?
Viele Grüße
Lutz
-
Hallo Lutz
ich denke hier besteht eher ein inhaltliches Problem, was zu klären ist, bevor man auf die Technik kommen kann.
Genau da liegt der Hund begraben und nichts anderes hat Bernhard versucht Dir klar zu machen.
Also nochmal von vorn.
Eine Aufgabe hat zwei Zustände, offen oder geschlossen, fertig.
Offene Aufgaben aus der letzten KW + neue Aufgaben der KW - erledigte Aufgaben der KW = Offene Aufgaben der KW.
Nichts anderes habe ich in meinem letzten Beitrag geschrieben.
1. Alle erstellten Vorgänge pro KW
2. Alle geschlossenen pro KW
Die Differenz beider Werte sind die offenen der KW?
Wenn ihr nun ein Problem habt die offenen der letzten KW+die neuen der akt. KW zu addieren (beide Werte sind ja der Ansicht zu entnehmen) musst Du beim erstellen des neuen Statistik Docs. halt die offenen der letzten KW zu den neuen offenen addieren.
KW Erstellt(offen) Geschlossen weiterhin offen
1 20 13 7
2 aus Vorwoche 7 + 30=37 20 17
Boris
-
Ich habe vergessen nochmal zu schreiben, dass dies eine Vorgabe ist, auf die ich keinen Einfluss habe und deswegen nur die Frage gestellt habe, wie das umgesetzt werden kann und nicht, ob es sinnvoll, passend, anders oder sonst wie geht.
Das und nichts anderes habe ich versucht euch klar zu machen.
Aber egal, die Sache wird vergeben und hat sich damit erledigt.
-
Irgendwer steht hier komplett auf dem Schlauch. Während alle *Deine* Vorgaben anerkennen und Lösungsvorschläge dafür erarbeitet haben, kommst Du immer wieder damit, wir hätten es nicht verstanden. Keiner hat an der Aufgabe gemäkelt, diskutiert wurde bestenfalls *in Deinem Sinne* über bestmögliche Lösungswege.
So, wie sich das darstellt, hast Du offensichtlich bis hierhin nichts verstanden. Dann ist die Vergabe des Auftrags an Fachpersonal hier der einzige Lichtblick. Ansonsten haben hier etliche Leute Hirnschmalz und Zeit geopfert - und bis dieser Thread nicht irgendwann einem anderen helfen wird, war alle Mühe umsonst und insofern frustrierend.
Bernhard
-
Hallo
@Bernhard:
Dann ist die Vergabe des Auftrags an Fachpersonal hier der einzige Lichtblick.
Hier muss ich Dir etwas widersprechen, wenn die Vorgaben des "Auftraggebers" (=Fachkonzept) nicht besser werden, dann geht das wieder "daneben".
Fast tut mir "das Fachpersonal" leid.
Aber umgekehrt kann einem evtl. auch der "Auftraggeber" leid tun, wenn er an jemand gerät, der das schwache Fachkonzept zu seinen Gunsten ausnutzt.
Oft landet so etwas dann am Ende vor dem Handelsgericht.
Gruß Werner
-
Werner,
prinzipiell gebe ich Dir vollkommen Recht! Ich habe gerade selber so einen Fall, in dem die "Fach"abteilung nicht wusste, was sie den "Fach"leuten als Auftrag geben sollte. Herausgekommen ist - logischerweise - eine Katastrophe.
Jetzt ist die Fachabteilung wirklich wieder eine solche, und der Dienstleister flog in hohen Bogen 'raus. Neue Fachabteilung und neuer Dienstleister stehen nun aber vor einem Scherbenhaufen. Und auch mit den besten Anwälten kommt man dem alten Lieferanten nicht bei: Er hat - drastisch gesprochen - Scheisse gebaut, aber ihm ist nicht nachzuweisen, dass er nicht genau dazu beauftragt wurde.
Vulgo: Dumm und Dumm gesellt sich gern.
Man kann es als Dienstleister aber natürlich auch anders machen. Mir ist es bisher nur einmal passiert, dass ich dem Kunden sagen musste: "Nö, machen wir nicht!". Auch wenn das Fachwissen fehlt, kann man doch gemeinsam auf erreichbare Ziele und daraus resultierend zu einer wasserdichten Aufgabenliste kommen.
In diesem - leider sehr unbefriedigend gelaufenen - Thread ist die Geschichte aber derart überschaubar und umfangsmässig pippifax, das tatsächlich der angedeutete Reportauszug von Lutz schon vollkommen ausreicht. Da hätte ich (als potentieller Dienstleister) gesagt: "So soll's aussehen? Okay, 200 EUR. Was darf's sonst noch sein?"
Jetzt würde mich einmal interessieren, was dann Lutz unterm Strich für seine Auswertung zu löhnen hat bzw. dann gelöhnt hat ;)
Bernhard