Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Eliminate disabled number - best efficient way

Hi Guys,

I have a question regarding data modelling in QV.

I have data source with numbers in rows as primary keys : 10001, 10002....n.

And i have additionally list in Excel with numbers (and whole rows for it) which should be not showed in the end report.

What is the best soultion for it?

I can load data from Excel, and do for example applymap and use where clause.

Or maybe better should I use join? 

Please advise,

Best wishes,

Jacek Antek

1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

You could da something like that...

LOAD DISABLEFIELD FROM YOURDISABLETABLE...

LOAD

*

from YOURSOURCE

where not exists('DISABLEFIELD',Number)...

View solution in original post

10 Replies
Not applicable
Author

Could you Elaborate it bit more and if possible pls give us some sample data

Anonymous
Not applicable
Author

It depends on your needs.

As know,with Join you may have more record than your actual table and with the applymap you will not change your number of records.

Anonymous
Not applicable
Author

Ok,

please find Excel workbook with data source and output table.

Jacek

Anonymous
Not applicable
Author

You could da something like that...

LOAD DISABLEFIELD FROM YOURDISABLETABLE...

LOAD

*

from YOURSOURCE

where not exists('DISABLEFIELD',Number)...

Anonymous
Not applicable
Author

Thank you Robin,

It is the best efficient way using exists function?

Jacek

Anonymous
Not applicable
Author

I don't know, if inner join / inner keep would be faster (more efficient --> you have to define what is efficient at all).

I would just try it .

I'm quite sure  that applymap won't help you...

Anonymous
Not applicable
Author

Why?

Applymap is very fast, and used with where clause will be fast also.

Inner join i think will be not working...Why ?

Because i want to get the opposite of inner join - reducing table.

Inner join will match for all rows in disable numbers table and source data tabble. I do not want to have data from both table, only from one of them restricted to specific numbers,

Jacek

Anonymous
Not applicable
Author

ok, innerjoin won't help you...I understand.

But at the moment I can't imagine how to use applymap() for reducing the number of records ?!?

Anonymous
Not applicable
Author

Ok, for applymap:

1. Loading applymap ("Test"):

Numbers,

1

2. Loading source data and using where clause:

where applymap("Test", numbers, 0) = 1;

Do you understand my way of thinking?

Jacek