ビジネス・インテリジェンス[BI] のリーディング・カンパニー | SAS Japan SAS Japan
「THE POWER TO KNOW(知る力)」を提供するビジネス・インテリジェンス[BI]のリーディング・カンパニー | SAS Japan  トレーニング マニュアル ユーザー事例 パートナー ユーザー会 求人情報 資料請求・ダウンロード
Home News Products & Solutions Events & Seminer Customer Support Company www.sas.com
 

SQLプロシジャで、選択された行があったかどうかを確認する

[OS] ALL
[リリース] ALL
[キーワード] Base, SQL, WHERE clause, count, automatic macro variable, SQLOBS

[質問]

SQLプロシジャのSELECTステートメントでWHERE句を指定して、データを抽出しています。
選択された行があったかどうかを簡単に確認する方法はありますか。

[回答]

選択された行数がSQLOBSマクロ変数にセットされるので、この値で確認できます。

プログラム例


  PROC SQL;
    CREATE TABLE work.class2 as 
    SELECT * FROM sashelp.class
      WHERE age > 16; 
    %PUT &sqlobs; 
  QUIT; 

  %PUT &sqlobs;

注意:
PROC SQLステートメントでNOPRINTオプションを指定していて、CREATE句を指定していない場合、選択された行が存在する場合は1、存在しない場合は0が自動マクロ変数のSQLOBSにセットされます。
これは、内部的に1行が処理対象となるためです。

SQLOBSマクロ変数に1がセットされる例


  PROC SQL noprint;
    SELECT * FROM sashelp.class
      WHERE age > 11; 
    %PUT &sqlobs; 
  QUIT; 

  %PUT &sqlobs;

The Power to Know
   Contact Us     Terms of Use & Legal Information     Privacy Statement     個人情報の取り扱いについて   Copyright © 2008 SAS Institute Inc. All Rights Reserved