Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi..
This is Prem , I am a Developer working Qlik View ..i am getting "Allocated Memory Exceeded" in few of my graphs(Both BAR & Pivot table).The Report has large DATA, here is the Expression "Count(distinct if(linesummary<>'O',CarCostNo))" .
I am not getting any error in the development Environment(Enterprise Edition version 8.20.5402.2) but if post the report in the Qlik view server and try open the Graphs its showing Allocated Memory Exceeded error and after i get this error the communication between the Server and Client is lost.
Please help me on this ...
Thanks in Advance..BR Prem
I remember an issue that causes this: the use of calculated dimensions could under some corcumstances cause this behaviour. If you're using these, try to calculate the value already in the loading.
Prem,
The problem can be
- expression
- data model structure
If you create a flag in your data following the same logic as in your expression, you can use sum(Flag), which is faster.
The "flatter" the data model, the better is the calculation perfromance, and less memory is required. Even with the current expression, it is much faster if all the fields you use in the expressions and dimensions of a chart are in the same logical table, ot at least in the neigboring table, not like ten tables away.
i also used your solution for memory problem, and for other objects problem like the cross on the
object that come from no where...
but also i suggest :
dont use count distict
dont use if(... expression in the expression .
union table in the script if u can.
Thank you for your advice doqv2,
I've got the same problem, and my solution was to delete the if statements inside the expressions and treat the "if" statement inside the set analysis.
I'll show you with practice examples :
This is my wrong choice :
fabs(sum({$<[Año] = {$(=Only([Año]))}>} if(left(IDCuenta,1)='7', [Asiento Importe])))
This is the best choice :
fabs(sum({$<[Año] = {$(=Only([Año]))}, N_Fila_Cuenta = {"=LEFT(N_Fila_Cuenta,1) = '7' "} >} [Asiento Importe]))
But do the same, but the second one is a way faster, and can solve easily our problems of "allowing memory to the objects".
Cheers!!