Forum Discussion

smpa01's avatar
smpa01
Icon for Community Champion rankCommunity Champion
3 years ago
Solved

ANTI inside GENERATE?

Is it possible to factor an ANTI JOIN inside GENERATE. I am currently doing this

 

 

EVALUATE
VAR __fact =
    DATATABLE (
        "fact.fact", STRING,
        {
            { "a Messi" },
            { "aaa Messi" },
            { "ababa Pele" },
            { "ababan Diego" },
            { "xyz Crisitiano" },
            { "yyy Ronaldo" },
            { "Messi aaa" }
        }
    )
VAR __exec =
    DATATABLE (
        "exec.name", STRING,
        {
            { "Messi" },
            { "Crisitiano" },
            { "Ronaldo" }
        }
    )
VAR res =
    FILTER (
        __fact,
        NOT ( [fact.fact] )
            IN SUMMARIZE (
                GENERATE (
                    __exec,
                    FILTER (
                        __fact,
                        VAR one =
                            LEN ( [exec.name] )
                        VAR two =
                            RIGHT ( [fact.fact], one )
                        RETURN
                            two = [exec.name]
                    )
                ),
                [fact.fact]
            )
    )
RETURN
    res

 

 

 

I want to avoid

`FILTER(__fact, NOT ([fact.fact]) IN` if the ANTI can be factored inside the GENERATE itself?

 

  • How about this?

    res =
    FILTER (
        __fact,
        ISEMPTY (
            FILTER (
                __exec,
                RIGHT ( [fact.fact], LEN ( [exec.name] ) ) = [exec.name]
            )
        )
    )

1 Reply

  • How about this?

    res =
    FILTER (
        __fact,
        ISEMPTY (
            FILTER (
                __exec,
                RIGHT ( [fact.fact], LEN ( [exec.name] ) ) = [exec.name]
            )
        )
    )