1 Wert in Liste then @True

  • Hallo zusammen,


    ich vergleiche 2 Listen miteinander.


    Nun soll, wenn ein Wert in der 2 Liste vorhanden ist, das Feld mit ein gesetzt werden.


    Klingt einfach, jedoch mit @IsMember setzt er zwar unter Verwendung von @True eine 1, wenn jedoch einer der Werte aus der ersten Liste nicht in der zweiten Liste enthalten ist, dann setzt er doch wieder eine 0.


    Ich benötige jedoch eine 1 sobald auch nur einer der Werte in der 2ten Liste vorhanden ist.


    Anbei die Formel:


    @If(
    @IsNull(@GetField("FDocumentSubCategory")
    );
    "";
    @IsMember(@GetField("FDocumentSubCategory");@DbLookup("":"PreCache";"":"";"Categories";FDocumentCategory;"CATWORKFLOWNEEDED")))


    Fällt Euch dabei etwas auf?


    Danke und Grüße


    Der Lord

    • Offizieller Beitrag

    Damit solte es gehen:

    Code
    List_org := @Elements(FDocumentCategory);
    List_sub := @Elements(@Replace(FDocumentCategory; FDocumentSubCategory; ""));
    @If(List_org > List_sub; @True; @False)


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Hallo zusammen,


    ich habe es jetzt mit dem Vorschlag von koehlerbv gelöst.


    Daher sieht die finale Formel jetz folgendermaßen aus:


    @If(@IsNull(@GetField("FDocumentCategory"));"";
    @GetField("FDocumentSubCategory") = @DbLookup("":"PreCache";"":"";"Categories";FDocumentCategory;"CATWORKFLOWNEEDED");
    @True;
    @False)


    Und es funktioniert ;)


    MFG


    Der Lord

  • Ich befürchte, hier hat jemand den Permutations-Operator nicht verstanden. Das zuletzt gepostete Konstrukt wird daher im Gegensatz zu meinem ersten Posting nicht korrekt funktionieren.


    Bernhard

  • Hallo koehlerbv,


    leider irrst Du Dich, den die oben gepostete Formel bewirkt genau dass, dass Sie soll.


    Den wenn nur 1 Wert aus der 1.Liste dem der 2.ten Liste entspricht, so zeigt das zugehörige Feld den Wert 1 an.


    Wird in Feld 1 ein Wert aus Liste 2 ausgewählt + ein Wert der nicht in Liste 2 enthalten ist, so bleibt die 1 trotzdem stehen. Genauso wie ich es haben wollte.


    Also von daher, es funktioniert wird geplant ;)


    MFG


    Der Lord