Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello everyone,
I'm reloading a script and I got error -129 while reloading by the console
2018-04-02 17:12:10 1590 Data:
2018-04-02 17:12:10 1591 LOAD
2018-04-02 17:12:10 1592 CUSTOMER_NUMBER AS [Client Amount],
2018-04-02 17:12:10 1593 ACCOUNT_NUMBER AS [Billing Account Amount],
2018-04-02 17:12:10 1594 Autonumber(ACCOUNT_NUMBER & '_' & MonthName(DateFrom)) AS %KeyBillingAccountMonthName,
2018-04-02 17:12:10 1595
2018-04-02 17:12:10 1596 Sum(AMOUNT_1) AS TOTAL_AMOUNT_1,
2018-04-02 17:12:10 1597 Sum(AMOUNT_2) AS TOTAL_AMOUNT_2,
2018-04-02 17:12:10 1598 Sum(TAXES_1) AS TOTAL_TAXES_1,
2018-04-02 17:12:10 1599 Sum(TAXES_2) AS TOTAL_TAXES_2,
2018-04-02 17:12:10 1600 MonthName(DateFrom) AS YearMonthDateFrom
2018-04-02 17:12:10 1601 Resident Facturacion_tmp
2018-04-02 17:12:10 1602 Group by CUSTOMER_NUMBER, ACCOUNT_NUMBER, MonthName(DateFrom)
2018-04-02 17:16:13 8 fields found: Cliente Facturación, Billing Account Amount, %KeyBillingAccountMonthName, TOTAL_AMOUNT_1, TOTAL_AMOUNT_2, TOTAL_TAXES_1, TOTAL_TAXES_2, YearMonthDateFrom,
2018-04-02 17:16:13 3.855.140 lines fetched
2018-04-02 17:16:14 1604 Left Join
2018-04-02 17:16:14 1605 LOAD
2018-04-02 17:16:14 1606 ACCOUNT_NUMBER,
2018-04-02 17:16:14 1607 MonthStart(DateFrom)& '_' & ACCOUNT_NUMBER as KeyMapping,
2018-04-02 17:16:14 1608ApplyMap('CellphoneQtyByBillingAccount', AutoNumber(MonthStart(DateFrom)& '_' & ACCOUNT_NUMBER), 'NE') AS CellphoneQty
2018-04-02 17:16:14 1609 Resident Data_tmp
2018-04-02 17:18:57 3 fields found: ACCOUNT_NUMBER, KeyMapping, CellphoneQty,
2018-04-02 17:18:57 31.081.765 lines fetched
2018-04-02 17:18:57 Joining/Keeping
2018-04-02 18:08:44 -129 =
2018-04-02 18:17:02 Execution Failed
2018-04-02 18:34:54 Execution finished.
If I reload it in the app (not by console) it reloads well
¿Does anyone know what the -129 error mean?
Thanks!!!
To perform a JOIN you have to have one or more fields that have the same name across the two tables. If you don't you will get a cartesian join which means that you get all the combinations of all rows from each table. It is a multiplication. As far as I can tell from the log above you will get 3.855.140*31.081.765 which is 119.824.555.522.100 rows as a result. Clearly Qlik will run out of memory long before it can produce these rows...
Make sure that the fields that need to match have the same name in both tables - then the resulting number of rows will be within hopefully a manageable limit.
You can just to test put FIRST 10 in front of both LOAD statements - this gives you an idea:
FIRST 10 LOAD
CUSTOMER_NUMBER .....
......
;
FIRST 10 LOAD
ACCOUNT_NUMBER,
.....
;
Try to run and you will see that the resulting table will have 10*10 rows or 100 rows... which shows that you got a cartesian join.
Maybe the fields %KeyBillingAccountMonthName and CellphoneQty should be matching fields but then they will have to have the same name. Furthermore they have to be calculated the same way too.
To perform a JOIN you have to have one or more fields that have the same name across the two tables. If you don't you will get a cartesian join which means that you get all the combinations of all rows from each table. It is a multiplication. As far as I can tell from the log above you will get 3.855.140*31.081.765 which is 119.824.555.522.100 rows as a result. Clearly Qlik will run out of memory long before it can produce these rows...
Make sure that the fields that need to match have the same name in both tables - then the resulting number of rows will be within hopefully a manageable limit.
You can just to test put FIRST 10 in front of both LOAD statements - this gives you an idea:
FIRST 10 LOAD
CUSTOMER_NUMBER .....
......
;
FIRST 10 LOAD
ACCOUNT_NUMBER,
.....
;
Try to run and you will see that the resulting table will have 10*10 rows or 100 rows... which shows that you got a cartesian join.
Maybe the fields %KeyBillingAccountMonthName and CellphoneQty should be matching fields but then they will have to have the same name. Furthermore they have to be calculated the same way too.
Hi there,
We came across the same issue a while ago - and this had nothing to do with the structure of our join etc, as at the end of it error was returned in various parts of the code. Surprisingly - it never appeared when we ran a limited load.
We started from setting the error mode to 0 : set ErrorMode=0; and running the code this way.
This helped us for a while, but then it started coming back, error -129. I came across this: Re: Hi. Has anyone come across a -129 error when loading data. and it helped us too. Error started coming back, nothing from Qlik which helped us resolve this problem. Meanwhile we upgraded to Sep 2017 and we were hoping this will help, unfortunately it didn't.
At the end of the day the issue rectified itself - we recreated the app, renamed it and it's been ok ever since, error never appeared again.
It took us a good couple of weeks to stabilize the situation, hopefully it will not be the case for you, good luck!
Michalina
I re checked and saw I missed renaming the key as I did on the other table of the join.
Thank you so much
The error here was that I missed renaming a key field
I got this error when my server ran out of memory (only 8 GB of RAM)