過去の桐井戸端BBS (桐ver.8)
18591 日時型項目で当該年度の4月以降のデータを絞り込みするにはどうしたらいいのでしょうか TS 2003/01/18-18:21
桐初心者です。

桐V8 SPなし

よろしくお願いします。
次のような、日時型のデータ項目での絞り込みが上手くできなく、困っております。

やりたいことは、
日時型の項目[abc]で、組み込み変数&年、&月を使い、
当該年度内の4月以降のデータのみを絞り込み表示させたいと考えております。
また、4月になったら前年度分は表示せず、当該年度の4月以降当日までを表示させたい。

(具体例)

*処理日が2003年3月3日の場合
→ 2002年4月1日から2003年3月3日(処理当日)までの
  データを絞り込み表示させたい。

*処理日が2003年4月7日の場合
→ 2003年4月1日から2003年4月7日(処理当日)までの
  データを絞り込み表示させたい。

--実際操作してみた結果--- 始め --------------------------------------

検索項目名:[abc]
(データ型:日時、挿入初期値式:#日時値)
「絞り込み」の「比較式」:
#cond(&月<=4,#年([]) >= (&年-1),1,#年([]) >= &年)

エラー表示される。↓

KD1618:比較できないデータ型の組み合わせがあります。
・・・-1),1,#年([]) >= &年)

--実際操作してみた結果-- 終わり --------------------------------------

と表示され、思ったような絞り込みができません。
長くなってしまいましたが、この絞込みがうまくできず、
昨日より丸二日悩んでおります。

よろしくご指導をお願いします。

18594 R日時型での絞り込み 佐田 守弘 2003/01/18-22:36
記事番号18591へのコメント
TSさん
エラーの原因は、比較式が返す値が比較対象とする項目[abc]と同じ日時値型でないためです。
書かれている式の
 >#cond(&月<=4,#年([]) >= (&年-1),1,#年([]) >= &年)
の2番目のパラメータである
 #年([]) >= (&年-1)
について説明します。#cond関数が返す値は、偶数番目のパラメータ
ですから、&月<=4 が成り立つ時には上記の式が返されます。
しかし上記式は条件式であり、その値は0か1の整数値になります。
従ってこれを日時値と比較しようとするのでエラーになる訳です。

●該当年の4月以降を絞り込む比較式
 [abc]{>=#日時値生成(&年,4,1)}
でできるはずと思います。
サ変は該当年の4月1日を表す日時値を戻す計算式です。

佐田守弘(KS-00119)
18596 Re:R日時型での絞り込み うにん 2003/01/18-22:50
記事番号18594へのコメント
>●該当年の4月以降を絞り込む比較式
> [abc]{>=#日時値生成(&年,4,1)}
>でできるはずと思います。

4月始まりの年度内を絞り込みたいようですから、こうなります。
[abc]{>=#日時値生成(#cond(&月<4,&年-1,1,&年),4,1)}

表定義からして、当日以後のデータは入力されていないものと思います。
そうでなければ、上限値の設定も必要ですが。

18616 Re:R日時型での絞り込み TS 2003/01/19-16:40
記事番号18596へのコメント
佐田さん、うにんさん 回答有難うございます。

なぜエラーになるかは、佐田さんの説明でわかりました。

また、計算式については、うにんさんのおっしゃるとおり
年度で入力を区切りたいと考えておりましたので、使わせていただき、
上手くできました。

有難うございました。

戻る