--------------------------------------------------------------------------------------------------------------------------------------
※このブログは、Chris Hemedinger によるブログ『The SAS Dummy』の記事を翻訳したものです。
原文は以下URLよりお読みいただけます。
https://blogs.sas.com/content/sasdummy/2017/08/04/sas-eg-formats-catalog/
--------------------------------------------------------------------------------------------------------------------------------------
何年か前、SAS Enterprise GuideでSASカタログを参照し、管理するためのカスタムタスクについて情報共有しました。念のため確認しますと、SASカタログとは特別なタイプのSASファイルで、カタログエントリと呼ばれる様々なコンテンツ項目のためのコンテナやフォルダのような役割をするものです。概念的には、ファイルシステム内のフォルダのようなもので、そこには様々なファイルタイプのものが収められています。そのエントリとその用途はSAS固有のものであり、SOURCE(プログラムコード)、SCL(SAS Component Language)プログラム、SASフォーマット定義、コンパイル済みのSASマクロプログラムなどが含まれます。
明らかな例外であるSASフォーマット定義を除いて、カタログエントリの多くは、SAS Enterprise Guideのユーザーの皆様にとって、あまり関心がないものかもしれません。先ほどのカスタムタスクのブログを投稿したその日から、SASフォーマット定義の内容を確認する機能について読者の皆様からお問い合わせをいただいていました。私は、「素晴らしいアイディアです!私のTo-Doリストに追加します。」と、返信をしていました。あれから7年が経ち、ついに完了しました。私は、約束を守りました。
>> タスクをここからダウンロード(ZIPファイル。手順を説明したREADMEファイルを含む。)
READMEに記載している手順に十分注意して、正しいバージョンを配置し、必要に応じてタスクDLLのブロックを解除してください。
さらに良いニュースがあります。このタスクは、ビルドインタスク(ツールメニューから利用可能)として、もうすぐリリースされる次期バージョンのSAS Enterprise Guideでの提供が予定されています。カスタムタスクのダウンロードは、SAS Enterprise Guide バージョン 4.3 から 7.13をサポート予定です。より新しいバージョンでは、すでにこのタスクが利用可能になります。
2017年10月4日更新:このタスクは、SAS Enterprise Guide バージョン7.15に組み込まれて、出荷されています!開発チームの皆さん、追加していただいて大変感謝しています。バージョン7.15以降に更新をした方は、タスクのダウンロード/インストールを実行する必要はありません。[ツール]メニューにこのタスクがあるはずです。
カタログおよび出力形式のエクスプローラの主な機能
私が共有したオリジナルのタスクと同様に、この改訂版のタスクはSASライブラリとそこに含まれるカタログを探索することを可能にします。すべてのカタログエントリのメタデータ(名前、タイプ、説明、作成日と変更日)を参照できます。クリーンアップが必要なエントリを削除することもできます。また、特定のタイプのエントリ、主にSOURCEエントリ、およびフォーマットエントリタイプのコンテンツを参照できます。
こちらが、主な拡張点です。
こちらは、タスクのスクリーンショットです。また、SASサポートコミュニティにあるこのタスクの5分間のデモビデオもご確認いただけます。
開発者の方へ:このタスクの構築方法
オリジナルのタスクは私のカスタムタスクの本に付随する活用例として共有していたため、これらの拡張機能に関するソースコードも共有しました。オリジナルのバージョンを含む同じGitHubリポジトリにて、これらのコードをご確認いただけます。これらの拡張機能を追加すると、既に私のブログで共有している他のテクニックが使用されます。
フォーマット定義のテキストレポートを生成する際、タスクはSELECTステートメントを含むPROC FORMATステップを実行します。
こちらがその例です:
filename fmtout temp;
%let _catexp1 = %sysfunc(getoption(center));
%let _catexp2 = %sysfunc(getoption(date));
%let _catexp3 = %sysfunc(getoption(number));
%let _catexp4 = %sysfunc(getoption(pagesize));
options nocenter nodate nonumber pagesize=max;
ods listing file=fmtout;
proc format fmtlib lib=dbmlnx.formats;
select ab;
run;
ods listing close;
options &_catexp1. &_catexp2. &_catexp3. PS=&_catexp4.;
リストしたファイルが生成される際、タスクはWindows PowerShellの例に類似したコードを使用して、出力のコンテンツをダウンロードします。このSASコードがいくつかシステムオプションを設定することにお気づきになるかもしれませんが、オプションの値を保存して後のステップで置き換えているため、他のプログラムが影響を受けることはありません。
いろいろやってみるのがお好きな方は、ソースコードをダウンロードしてどのように動作するのか、ご自由にお試しください。SAS Enterprise Guideのカスタムタスクについてもっと知りたい方は、オンデマンドで利用可能なAsk the Expert のセッションをご参照ください。
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
コミュニティの基本的なガイドラインについてご説明します。まずは、こちらをご参照ください。
SAS Support CommunitiesのFAQはヘルプに記載されています。参照方法は、こちらからご確認ください。
Japan SAS Discussionページに質問や意見(メッセージ)を投稿/返信する方法を簡単にご説明します。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.