前提・実現したいこと
Accessを使って、以下のような気象データのうち風速の値(整数)に応じて「ランク」を割り当てようとしています。
測定期間 風速m/sec 気温℃ 湿度% 日射量MJ/m2
2017/03/16 18:00 4 2 95 1.78
2017/03/16 19:00 2 1 96 0.60
ランクを割り当てるパターンは以下の通りです。
・風速が0m/秒~8m/秒の範囲であれば、風速に1を足した値をインデックスとして[1,1,2,3,4,4,5,5,6]のリストから選択されたランクに設定(風速が3m/秒であれば3+1 = 4でランク3に設定されます)
・風速が8m/秒より大きい値であればランクを9に設定
Accessでの操作としては、上記の気象データを格納したテーブル[気象データ]からクエリを作成し、
以下のようにSQLで記述しました。クエリ実行結果に元の表にある風速データと、その値をもとに割り当てられた風速ランクが並ぶことを想定しています。
クエリ実行結果イメージ
風速m/sec 風速ランク
4 4
5 4
10 9
発生している問題・エラーメッセージ
最初のパターンである「風速が0m/秒~8m/秒の範囲であれば、風速に1を足した値をインデックスとして[1,1,2,3,4,4,5,5,6]のリストから選択されたランクに設定」については以下のソースコードで実行できましたが、ここへさらに「風速が8m/秒より大きい値であればランクを9に設定」という条件を追加し、同じフィールドにランク9を表示させるにはどのようなコードを書き足せばよいかわかりませんでした。
該当のソースコード
SQL
1SELECT [気象データ].[風速m/sec], Choose([風速m/sec]+1,"1","1","2","3","4","4","5","5","6") AS 風速ランク 2FROM [気象データ] 3WHERE ((([気象データ].[風速m/sec])>=0) AND ((Choose([風速m/sec]+1,"1","1","2","3","4","4","5","5","6"))<=8)); 4
試したこと
条件分岐に関して調べて、「IIF」を用いるという方法は見つかったのですが、
choose関数と一緒に用いている事例は見つけられず、どのように組み入れるとよいのかわかりませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/28 06:43