top 30 sas interview questions
最も人気のあるSASインタビューの質問と回答のリスト:
この記事では、SASプログラミングの基本的な概念と高度な概念のいくつかを、最もよくあるSASインタビューの質問と回答を通じて見ていきます。
一般にSASとして知られている統計分析システムは、データ管理、予測-パースペクティブおよび記述分析、品質改善、ビジネス分析、アプリケーション開発などのさまざまな操作に統合および使用される複数のソフトウェアのセットと見なされます。
SASの多数のコンポーネントのカスタマイズと、広範なプログラミングアプローチ機能を組み合わせて、データ分析とデータ変換のタスクを実行します。プラットフォームに依存しないため、任意のオペレーティングシステム(Linux、Windowsなど)で実行できます。
最も人気のあるSASインタビューの質問と回答
さあ..
Q#1)SASによって実行される機能を参加させます。
回答: SAS(Statistical Analysis System)は、すべてのビジネスドメインで独自の重要性を持っています。
以下に、SASによって実行される要約された機能の一部を示します。
- データ管理とプロジェクト管理
- データウェアハウジング
- オペレーションズリサーチと意思決定支援
- 情報検索と品質管理
- 事業計画
- 統計分析
Q#2)SASプログラミングの3つのコンポーネントは何ですか?
回答: SASプログラミングの3つのコンポーネントは次のとおりです。
- ステートメント
- 変数
- データセット
Q#3)SASステートメントに続く構文規則を参加させます。
回答: SASプログラムはエディタウィンドウで記述されています。ここでは、SASプログラムが理解できるように、一連のステートメントとそれに続く適切な構文が含まれています。
SASのStatementコンポーネントの場合に従う構文規則のいくつかは次のとおりです。
- ステートメントの終わりはセミコロン(;)でマークされます。
- セミコロンは、1行に表示される複数のステートメントを区切るためにも使用されます。
- SASステートメントでは大文字と小文字が区別されず、ステートメントが自動的に削除される前に余分なスペースがあります。
- コメントは、次の2つの異なる方法でステートメントのSASプログラムに含めることができます。
- アスタリスク(*)で始まり、セミコロン(;)で終わる行。
- スラッシュとアスタリスク(/ *)で始まり、アスタリスクとスラッシュ(* /)で終わる行。
Q#4)SASに含まれるデータ型は何ですか?
回答: 「数値」 そして 'キャラクター' SASプログラムに含まれる2種類のデータ型です。
Q#5)PDVとその機能は何ですか?
回答: プログラムデータベクトル(PDV)は論理的な概念であり、SASによってデータセットが構築されるメモリの領域として定義されます。
PDVの機能は次のとおりです。
- 一度に1つの観測値を持つデータベースが作成されます。
- 外部ファイルのデータを保持するための入力バッファは、コンパイル時に作成されます。
- PDVには、_N_(実行中のデータステップのカウントを表示)と_ERROR_(実行時に発生したエラーを通知)の2つの自動変数が含まれています。
Q#6)SASデータセットについて何を知っていますか?
回答: SASデータセットは、基本的にSASプログラム内で分析に使用できるデータと呼ばれます。 SASデータセットは、SASデータテーブルとも呼ばれます。
SASデータテーブルは2つの部分で構成されています。
- 変数の列
- 観測の列
SASデータセットに関する有用な情報は、次のように要約できます。
- SAS Datasetは、Excel、Accessなどの使用のための組み込みデータソースを備えているだけでなく、読み取ることができます。
- 現在のセッションの実行でのみ使用され、セッションの終了後に破棄されるデータセットは、一時データセットと呼ばれます。
- 将来のセッションで使用するために保存されるデータセットは、永続データセットとも呼ばれます。
- 組み込みデータセットには、このパスを使用してアクセスできます ライブラリ->マイライブラリ-> SASHELP。
Q#7)入力ステートメントで二重末尾の@@が使用される理由を説明してください。
回答: 入力ステートメントに二重末尾の@@を含めるなど、データステップの反復中に、SASは新しいレコードに切り替えるのではなく、次の入力ステートメントの実行のために現在のレコードを保持する必要があることを意味します。
Q#8)NODUPオプションとNODUPKEYオプションの違いを説明してください。
回答: テーブルから重複する値を削除するには、 PROC SORTは、基本的に2つのオプションに分類されます。
- NODUP
- NODUPKEY
これら2つのオプションの違いを以下に示します。
NODUPKEY | NODUP |
---|---|
データセットに存在するBY変数のみを比較します。 | データセットに存在するすべての変数を比較します。 |
BYステートメントにリストされている変数の値の重複オプションを削除します。 | 重複する観測を識別して排除します。 |
構文: PROC SORT DATA = readin NODUPKEY; BY変数名; 実行; | 構文: PROC SORT DATA = readin NODUP; BY変数名; 実行; |
Q#9)SASプログラムでソートを実行するために使用されるコマンドはどれですか?
回答: PROC SORTコマンドは、単一の変数または複数の変数のいずれに対しても、並べ替えを実行するために使用されます。このコマンドは、並べ替えの結果として新しいデータセットが作成されたが、元のデータセットは変更されていないデータセットに対して実行されます。
構文:
PROC SORT DATA=original OUT=Sorted; BY variable;
どこ、
「元の」とは、元のデータセットを指します
「ソート済み」とは、結果をソート済みデータセットと呼びます
「変数」とは、ソート操作が実行される列を指します。
並べ替えは、昇順と降順の両方で実行できます。
データセットを降順で表示するには、BYステートメントでキーワード「Descending」を使用して、並べ替えを実行する列名を指定します。
PROC SORT DATA=original OUT=Sorted; BY DESCENDING variable
Q#10)InformatとFormatの違いを例を挙げて説明してください。
回答: InformatとFormatの違いは、次のように説明できます。
詳細はこちら | フォーマット |
---|---|
SAS変数にデータを読み込む方法をSASに示します。 | 変数に値を表示する方法をSASに示します。 |
これらは、データの読み取りまたは外部ファイルからの入力データの取得に使用されます。 | これらはデータの書き込みに使用されます。 |
Q#11)INPUTとINFILEを区別します。
回答: SASプログラミングにINFILEステートメントを含めると、データで構成される外部ファイルが識別されますが、SASプログラミングにINPUTステートメントを含めると、使用される変数が記述されます。
INFILEの構文:
INFILE ‘filename’;
INPUTの構文:
INPUT ‘varname1’ ‘varname2’;
Q#12)PROCプリントとPROCコンテンツの使用について説明してください。
回答: SASプログラムのPROCステップは、データセットのデータを分析するための組み込みプロシージャを呼び出すために使用されます。
PROCプリント: データセットに存在するデータが正しく読み取られるようにします。
PROCの内容: SASデータセットに関する情報を表示します。
Q#13)DATA_NULL_について説明してください。
回答: 名前が定義するように、DATA_NULL_は、実際にはデータセットを作成しないデータステップです。
それは以下のために使用されます:
- マクロ変数の作成。
- データセットなしで出力を書き込む。
Q#14)文字変数はどのように数値変数に変換されますか?
回答: SASプログラミングでは、文字値を数値に変換し、同様に数値を文字値に変換するタスクが多数発生します。
PUT() 数値を文字に変換するために使用されます。この場合、ソース形式とソース変数タイプは常に類似している必要があります。
例:
char_var= PUT( num_var, 6.);
INPUT()は、文字を数値に変換するために使用されます。この場合、ソース変数タイプは常に文字変数である必要があります。
例:
Num_var= INPUT(char_var,2.0);
Q#15)_CHARACTER_と_NUMERIC_の目的は何ですか?
回答: 現在のデータセットでは、
_キャラクター_ 現在定義されているすべての文字変数を定義します。
例 : PROC MEANSにすべての文字変数を含めるには、次のステートメントを使用します。
PROC MEANS; Var_character_; Run;
_NUMERIC_ 現在定義されているすべての数値変数を定義します。
例: PROC MEANSにすべての数値変数を含めるには、次のステートメントを使用します。
PROC MEANS; Var_numeric_; Run;
Q#16)データセットに特定の変数を含めたり除外したりする場合、どのコマンドが使用されますか?
回答: この目的のために、DROP、KEEP、およびデータセットオプションが使用されます。
データステップから削除する変数は、DROPステートメントで指定されます。
データステップから保持する変数は、KEEPステートメントで指定されます。
Q#17)PROCMEANSとPROCSUMMARYを区別します。
回答: PROCMEANSとPROCSUMMARYの違いは次のように理解できます。
手続き手段 | 手順の概要 |
---|---|
この手順では、デフォルトでOUTPUTウィンドウに印刷されたレポートが作成されます。 | この手順では、ステートメントにPRINTを含めて、印刷されたレポートを作成します。 |
PROC MEANSは、デフォルトで分析のすべての数値変数を取ります。 | PROCSUMMARYは変数をVARステートメントで記述された統計分析に取り入れます。 |
Q#18)SASプログラミングにおけるSUBSTR関数の目的を説明してください。
回答: SASプログラミングでは、部分文字列を抽象化するプログラムの要件がある場合は常に、文字変数の場合はSUBSTR関数が使用されます。
開始位置と長さが指定されている場合、この関数は文字列を抽象化するために使用されます。
構文: SUBSTR(char_var、start、length);
Q#19)データクリーニングに使用されるSAS文字関数の名前と説明を簡単に説明します。
回答: データクリーニングに使用されるいくつかのSAS文字関数を以下に示します。
- Compress(char_string) 関数は、指定された文字列から空白または指定された文字を削除するために使用されます。
- トリム(str) 関数は、指定された文字列から末尾の空白を削除するために使用されます。
- LOWCASE(char_string) 関数は、指定された文字列のすべての文字を小文字に変換するために使用されます。
- UPCASE(char_string) 関数は、指定された文字列のすべての文字を大文字に変換するために使用されます。
- COMPBL(str) 関数は、複数のブランクを単一のブランクに変換するために使用されます。
Q#20)SASプログラミングで「テーブルルックアップ」を行う方法をいくつか挙げてください。
回答: SASプログラミングでは、テーブルルックアップ値は次の方法で保存できます。
- コード
- アレイ
- ハッシュオブジェクト
- フォーマット
- データセット
SASで「テーブルルックアップ」を実行するには、それぞれ次の手法を使用します。
- SELECT / WHENまたはIF / THENステートメント
- 配列インデックス値
- ハッシュオブジェクトのキー値
- FORMATステートメント、PUT関数
- マージ、結合、KEY =オプション
「IF / THEN」ステートメントを使用してテーブルルックアップを実行する「コード」方法を示す例を見てみましょう。
data location; set myinfo; if AreaCode='226' then Location='Ontario, Canada'; else if AreaCode='212' then Location='New York, NY'; else Location='Unknown'; run;
Q#21)CEIL関数とFlOOR関数を区別します。
回答:CEIL関数 数値を切り捨てるために使用され、出力を最小の整数として表示します。最小の整数とは、ここでは整数値が引数以上であることを意味します。
例: CEIL(12.85)は、出力を13として表示します。
床関数 数値を切り捨てるために使用され、出力を最大の整数として表示します。最大の整数とは、ここでは整数値が引数以下であることを意味します。
例: FLOOR(12.85)は、出力を12として表示します。
Q#22)SASプログラミングでマクロ変数を作成する方法は何ですか?
回答: SASプログラミングでマクロ変数を作成するには、さまざまな手法を使用できます。
以下に、最も一般的に使用される5つの方法を示します。
- %LETステートメント
- マクロパラメーター(名前付きおよび位置)
- %DOステートメント(反復)
- PROCSQLのINTO
- CALLSYMPUTXルーチン
Q#23)RETAINステートメントの目的を説明してください。
回答: 「RETAIN」という単語の意味は、割り当てられた値を保持することを意味するため、RETAINステートメントの目的は、SASプログラミングでもその意味が意味するものと同じです。
SASプログラム内で、現在の反復からデータステップの次の反復に移動する必要がある場合、その時点でRETAINステートメントはSASに、値を欠落に設定するのではなく保持するように指示します。
例: RETAINステートメントを使用して、1から始まる「z」の出力値を表示するプログラムを印刷してみましょう。
data abc; set xyz; RETAIN z 0; z = z + 1; run;
Q#24)外部ファイルにログを保存するために使用されるコマンドはどれですか?
回答: 印刷されたプロセス コマンドは、ログを外部ファイルに保存するために使用されます。
ウェブサイトのペネトレーションテストの方法
例:
PROC PRINTTO log='C:UsersabcDownloadsLOG11.txt' new; run;
Q#25)SASプログラミングで通常コミットされる一般的なエラーについて言及してください。
回答: 以下にリストされているのは、特にこのプログラミング言語を初めて使用する場合に通常発生する一般的なエラーの一部です。
- 基本的な構文では、各ステートメントの最後にセミコロンが含まれ、セミコロンがないことが最も一般的な間違いです。
- プログラムの送信後、ログの確認をスキップします。
- 必要な場所でコメントを使用しなかったり、不適切な方法でコメントを使用したりするなどのコメントエラー。
- 適切なデバッグ方法を使用していない。
Q#26)SASマクロをデバッグするためのSASシステムオプションについて言及します。
回答: マクロコードおよびマクロによって生成されたSASコードの追跡を支援するために、いくつかのシステムオプションを使用できます。
彼らです:
- MLOGIC
- MPRINT
- 記号
これらのシステムオプションによって生成されるメッセージは、SASログに表示されます。
Q#27)SAS機能とSASプロシージャを区別します。
回答: 主な違いは、SASの機能と手順の両方について説明されているケースによって発見/理解できます。
場合:
ために 関数 、引数値が提供されるか、プログラムステートメントに記載されている観測全体の計算に使用されますが、 手順 、すべての観測値には、以下の例で説明するように計算が行われる変数が1つだけあると予想されます。
例を挙げて理解しましょう。
data average; set temp; avgtemp = mean( of T1 – T24 ); run;
上記の例では、平均関数に渡された引数は、観測値として計算に使用されます。
proc sort; by month; run; proc means; by month; var avgtemp; run;
上記の例では、Procは、関数が観測値として渡される1つの引数の平均温度を月ごとに計算することを意味します。
Q#28)SYMPUTとSYMGETについて何を知っていますか?
回答:2つの主な違いは以下のとおりです。
SYMPUTは、データセットの値をマクロ変数に格納するために使用されますが、SYMGETは、マクロ変数からデータセットに値を取得するために使用されます。
Q#29)SASプログラミングで使用される特別な入力区切り文字について説明してください。
回答: SASプログラミングで使用される特別な入力区切り文字は次のとおりです。
- DLM
- DSD
これらはステートメント「INFILE」で使用され、DSDには、引用符で囲まれて表示される区切り文字を無視する機能があります。
Q#30)2つのSAS日付間の間隔の数をカウントするために使用される関数はどれですか?
回答: 間隔関数INTCKは、指定された2つのSAS日付間の間隔の数をカウントするために使用されます。
構文:
INTCK(interval,start-of-period,end-of-period)
結論
これまでに、SASプログラミングの概念を明確に理解し、SASインタビューで尋ねられる質問の性質についてのアイデアを提供する複数の質問と回答を見てきました。
SASプログラミングを初めて使用する場合は、コンピュータープログラミングのいくつかのテクノロジに関する知識と、SQL(Structured Query Language)に精通していることが、SASをすばやく理解するだけでなく学習するための追加の利点になります。
SASインタビューに自信を持って直面する準備ができていることを願っています!!