08-25-2015 07:30 AM
I have a file with multiple columns out of which A has the primary index. For this primary index, I need to find customer ID and later multiple values from datasets like address, name, city, zip etc.
The problem is no dataset has all data for a particular 'A' in a single set. Can you guys help me to find all the values for each 'A' using fuzzy logic.
08-25-2015 10:52 AM
You really aren't looking for values of A, you are looking to join up the data associated with A. And if you value A is a primary index there should be no fuzzy logic needed.
It helps to provide at least variable names and hopefully some example data.
A basic stub is something like:
create combined data as
select first.*, second.*
from first join second on first.a=second.a;
This code will complain about variables, at least A, being duplicated. If there are duplicate values for A in either data set you will get an output record for each match: 3 values in First and 2 in Second yield 6 records.
You can use first.varname1, second.varname3 to specify the exact variables you want.
08-25-2015 10:57 AM
Thanks for your response. Being more precise, I am not sure of what table has these data. I want run a loop to read all tables( in particular database) with has specific columns to match 'Primary Index'
08-25-2015 11:20 AM
You can find all of the data sets with a specified variable using the dictionary tables
select name, libname, memname
/* if you know the name of the library then add this below, the libname should be upper case */
08-26-2015 05:56 AM
To make the process clear.
1. Need to check all the tables in a particular database that has particular columns ( Name, Address, Zip,....... for each primary index)
2. if a table has such columns, need to map them with primary index and form a new table
3. need a automated way of checking all the folders and looping them
Note: a single table will not have all the required data. Need to combine data for multiple table to get data for particular primary index.
08-26-2015 11:30 AM
Are these tables SAS datasets? If so information does exist in dictionary.columns: this SAS built table, view actually, contains information such as name, data type, format, informat, length, label about every variable in every dataset the SAS install currently sees.
Do you know the names of the variables that make up your primary index? The example code I posted will find them using where upcase(name) IN ("NAME","ADDRESS","ZIP")
or what ever you have named them. If you do not know the names of the variables but they have labels that are descriptive you may be able to find them looking in the label field of that dictionary table.
08-25-2015 12:29 PM
That may not work depending on your data structure, just something to keep in mind.
What if you have a field that is PrimaryIndex>SecondaryIndex>Data Value
I think it's snowflake vs star schema.