Suppose I have a source SAS dataset, can I register the table but only have it include a subset of rows?
For example, using sashelp.class as a source dataset, register the table as ClassFemales and have the registered metadata table only have the rows for females in it.
Can I do that subsetting when I register the table? That is, can I register sashelp.class(where=(sex='F')) ?
Or would I need to use an infomap?
Big picture is I have a SAS dataset that will eventually feed prompts. SAS dataset is like:
Prompt Value Label Prompt1 A Pretty A Prompt1 B Pretty B Prompt2 X Pretty X Label Prompt2 Y Pretty Y Label ....
So that one dataset defines selection options for several prompts.
My goal is to make a separate registered table for each prompt, to use as a dynamic lookup. But I'm hoping not to split the OS dataset into n datasets, one for each prompt.
Thanks @LinusH. General application is wanting to have a single SAS dataset that has the data to define the response options for a set of prompts. Similar to how you can make one CNTLIN dataset that defines a set of formats.
I hadn't thought of using permanent views. Assuming I can register a view and then use it as a source for a prompt, that could work. So I would have the data for all the prompts stored in one dataset. Then would have a separate view for each prompt which subsets the data.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.