6 Replies Latest reply: Jun 16, 2010 5:38 PM by John Witherspoon RSS

    Performance issues

    Amir Vastani

      I have table that looks like KPI as the dimension and each expression is different. Therefore if I had PY and CY comparisons for 10 KPIs, I would essentially have 20 expressions working at the same time. Extend that complexity to also have sparklines and whiskers and we have 40 expressions working hard to populate a table chart. I am using the pick(rowno(), expr1, expr2,...) vs. if statements to speed up some performance

      Is it better to keep it in one table or split it up into smaller tables of 2-3 KPIs?

      I am using Set Analysis as well and NO if statements. Is Numeric set analysis faster than string set analysis i.e. {<Type={'Green'}>} vs {<TypeCode={5}>}

      There isn't much data but there's a lot of expressions thereby causing my app to grind all my 8 processors at 100% and still take 2 minutes for the answers to come back. If I add currency conversions or any other dynamic functionality, that's adds to the overhead.

      Thought I'd put it out there as a generic thread for others to also benefit for future apps. Your comments, suggestions, recommendations are most appreciated.

        • Performance issues


          It doesn't sound too onerous for QlikView to deal with, can you tell me which version of QlikView you are using? If this is on the server, which version on the server and which version at the client side? Which service release also.


            • Performance issues

              Actually, maybe the PICK function is causing the performance issues, just for a test have you tried the table without that function in it?

                • Performance issues
                  Amir Vastani

                  there's no way around the pick function. it is either that or the if statement.

                  my table has the metric as a dimension and then 1 expression for pick(rowno(), kpi1expr, kpi2expr,...) then another one to show minichart for each kpi and another for whiskers etc.

                  if i remove the kpi as a dimension and put it in the expression, then i would have 20+ expressions with if statements in them doing character comparisons whic hwould slow it down even more.

              • Performance issues

                I'm not familliar with the pick function, but the rest of what you've described seems pretty run-of-the-mill for QlikView.

                Are there composite keys in your data model? How many levels deep into the table structure are your sets going?

                You might get a better response if you put up a sample file. Do you have one that you can post here?

                  • Performance issues
                    John Witherspoon

                    I don't know about numeric vs. string set analysis, but my testing on 8.5 and the initial release of 9.0 (haven't tested with SR4) showed that FLAG comparisons with a 1/null flag were the fastest option of what I tested, so {<GreenType?={1}>}. The difference wasn't particularly large as I recall, though.

                    I use the pick() function fairly often, and haven't noticed a problem, but I haven't specifically tested its performance either.