Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: tabama am 05.02.14 - 13:46:43

Titel: Frage zu "permutation"
Beitrag von: tabama am 05.02.14 - 13:46:43
Ich habe folgende Aufgabenstellung:
In einem Doc gibt es ein Zahlenfeld "von" und ein Zahlefeld "bis".
Ich möchte nun dass in einer Ansicht für Jede Zahl in diesem Bereich eine einzelne Zeile (ist zwar immer das gleiche doc) angezeigt wird.
Grundsätzlich bekomme ich dies ja mit "..getrennt anzeigen", "@Explode" usw. hin.
In anderen Forenbeiträgen bin ich bei ähnlichen Problemen immer wieder auf den Begriff "permutation" gestossen. Allerdings blicke ich da nicht durch.
Kann mir vielleicht jemand mal schnell den Code für die Spaltenformel posten? Vielleicht verstehe ich es ja dann auch, wenn es sich konkret um meinen Fall handelt.
Vielen Dank
Titel: Re: Frage zu "permutation"
Beitrag von: Glombi am 05.02.14 - 14:00:34
Du erstellst aus Performancegründen am besten ein Feld (Mehrfachwerte) in der Maske anstatt in der Ansicht in der Spalte  die Berechnung zu machen.
Das Feld dann mit einer einfachen @For(...) Funktion besetzen.

Andreas
Titel: Re: Frage zu "permutation"
Beitrag von: tabama am 05.02.14 - 14:29:37
Hallo Andreas,

das hatte ich auch schon probiert. Wenn die Range aber zu groß ist meckert Notes rum, dass es nur xx (ich glaube 64) kb sein dürfen.
Titel: Re: Frage zu "permutation"
Beitrag von: Tode am 05.02.14 - 14:41:53
Also: Wenn die Range zu gross ist, um in ein Feld zu passen, dann geht das aller Wahrscheinlichkeit nach auch in der Spaltenformel schief...

Zur "eigentlichen" Frage: Permutation... Bei der Permutation werden zwei Listen nicht linear (erstes Element mit erstem Element, zweites Element mit zweitem Element, etc. ) verarbeitet, sondern JEDES Element mit JEDEM.

Beispiel Text- Verkettung:

Code
_a := "a" : "b";
_b := "1" : "2";

a + b ergibt: "a1" : "b2";
Permutiert (Stern ist Permutationsoperator):
a *+ b ergibt "a1" : "a2" : "b1" : "b2"

Die Permutation hilft Dir also bei Deinem Problem nicht.
Titel: Re: Frage zu "permutation"
Beitrag von: tabama am 05.02.14 - 14:56:28
Danke Tode,

Da steh' ich nun, ich armer Tor, Und bin so klug als wie zuvor! (Goethe)  :-:

Irgendjemand da draußen eine andere Idee?

Titel: Re: Frage zu "permutation"
Beitrag von: Glombi am 05.02.14 - 15:00:12
In welchem Intervall liegen denn von und bis? Wenn Du da über 64k kommst, muss das ja gewaltig sein. Das will dann niemand in einer Ansicht sehen.
Titel: Re: Frage zu "permutation"
Beitrag von: Tode am 05.02.14 - 15:01:03
Was genau ist denn die Aufgabe? Wofür brauchst Du das (oder glaubst es zu brauchen)?
EIN Dokument für >32k Werte scheint mir doch suboptimal...
Titel: Re: Frage zu "permutation"
Beitrag von: tabama am 05.02.14 - 15:12:08
Hallo,

maximum von 1 bis 9999 in einer-Schritten, also knappe 10.000 Zahlen.

Ist ein wenig schwierig zu beschreiben, da es sich um eine fachspezifische Anwendung handelt. Deshalb hier mal ohne Fachbegriffe:

Es gibt ca. 200 Dokumente, in dem bestimmte Verfahrensweisen beschrieben sind.
In dem "von - bis" Feldern gibt es nun Nummern die besagen, dass dies Verfahren für diese Nummer nicht zur Anwendung kommt.
In der gewünschten Ansicht soll als Überblick dienen, bei welcher Nummer welches Verfahren nicht angewendet wird.

Wenn dies mit der Ansicht nicht funktioniert, dann werde ich irgendwie etwas mit einer Eingabemaske basteln und über ein search die gefundenen Dokumente in einen (temporären) Ordner schieben.
Titel: Re: Frage zu "permutation"
Beitrag von: Glombi am 05.02.14 - 15:42:44
ich habs getestet.

1000er Schritte gehen, bspw.
@For(n :=1000; n<2000; n:= n + 1;
full := @If(n=1000;1;full : n));
full

D.h. Du könntest 10 von den Feldern machen.
Gibts denn da Lücken bei den Verfahren?
Titel: Re: Frage zu "permutation"
Beitrag von: Peter Klett am 05.02.14 - 16:01:07
Hm, wenn man das auf mehrere Felder verteilt, gibt es aber trotzdem ein Mengenproblem, außer, man setzt die Items auf Issummary = False. Dann können sie aber nicht mehr in Ansichten angezeigt werden, und der Sinn der Aktion wäre damit dahin ...
Titel: Re: Frage zu "permutation"
Beitrag von: thkn777 am 05.02.14 - 16:21:34
@tabama
Ich weiß, das beantwortet Deine Frage jetzt nicht, aber kannst Du das Problem nicht einfach umgehen? Wenn Du nun einfach drei Spalten machst:

Verfahren | nicht erlaubt von | nicht erlaubt bis

Sie erste Spalte einfach sortiert. Die letzten beiden Spalten einfach sortiert und als zweite Sortierspalte die jeweils andere Spalte.

Dann kann der Nutzer:
- in der ersten Spalte das Verfahren suchen und sieht sofort in Spalte 2 und 3, wo es nicht gültig ist
- Ansicht nach Spalte1 sortieren --> welche Verfahren sind UNTER einer bestimmten Nummer erlaubt
- Ansicht nach Spalte2 sortieren --> welche Verfahren sind ÜBER einer bestimmten Nummer erlaubt

Gruß,
Th.
Titel: Re: Frage zu "permutation"
Beitrag von: pram am 06.02.14 - 00:11:37
Die Permutation verwende ich hin und wieder wenn ich Zahlen in einem Bereich erzeugen will.
z.B:
@text(0:3:6:9*+1:2:3) - Erzeugt die Zahlen 1-12 für Monatsauswahl
@text((0:1:2:3:4:5*5*+1:2:3:4:5):31) - das Gleiche für Tag 1..31 spart halt Tipparbeit und ist "cool" ;)


Deine Idee ist vermutlich, dass du in der Ansicht einfach beginnen willts, die Zahl einzutippen und dann direkt zum Eintrag zu springen. Dies sollte mit folgender Formel aber möglich sein:
Code
x:= start; 
@for(i:= start + 1 ; i <= ende;i := i + 1; x := x:i);
x
Das Problem ist aber die 32k (oder 64k) Grenze. Die Dokumente werden dann nicht mehr angezeigt, wenn die Formeln zu viel Werte liefern.

Wäre bei einem Wertebereich von 0...9999 aber kein Problem, da dies < 40k sind und du bestimmt nicht den ganzen Bereich einem Dokument zuordnest.

Aus konzeptioneller Sicht würde ich aber auch das Verfahren von thkn777 vorziehen, aus ergonomischer Sicht (durch tippen direkt hin springen hat was) wohl das andere ;)

Gruß
Roland
Titel: Re: Frage zu "permutation"
Beitrag von: tabama am 06.02.14 - 11:02:51
Vielen Dank für die vielen Antworten.

Ich werde mich mal mit dem Gedanken von thkn777 näher beschäftigen. Das scheint mir ein vernüftiger Kompromiss zwischen "wollen und können" zu sein.

Zwar hat pram ja nochmal das Thema Permutation aufgegriffen, aber ich muss gestehten, dass ich es immer noch nicht so richtig kapiert habe. Ich werde einfach mal seinen Code kopieren, vielleicht klappt es ja.

Nochmals Danke an Alle.
Titel: Re: Frage zu "permutation"
Beitrag von: thkn777 am 06.02.14 - 13:18:35
@tabama
Vielleicht noch eine zweite Idee: Bau in Deine Dokumente ein RichText Item "vonbis" ein, dessen Inhalt an geeigneter Stelle berechnet wird. Das QuerySave Event käme zum Beispiel in Frage. Warum RichText? Das darf auch etwas größer werden.

Das Item "vonbis" befüllst Du mit der Liste der Nummern, für die ein Verfahren ungültig ist.
Bsp.
Verfahren ungültig für Nummern 5-9: "vonbis" ist:
5 6 7 8 9

Die DB wird zusätzlich volltextindiziert. --> Die Nutzer können nun ganz einfach nach einer Nummer suchen ;) und erhalten eine Liste der Verfahren, die für diese Nummer nicht zugelassen sind.

Tip:
Wenn Du die Suche auf das Item "vonbis" beschränken willst und nach Nummer 100 suchst, kannst Du bei der Volltextsuche eingeben: "[vonbis]=100"

Tip:
Um es den Nutzern einfacher zu machen, kannst Du das Item auch "nichterlaubt" nennen, dann suchst Du mit "[nichterlaubt]=100". Man kann die Suche auch über die erweiterten Eingaben im Suchdialog starten.

ODER Du baust die Liste aus dem Beispiel oben anders:
nicht erlaubt für 5
nicht erlaubt für 6
nicht erlaubt für 7
nicht erlaubt für 8
nicht erlaubt für 9

--> dann kann der Nutzer GENAU DAS in die Suche eingeben  ;D

Achtung:
Ein Volltextindex kann auch mal nicht aktuell sein.

Viel Erfolg.
Titel: Re: Frage zu "permutation"
Beitrag von: ascabg am 06.02.14 - 13:26:39
Hallo,

@thkn777
Kurze Frage zu Deinem Vorschlag mit der Suche ueber den FTI.

Wurde zwar nicht angegeben, aber was machst Du bei der von Dir vorgeschlagenen Suche, wenn im Dokument auch die Verfahren angegenen sind, fuer die es gilt?

Oder was passiert bei der Suche, wenn im Dokument auch Telefonnummern angegeben sind?

Wenn Du jetzt nach einer einzelnen Nummer suchst, ...



Andreas
Titel: Re: Frage zu "permutation"
Beitrag von: thkn777 am 06.02.14 - 13:33:46
@ascabg
Mit [itemname]=<wert> kann in der Volltextsuche nur im Item "itemname" gesucht werden. Wähle ich hier das von mir nur mit den ungültigen Nummern befüllte Item "vonbis" aus, dann sollten auch nur ungültige Verfahren gefunden werden. Die von Dir erwähnten gültigen Nummern oder Telefonnummern würden ja in anderen Items stehen

Alternativ kann man sich diese Suche auch im Suchdialog "zusammenbauen" (siehe "Mehr" und dann unter Bedingungen "Feld")

Ich habe mein Posting noch mal etwas erweitert. Ist ja keine fertige Lösung, nur eine Idee.

Vorteil der Volltextsuche: funktioniert in allen Ansichten der DB. Das kann manchmal ganz nützlich sein.

Th.
Titel: Re: Frage zu "permutation"
Beitrag von: Peter Klett am 06.02.14 - 15:15:51
Bei der Variante mit der Volltextsuche müssten auf jeden Fall die Nummern formatiert werden, entweder fest

0001 0002 0003

oder irgendwie maskiert

'1' '2' '3'

damit wirklich konkret gesucht werden kann.

Eine Suche "[vonbis]=100" findet auch 1000, 1001, 2100, 3100 usw.. Mir wäre das zu wackelig ...
Titel: Re: Frage zu "permutation"
Beitrag von: thkn777 am 06.02.14 - 16:03:20
@Peter Klett
Es gibt auf jeden Fall noch allerhand zu bedenken, wenn man eine Volltextsuche hier einsetzen möchte, ich wollte nur eine Idee beisteuern.

Zu Deinem Problem, daß ggf. zuviele Einträge gefunden werden: das hängt von den Suchoptionen in der Volltextsuche ab.

"[vonbis]=100" findet "1000" nur, wenn die unscharfe Suche an ist (bei mir jedenfalls). Selbst "Mit Wortvarianten" klammert die 1000 aus der Ergebnismenge aus.

Schönen Feierabend wünsch' ich.