Under system requirements, my reference manual states:
"QlikView makes full use of modern multi-core processor architecture and we thus strongly recommend using such processors."
I can think of two possible non-bug explanations for what you're seeing:
- Any time you execute a macro, it will flush all cached data and objects, and single-thread the macro. That's because a macro can change anything, so it has to be a single process, and you can no longer trust cached data or objects.
- There may well be a "Single thread only?" setting somewhere that somehow got flipped on or is on by default in some implementations. I'm not aware of one, and couldn't find it looking for "thread" or "core" in my reference manual, but it wouldn't surprise me if there is one.
I have the same problem.
I have simple chart of clients with two metrics for them. One metric is very simple like sum(SessionCount), but second one is pretty complicated:
sum(if($(vDateTime)=$(vStartDT) and $(vStartDT)=$(vEndDT),
((EndMin - StartMin) * 60) + (EndSec - StartSec),
(EndMin * 60) + EndSec,
3600 - (StartMin * 60) - StartSec, 3600))))/3600
Where $(vDateTime), $(vStartDT) and $(vEndDT) are variables that contain proper field name for the expression.
When I disable second variable in the chart, the application uses all cores. When the expression is enabled the application works in one core mode.
So as I can see the problem related with the expression only, which relies on table structure. I need to change the expression or table structure. But I'm going to try exact field names instead of the variables first.
So maybe somebody already knows what is the proper way. It will great to know too. :)