Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
geogou1973
Creator
Creator

Problem with the data in a section access qvw

Hello i have the following script in the Sec Tab

Section Access;

LOAD * INLINE [

ACCESS, NTNAME

ADMIN, DOMAINNAME\USERNAME1

USER, DOMAINNAME\USERNAME2

];

Section Application;

STAR IS *;

LOAD * INLINE [

NTNAME, CSECAR

DOMAINNAME\USERNAME1, *

DOMANINAME\USERNAME2, 10

];       


I have checked also in the Document Properties and the tab Opening the following



Opening.png


In some cases i am losing data. Did i do anything wrong with the script or the options that i have checked in the opening tab ?


Thank you in advance.


25 Replies
geogou1973
Creator
Creator
Author

Markus, i agree but in this table there is no CSECAR with null values. Which data the if condition will find ?

marcus_sommer

Could it be that you have not an issue with the data linking to your section access else it's an issue on the key "BARCODE_ID" between your item- and sales-table? This would be a data-quality issue which should be if possible solved within your source-data from your ERP system.

A workaround for this could be to add the missing keys from one table to the another and add some filling data. I mean something like this:

SALES:

LOAD

    ....

    BARCODE_ID,

    BARCODE_ID as BARCODE_ID_FOR_EXISTS,

    ....

FROM \\qvdstorage\SALES.QVD (qvd);

ITEMS:

LOAD

   ....

FROM \\qvdstorage\ITEMS.QVD (qvd);

concatenate(ITEMS)

Load BARCODE_ID, '#NV' as AnyFieldYouUsedAsFilterInGUI

Resident SALES where not exists(BARCODE_ID, BARCODE_ID_FOR_EXISTS);

The logic between your tables might be reversed and/or you need to do this in both directions to my suggestion here and so you might need more efforts to get it working - important is that missing keys will be filled otherwise they won't be selectable and could lead to different calculation results within your objects.

- Marcus

Anonymous
Not applicable

Hello,

for this case you have to create dummy csecar. For example, csecar 99. This number you can join to barcodes that are not includet in your ITEMS table.

To find out, which barcodes are not in items you have to make left join ITEMS to SALES and looking for recordsets without csecar.

geogou1973
Creator
Creator
Author

Hello Dimitri.

I have thought this but unfortunately the data is huge. Every month of the sales are 20.000.000 records approximately

and the table of the items is 800.000

So the reload will be late too long.

Anonymous
Not applicable

I would try to reload and compare one column only: distinct barcode_id from both tables. Resident load from ITEM and SALES. This should be faster.

Do you load the data from SQL Server? You can add dummy values to ITEMS in sql, before you load qvd file.

There are some ways to solve this problem. You have to try out, which solution is more performant. 

marcus_sommer

By these amounts of data are join-approaches rather slow compared against a concatenating-method and using a where-exists-clause. But the best way is to solve this data-quality issue by the source instead of curing the effects of them.

- Marcus