BookmarkSubscribeRSS Feed
Dica da Semana: Otimize e automatize seus scripts utilizando a Dictionary.Tables
pkusniaruk
SAS Employee

O SAS possui diversas tabelas e recursos pré-configurados em sua ferramenta, que grande parte dos usuários não conhecem ou não tem o costume de usar, mas que podem ser muito úteis para otimizar e até mesmo automatizar vários processos. 

Um desses recursos é DICTIONARY, que pode ser utilizado a qualquer momento durante uma sessão SAS e funciona como uma espécie de dicionário, que captura e armazena em formato de tabelas valiosas informações sobre libnames, data sets, colunas e atributos, formatos, macros, entre muitas outras. 

 

Uma dessas tabelas bastante útil é a dictionary.tables, ela possui uma série de informações sobre as bases disponíveis na sessão SAS ativa do usuário. 


Segue abaixo algumas das informações que podem ser consultadas: 

 

Libname 
- Nome da Tabela 
- Tipo (DATA ou VIEW) 
- Datas de Criação e Modificação da Tabela 
- Quantidade de Variáveis na Tabela 
- Quantidade de Observações na Tabela 
- Tipo de Compressão utilizada na tabela (Se está comprida ou não, e qual o tipo de compressão) 
- Tamanho da tabela em disco 
- Entre outras informações 

 

Uma forma de consultar esses dados é realizando um select simples dentro de um PROC SQL, conforme exemplo abaixo: 

 

Proc sql; 

Create table work.dicionario_tabelas_sashelp as  
		select * 
		from dictionary.tables 
		where libname = “SASHELP”; 
Quit;

Resultado:

 

pkusniaruk_0-1629924217007.png

 

 

Vale a pena explorar essa tabela, assim como outras opções disponíveis no dictionary do SAS. 
Caso você queira conhecer mais sobre o Dictionary do SAS, você pode consultar a dictionary.dictionaries, que possui informações sobre todas tabelas e views de dicionário disponíveis no SAS. 

 

 

OBS: Dependendo do ambiente em que estiver trabalhando, as tabelas de dicionário podem ser muito grandes e demorar muito tempo para processar. Nesses casos, pensando nisso, como dica de boa prática deve-se sempre filtrar essas tabelas para realizar consultas mais precisas sobre o que você está procurando. Por exemplo, filtrar apenas uma libname ou apenas uma tabela. 

3 Comments
ederbal
Fluorite | Level 6

Bom saber!

felipealencar10
Fluorite | Level 6

Interessante, gostaria de ver alguns exemplos de automatização dos scripts usando essas tabelas, podem publicar algo do tipo?

 

wilkoba
SAS Employee

Ola, Não sei se vou conseguir responder sua pergunta diretamente, mas acho que o artigo aqui ajuda a entender a utilidade  pensando em Governança de Dados.

Data Catalog: The Binding Governance Tool for a Successful Digital Transformation (sas.com)

 

outro exemplo na comunidade utilizando SAS Macro:

Solved: Using macro variable for partial dataset name does... - SAS Support Communities

 

 

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

Article Labels
Article Tags