Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Aggregation Qlikview 9 vs 8.5

Hi,
We have application developed in 8.5 and which has expressions using aggr function and It worked fine in 8.5 but when I moved application to Qlikview 9 server and tried to open application crashes or object take like 30 mins to comeback .
I tried opening other application which don't use aggr function on qlikview 9 and they work fine.
I thought performance of application in qlikview 9 would be faster than 8.5 but the objects are not even showing up in qlikview 9 .Not sure what is going on.Need help
sample expression: sum(aggr(TOT_PTNT_CNT,CYM,%_link_Study_GID,[Regimen #],RGMN_GRP_LBL,%_link_Patient_Age,Gender,[%_link_CD_Code],[Diagnosis Combo Desc],[Payment Type],
%_link_SpecialtyGroup_Code))
Our data is coming at one level so in order to report at different level we need to aggregate .We have these expressions in 'line charts' and pivot tables and all objects.
Application size: 6,857 KB
Fact Rows: 1958596
Please let me know if some one is experiencing the same problem or if you think I missing something.
Thanks
priya
19 Replies
Not applicable
Author

Hi Priya

I have the same problem with V9 using an AGGR function that aggregates across more than one dimension, This has been reported to QlikTech but I have no response from them yet.

I have found that reducing the AGGR function to aggregate over a single dimension works, but this isn't a solution to the problem, our move to version 9 has been delayed by this whilst we decide if we need the functionality or not.

Regards,

Not applicable
Author

Hi Guys,

I could be missing something, however I would usually write an aggr expression like this

aggr(sum(Sales),Region)

This would aggregate to the region level.

Try swapping your formula around

Regards,

Neil

Not applicable
Author

My formula is that way round, still have a problem!

Not applicable
Author

Nigel,

Please can you post your expression, just incase i can spot anything......please let me know your measure in case it is not obvious.

Regards,

Neil

Not applicable
Author

Hi Neil

My expression is a rather complex one, and it is being used as a calculated dimension rather than an expression, it's used in a pivot table because we need to be able to expand/collapse the groups.

It is aggregated over two cyclic groups: XXX_CyclicGroup_LPCharts1 & XXX_CyclicGroup_LPCharts2

And here it is...........

=if(
aggr(
rank(
Sum ( _rFMV )
-
Sum ( { $ < DT_ReportDate={"$(vCompDate)"},DT_ComparisonDate={"*"} > } _rFMV )
,2
)
,XXX_CyclicGroup_LPCharts1,XXX_CyclicGroup_LPCharts2) <= YYY_LPCharts_TopBottomN

,'A Top Increase ' &
Num (
Aggr (
Rank (
Sum ( _rFMV )
-
Sum ( { $ < DT_ReportDate={"$(vCompDate)"},DT_ComparisonDate={"*"} > } _rFMV ) ,2)
,XXX_CyclicGroup_LPCharts1,XXX_CyclicGroup_LPCharts2
)
,000,
),

if(
aggr(
rank(
-Sum ( _rFMV )
+
Sum ( { $ < DT_ReportDate={"$(vCompDate)"},DT_ComparisonDate={"*"} > } _rFMV )
,2
)
,XXX_CyclicGroup_LPCharts1,XXX_CyclicGroup_LPCharts2) <= YYY_LPCharts_TopBottomN

,'C Top Decrease ' &
Num(
YYY_LPCharts_TopBottomN
+ 1
- Aggr (
Rank (
- Sum ( _rFMV )
+
Sum ( { $ < DT_ReportDate={"$(vCompDate)"},DT_ComparisonDate={"*"} > } _rFMV )
,2)
,XXX_CyclicGroup_LPCharts1,XXX_CyclicGroup_LPCharts2)
,000),
'B Other'
))


The concept is very simple, I want to identify Top5, Bottom5 and Others.

I'm sure there must be an easier way to achieve this, but I'll be damned if I can think of it.

Not applicable
Author

Hi Nigel,

In v9 they have changed the syntax of the set analysis.

DT_ComparisonDate={"*"} needs to be changed to DT_ComparisonDate= the {"*"} is no longer needed.

The next thing to check is the $ sign expansion please check this DT_ReportDate={"$(vCompDate)"} by taking the label off your expression is it presenting the right data when hovering over the expression, I've had differing experience of this, please can you try this

DT_ReportDate={='$(vCompDate)'} or this DT_ReportDate={'=$(vCompDate)'}

Try and get a single if statement working.

Also be aware of new set analysis functionality (indirect set analysis)

The Qlikview Reference manual in v9 has been beefed up on set analysis.

Regards,

Neil

Not applicable
Author

Ni Neil

Removing the {"*"} makes no difference.

$ Sign expansion is working fine.

I can't think of a way to turn this into a single IF statement.

Not sure if indirect set analysis will work but I'll take a look.

One more clue on this, specific to my formula............

Version 9 has a much improved syntax highlighter in the expression window, and it highlights both of my GROUP names as problems (i.e. they are in Red and it says bad field names at the top).

Not applicable
Author

I think we are getting there,

put the group names in square brackets or " "

regards,

Neil

Not applicable
Author

Hi Neil

The syntax checking is now working fine (there was also a comma out of place) but this table still won't calculate in V9 as it runs out of memory, it was fine in V8.5 so I do think something has changed in V9 that causes this.

Cheers