2016-11-07 8 views
1

Я создал код ниже для получения списка зарегистрированных таблиц SAS из метаданных. Он отлично работает, но занимает много времени для запуска из-за большой объемом столов на (а subtype из PhysicalTable):Откорректируйте идентификатор метаданных для исключения метаданных рабочих таблиц

data work.tables (keep=uri name); 
    length uri name $256; 
    n=1; 
    do while(metadata_getnobj("omsobj:[email protected] contains '.'",n,uri)>=0); 
    n+1; 
    if substr(uri,8,9)='WorkTable' then continue; 
    if metadata_getattr(uri, "SASTableName", name)=0 then output; 
    end; 
run; 

Есть ли способ настроить Ури так, что тип Worktable может быть исключен в метаданных запросить себя?

Например, следующим образом (не работает):

omsobj:[email protected] contains '.' and @MetadataType ne 'WorkTable' 

ответ

1

Так следующий URI сделал трюк, хотя это было только 20% быстрее:

omsobj:[email protected] contains '.' and @PublicType = 'Table' 

Это, конечно, может быть сокращен до:

omsobj:[email protected] = 'Table' 

Которая сбрит дополнительные 0,2 секунды.

 Смежные вопросы

  • Нет связанных вопросов^_^