Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
You could da something like that...
LOAD DISABLEFIELD FROM YOURDISABLETABLE...
LOAD
*
from YOURSOURCE
where not exists('DISABLEFIELD',Number)...
Could you Elaborate it bit more and if possible pls give us some sample data
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.
Ok,
please find Excel workbook with data source and output table.
Jacek
You could da something like that...
LOAD DISABLEFIELD FROM YOURDISABLETABLE...
LOAD
*
from YOURSOURCE
where not exists('DISABLEFIELD',Number)...
Thank you Robin,
It is the best efficient way using exists function?
Jacek
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...
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
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 ?!?
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