Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

only aggregate expression, filter the empty fields out in expression

Hello,

I have the next question:

I have this formula:

If(Only(

     Aggr(

          If( Rank(TOTAL

          Sum({<JAAR_MAAND={'$(vJaarMaand)'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1)<=3,

Sum({<JAAR_MAAND={'$(vJaarMaand)'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'}>}AANTAL_GESTOLEN)>2"}>}AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1,0)

     , GEMEENTE, MODEL_LIV)

     )>0,

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'}>}AANTAL_GESTOLEN))

and the output is:

Gemeente     MODEL_LIV     Percentage   

Gouda                                   800%              

Weert                                    600%

Goes                                     400%

You can see that column MODEL_LIV is empty. This is right because from 45% of the data we don't now the MODEL_LIV. So a large part of the data exist on MODEL_LIV=empty and that's why it's in the top 3. But i want to filter the rows with MODEL_LIV is empty out and see the top 3 where MODEL_LIV is filled.

i tried to add: MODEL_LIV=-{""} but it is not working:

Only(

     Aggr(

          If( Rank(TOTAL

          Sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV=-{""},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV=-{""}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV=-{""},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV=-{""}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1)<=3,

Sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV=-{""},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV=-{""}>}AANTAL_GESTOLEN)>2"}>}AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV=-{""},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV=-{""}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1,0)

     , GEMEENTE, MODEL_LIV)

     )

Does someybody has a solution?

thanks fore looking already!

greets,

Camiel

1 Solution

Accepted Solutions
sunny_talwar

How about this?Capture.PNG

Only({<MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>}

    Aggr(

          If(Rank(TOTAL

          Sum({<MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}, JAAR_MAAND={'$(vJaarMaand)'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)/

  Sum({<MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}, JAAR_MAAND={'$(vVorigeJaarmaand)'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1)<=3,

  Sum({<MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}, JAAR_MAAND={'$(vJaarMaand)'},GemeenteModelID={"=Sum({<JAAR_MAAND={'$(vJaarMaand)'}>}AANTAL_GESTOLEN)>2"}>}AANTAL_GESTOLEN)/

  Sum({<MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}, JAAR_MAAND={'$(vVorigeJaarmaand)'},GemeenteModelID={"=Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1,0)

    , GEMEENTE, MODEL_LIV)

)


View solution in original post

13 Replies
sunny_talwar

How about this?

MODEL_LIV = {'*'}

instead of this

MODEL_LIV=-{""}

Not applicable
Author

Thanks for responding!

I tried your solution:

Only(

     Aggr(

          If( Rank(TOTAL

          Sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV={'*'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV={'*'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV={'*'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV={'*'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1)<=3,

Sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV={'*'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV={'*'}>}AANTAL_GESTOLEN)>2"}>}AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV={'*'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV={'*'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1,0)

     , GEMEENTE, MODEL_LIV)

     )

But i still see the empty fields.

sunny_talwar

How about this?

Only({<MODEL_LIV={'*'}>}

    Aggr(

          If(Rank(TOTAL

          Sum({<JAAR_MAAND = {'$(vJaarMaand)'}, MODEL_LIV = {'*'}, GemeenteModelID = {"=Sum({<JAAR_MAAND ={'$(vJaarMaand)'}, MODEL_LIV = {'*'}>} AANTAL_GESTOLEN) > 0"}>} AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'}, MODEL_LIV={'*'}, GemeenteModelID = {"=Sum({<JAAR_MAAND ={'$(vVorigeJaarmaand)'}, MODEL_LIV={'*'}>} AANTAL_GESTOLEN) > 0"}>} AANTAL_GESTOLEN)-1) <= 3,

Sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV={'*'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV={'*'}>}AANTAL_GESTOLEN)>2"}>}AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV={'*'},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV={'*'}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1,0)

    , GEMEENTE, MODEL_LIV)

    )

Not applicable
Author

Also didn't work.

sunny_talwar

Just out of curiosity, can you try this:

MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}

Not applicable
Author

I can solve the problem when i take a filter with al the models. Then i choose for model is empty and then i click on select alternatives.  But that's not in the expresssion and has influence on other tables on the same page.

Not applicable
Author

I tried with the length:

Only(MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}

    Aggr(

          If(Rank(TOTAL

          Sum({<JAAR_MAAND = {'$(vJaarMaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}, GemeenteModelID = {"=Sum({<JAAR_MAAND ={'$(vJaarMaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>} AANTAL_GESTOLEN) > 0"}>} AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}, GemeenteModelID = {"=Sum({<JAAR_MAAND ={'$(vVorigeJaarmaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>} AANTAL_GESTOLEN) > 0"}>} AANTAL_GESTOLEN)-1) <= 3,

Sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>}AANTAL_GESTOLEN)>2"}>}AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1,0)

    , GEMEENTE, MODEL_LIV)

    )

But then i see nothing anymore.

sunny_talwar

I think you missed the curly brackets here:

Only({<MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>}

    Aggr(

          If(Rank(TOTAL

          Sum({<JAAR_MAAND = {'$(vJaarMaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}, GemeenteModelID = {"=Sum({<JAAR_MAAND ={'$(vJaarMaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>} AANTAL_GESTOLEN) > 0"}>} AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}, GemeenteModelID = {"=Sum({<JAAR_MAAND ={'$(vVorigeJaarmaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>} AANTAL_GESTOLEN) > 0"}>} AANTAL_GESTOLEN)-1) <= 3,

Sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vJaarMaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>}AANTAL_GESTOLEN)>2"}>}AANTAL_GESTOLEN)/

Sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"},GemeenteModelID={"=sum({<JAAR_MAAND={'$(vVorigeJaarmaand)'},MODEL_LIV = {"=Len(Trim(MODEL_LIV)) > 0"}>}AANTAL_GESTOLEN)>0"}>}AANTAL_GESTOLEN)-1,0)

    , GEMEENTE, MODEL_LIV)

    )

Not applicable
Author

I tried but also then i see nothing anymore.