2016-10-24 24 views
2

私は、リストされた変数(FYCount)を見て、FYCountに対応する日付で新しい変数(FYStart)をコードするためにSPSSに構文を書き込もうとしています。 13種類のFYCount変数があるので、DO IF ELSE IFループで効率的に処理しようとしましたが、ループを閉じていないことがわかります。私はしばらくそれをトグルして、なぜそれがコマンドを閉じて実行していないのか分からない。この初心者レベルの質問の助けがあれば幸いです。ここでSPSS-DO IF ELSE IFループが閉じない

は私が持っているコードだ:私はそれを実行すると

do if FYCount = 1. 
compute FYStart = date.dmy(1,7,2003). 
else if FYCount = 2. 
compute FYStart = date.dmy(1,7,2004). 
else if FYCount = 3. 
compute FYStart = date.dmy(1,7,2005). 
else if FYCount = 4. 
compute FYStart = date.dmy(1,7,2006). 
else if FYCount = 5. 
compute FYStart = date.dmy(1,7,2007). 
else if FYCount = 6. 
compute FYStart = date.dmy(1,7,2008). 
else if FYCount = 7. 
compute FYStart = date.dmy(1,7,2009). 
else if FYCount = 8. 
compute FYStart = date.dmy(1,7,2010). 
else if FYCount = 9. 
compute FYStart = date.dmy(1,7,2011). 
else if FYCount = 10. 
compute FYStart = date.dmy(1,7,2012). 
else if FYCount = 11. 
compute FYStart = date.dmy(1,7,2013). 
else if FYCount = 12. 
compute FYStart = date.dmy(1,7,2014). 
else if FYCount = 13. 
compute FYStart = date.dmy(1,7,2015). 
end if. 

、私はこのメッセージが表示されます。 警告#142コマンド名を:EXECUTE LOOPは、このコマンドには影響を与えません。

エラー番号4095.コマンド名:EXECUTE 変換プログラムには、閉じられていないLOOP、DO IF、または複合ファイル 構造が含まれています。 LOOPとDO IFの範囲を決定するには、SPSS Statistics コマンドの左側に示されている制御レベルを使用します。 このコマンドの実行は停止します

アイデアはありますか?

答えて

1

あなたの構文はよく見えますが、明らかなエラーはありません。

エラーメッセージは、DO IF文のこのシリーズの前または後EXECUTEと構文でDO IFまたはLOOPを有することが示唆されました。

この構文の前にすべてのコマンドを実行して、エラーが前後のものに関係しないことを確認してください。次に、この構文だけを実行します。セッションを終了し、必要に応じて再起動します。

さらに、他のネストされたDO IFがアクティブになっていないことを確認してください。それはあなたがどこかで終了終止符...これは実際にあなたのコードであると仮定すると、

0

含まれていない可能性があります、これを試してみてください。

COMPUTE FYStart = date.dmy(1,7,2001 + FYCount).