Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: m3 am 17.08.07 - 14:19:29

Titel: Gordischer Formelknoten
Beitrag von: m3 am 17.08.07 - 14:19:29
Werte @-Formel Spezialisten, ich ersuche im Unterstützung!

Mein Vorgänger hat mir folgendes @Formel-Konstruct überlassen:

Code
(@Date(DATBM)-[1.6.2007]) * (([2.6.2007]-@Date(DATBM)))>=0

Dieses wird dann einem db.Search übergeben. DATBM ist ein Multivalue-Datumsfeld.

Ich versuche gerade dieses Konstrukt durch ein FTSearch nachzubauen. Im Prinzip suche ich so alle Dokumente, in denen im Feld DATBM ein Datumswert vorkommt, der zwischen dem 1. und 2.6. liegt.
Könnte mir wer bitte einen Ansatz/Denkanstoß dazu liefern?
Titel: Re: Gordischer Formelknoten
Beitrag von: pete_bla am 17.08.07 - 14:23:44
hört sich nach
Code
notesdate.timedifference
an...
nurnoch das gewurschtel von eventuellen textwerten im feld nach datum (mit timezone) ect...
Titel: Re: Gordischer Formelknoten
Beitrag von: m3 am 17.08.07 - 14:28:33
pete_bla (wir hätten im Forum hier gerne den "echten" Vornamen, zumindest in der Signatur),

ich muss den Ausdruck aber so umwursten, dass ich ihm FTSearch bzw. dem Eingabefenster der Notes Volltextsuche vorwerfen kann.
Dass ich mit timedifference einen unterschied herausbekomm, ist mir auch klar, hilft mir aber nicht weiter. ;)
Titel: Re: Gordischer Formelknoten
Beitrag von: Glombi am 17.08.07 - 14:33:56
Mein erster Ansatz wäre folgendes:

dim squery as string
squery = |[DATBM]=01.06.2007 or [DATBM]=02.06.2007|


Andreas
Titel: Re: Gordischer Formelknoten
Beitrag von: m3 am 17.08.07 - 14:39:00
Jup, wäre auch meiner gewesen. Da findet er aber nix.

Beispiel: Bei einem Dokument in der View schaut das Feld so aus:

Code
Field Name: DATBM
Data Type: Time/Date List or Range
Data Length: 76 bytes
Seq Num: 1
Dup Item ID: 0
Field Flags: SUMMARY 

13.01.2000
13.01.2000
13.01.2000
13.01.2000
13.01.2000
20.03.2000
26.04.2000
29.05.2000
18.01.2002

Sollte man doch beispielsweise mit einem "[DATBM]>=13.01.2000" finden, oder?
Nope, dem ist nicht so. Er findet gar nix :(
Titel: Re: Gordischer Formelknoten
Beitrag von: pete_bla am 17.08.07 - 14:53:37
ok

dann der vorschlag
Code
CONTAINS
ist ja ein mehfachwert im feld und das ist das nette an den @Formel dass die die Mehrfachwerte von selbst interpretieren.
Ist aber dann leider wieder ein = und kein => ....

besser so mit der Signatur?
Titel: Re: Gordischer Formelknoten
Beitrag von: jBubbleBoy am 17.08.07 - 14:59:32
Wird nur nach dem Datum gesucht oder gibt es noch andere Suchkriterien?

bubble
Titel: Re: Gordischer Formelknoten
Beitrag von: m3 am 17.08.07 - 15:09:45
Ah, im schlechtesten Fall ist das nur ein Teil einer langen ... AND ... Kette :(

"[DATBM] CONTAINS 13.01.2000" liefert mir ein "Query is not understandable".

@Peter: Viel besser, danke. :)


Titel: Re: Gordischer Formelknoten
Beitrag von: pete_bla am 17.08.07 - 15:10:26
so un noch was,

beim ftsearch darfst du ja auch "text" als formel schreiben.
vorschlag:
Code
ftsearch("field DATBM is after 13.01.2000")
Titel: Re: Gordischer Formelknoten
Beitrag von: m3 am 17.08.07 - 15:17:19
vorschlag:
Code
ftsearch("field DATBM is after 13.01.2000")
Query is not understandable  ??? :-:
Titel: Re: Gordischer Formelknoten
Beitrag von: pete_bla am 17.08.07 - 15:25:48
mist...  >:(
dann muss ich doch mal nachschauen wie ich das genau gemacht hab....
(hatte aber kein datumsfeld)
Titel: Re: Gordischer Formelknoten
Beitrag von: jBubbleBoy am 17.08.07 - 15:27:34
und was wenn du die Datumseinschränkungen erst nach dem FTSearch rausfilterst?

bubble
Titel: Re: Gordischer Formelknoten
Beitrag von: m3 am 17.08.07 - 15:38:01
und was wenn du die Datumseinschränkungen erst nach dem FTSearch rausfilterst?
In einer DB mit > 57.000 Dokumenten? Wozu hab ich die FT-Engine?
Titel: Re: Gordischer Formelknoten
Beitrag von: jBubbleBoy am 17.08.07 - 15:53:48
okey,
also "is after" gibt es auf keinen Fall beim FTSearch, ich denke der String müßte in etwa so ausssehen:

query = {FIELD DATBM>=01.06.2007 AND FIELD DATBM<=02.06.2007}

bubble
Titel: Re: Gordischer Formelknoten
Beitrag von: m3 am 17.08.07 - 15:59:36
aber leider nur theoretisch
Titel: Re: Gordischer Formelknoten
Beitrag von: flaite am 17.08.07 - 16:46:50
Hier gibts einen Hinweis:
http://204.3.199.129/tools/domino/v6/CleanInBox/ftsearch.htm


Titel: Re: Gordischer Formelknoten
Beitrag von: pete_bla am 17.08.07 - 17:10:02
wie schon gesagt hab ichs nur für "Strings"  :(
felder mit datum & mehrfachwert leider nicht  >:(
Code
FTSearch("field Subject contains hallo")
oder
Code
FTSearch("FIELD Subject = hallo")
funktioniert (aber eben nicht datum & mehfachwert)
der dann auch nicht das "field" will, sonst der "Query is not understandable".
Code
FTSearch("FIELD Datum =01.01.2007")
findet eben nur einfachwerte (auch wenn man die 'formel' in der suchbar zusammenschraubt).

sorry

Titel: Re: Gordischer Formelknoten
Beitrag von: pete_bla am 17.08.07 - 17:57:12
so noch was zum datum und ftsearch aus der Knowledge Base....
http://www-1.ibm.com/support/docview.wss?uid=swg21102489
ist womöglich das das problem?
... trauriger workaround  :'(
Titel: Re: Gordischer Formelknoten
Beitrag von: jBubbleBoy am 18.08.07 - 06:16:34
mhmm das ist natürlich frustrierend, schon mal getestet wie lange ein db.search dauert?

bubble
Titel: Re: Gordischer Formelknoten
Beitrag von: m3 am 20.08.07 - 08:29:16
so noch was zum datum und ftsearch aus der Knowledge Base....
http://www-1.ibm.com/support/docview.wss?uid=swg21102489
ist womöglich das das problem?
... trauriger workaround  :'(
ARGL. Das kanns aber nicht sein. Ich glaub, ich werd mal einen PMR aufmachen - wozu sind wir Premium Support Kunden.  >:D

@BubbleBoy: Die Performance ist derzeit (noch) nicht die Frage. Aber mein Code baut bis jetzt FT-Suchausdrücke zusammen und nicht SELECT-Statements in Formelsprache. Und das will ich nicht umbauen.