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

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Resolving Out of Object Memory - Simplify Expression

I'm getting an out of Object Memory error. The QVD files are only 1-5 MB so I'm a little surprised it is a problem so maybe my expression is inefficient.

This is what I'm doing in the load script. Should I do this in the chart instead?

----------------------------------------------------------------------------------------------------------------------------

Set vM1='Jan'; Set vM2='Feb'; Set vM3='Mar'; Set vM4='Apr';
Set vM5='May'; Set vM6='Jun'; Set vM7='Jul'; Set vM8='Aug';
Set vM9='Sep'; Set vM10='Oct'; Set vM11='Nov'; Set vM12='Dec';

for counter=1 to 12
Set vMonth=$(vM$(counter));
Set vCount=COUNT({<Month={$(vMonth)}>} SURVEY_ID);

Set vA5=100*COUNT({<Month={$(vMonth)}>} IF(VALUE=5,SURVEY_ID));
Set vA4=75*COUNT({<Month={$(vMonth)}>} IF(VALUE=4,SURVEY_ID));
Set vA3=50*COUNT({<Month={$(vMonth)}>} IF(VALUE=3,SURVEY_ID));
Set vA2=25*COUNT({<Month={$(vMonth)}>} IF(VALUE=2,SURVEY_ID));
Set vMth$(counter)=Round(($(vA5)+$(vA4)+$(vA3)+$(vA2))/$(vCount),0.01);
next

----------------------------------------------------------------------------------------------------------------------------

In the chart there's an expression for each month. Should I calculate there instead?

=$(vMth1)

=$(vMth2)

=$(vMth3)

,etc.

I have these expressions but don't think it's a problem.

=Count(SURVEY_ID)

=Round(Avg ({<SURVEY_ID=p({<VALUE = p(VALUE)>}), VALUE=, VARNAME=, CommentType={ANALYSIS}>} VALUE),0.01)

This is the Dimension. It looks complicated but I don't think it is computationally intensive.

=IF(SERVICE='IN',IF(match(VARNAME, 'N1','D3','N2','N5','N6','N30','O3','O4','P20')>0 ,QUESTION_TEXT), IF(SERVICE='ER',IF(match(VARNAME, 'B1','B4','B18','B33','C2','C4','C5','F1','F4','F68','A2','A3','A28')>0 ,QUESTION_TEXT),IF(SERVICE='AS',IF(match(VARNAME, 'A13','F3','F27','F35','F116','F162')>0 ,QUESTION_TEXT),IF(SERVICE='RH',IF(match(VARNAME, 'M36','M6','M4','M37','D7','N50','D1','D2','D29','L2','L4','L7','L25','N9','N37','N10')>0 ,QUESTION_TEXT),IF(SERVICE='PY',IF(match(VARNAME, 'L6','L2','B14','L69','B13','L70','I37','I52','D3','C3','C9','A1','L3','C2','K2')>0 ,QUESTION_TEXT),IF(SERVICE='OU',IF(match(VARNAME, 'D2','A6','A3','A26','E114','E44','A17','D3','A2','A48','C6','A4','A48','C6','A4','C2','A5','E38','E4','E1','E102','C8','C121','B88','C7','C1','A7')>0 ,QUESTION_TEXT),IF(SERVICE='HH',IF(match(VARNAME, 'D5','H1','H77','D1','OT1','PT1','F77','C1','B4','C3','B2','C6','C2','C5','C4','B1','D6','OT4','F65','H3','D3','D2','D7','D8','H60','H117','PI1','D4','SW3','PI2','H2','H97')>0 ,QUESTION_TEXT))))))))

Labels (1)
1 Reply
goldnejea8
Partner - Creator
Partner - Creator

That is still a fairly large if statemtent for a dimension.  It is combing through every single record and trying to match to your specs.  I would say this is definately your issue.  One way to tell is if you replace this dimension with a simple one, does it give you the out of memory error?  If not, then you know it is your dimension.