BookmarkSubscribeRSS Feed
deleted_user
Not applicable
I am working from time to time with very large datasets and I was wondering if there is a way to fuzzy search using PROC CONTENTS or some other method to list specific fields matching one criteria or another.

Of course the fallback way is to just do a CTRL-F but that is really inefficient when you have dataset with two thousand variables.

TX
1 REPLY 1
Cynthia_sas
Diamond | Level 26
Hi:
Do you mean something like this:
[pre]
proc sql;
create table work.varlist as
select libname, memname, name, type, label, format
from dictionary.columns
where upcase(libname) = 'SASHELP' and
upcase(memname) = 'SHOES' and
name contains 'ry';
quit;

proc print data=work.varlist;
title 'Variables from SASHELP.SHOES that contain the string "ry"';
run;
[/pre]
and the output from the job is:
[pre]
Variables from SASHELP.SHOES that contain the string "ry"

Obs libname memname name type label format

1 SASHELP SHOES Subsidiary char
2 SASHELP SHOES Inventory num Total Inventory DOLLAR12.

[/pre]

In this example, the search is for something about the variable NAME as the selection criteria.
On the other hand, you may actually want to find something about a variable value using a search -- which would require reading the actual file itself instead of dictionary.columns.

cynthia

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1087 views
  • 0 likes
  • 2 in conversation