アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
会社でSQLServerを使っており、その中から必要なデータのみエクセルで取り出そうと考えていますがどうもうまくいきません。
日付(datetime型)を含むデータの中から今日の分のデータだけピボットテーブルでエクセルに取り出す場合、MSクエリを使って抽出するときの方法を教えてください。(getdate()を使ってみましたが”getdateは組み込み関数名として認識されません”とエラーが出ます。
よろしくお願いします。

A 回答 (3件)

他で使うときに、ODBCのデータソース選択画面で「クエリウィザードを使ってクエリを作成/編集する」というチェックをオフにすると、いきなりMS Queryに飛ぶからエラーにはならないはずです。



クエリウィザードはODBC(というかMicrosoft OLE DB Provider)が書式を評価するので、ODBC書式({ts 'yyyy-mm-dd 00:00:00'})しかサポートしてくれていないということかと思います。
GETDATEに限らず、SQL Server独自の関数はつかえないです。
ここはどうしようもないところで、クエリウィザード以外のところで対応するように考えていくべきかと。
    • good
    • 0
この回答へのお礼

エラーは出なくなったのでこれでやってみたいと思います。

>ここはどうしようもないところで、クエリウィザード以外のところで対応するように考えていくべきかと。
勉強してみます。
どうもありがとうございました。

お礼日時:2008/08/08 19:16

MS Queryのクエリウィザードの抽出条件指定画面ではGETDATE()はつかえませんが、ウィザードの最後で「データの表示またはクエリの編集を行う」を選び、MS Queryの画面を開けば、そこではGETDATE()は使えます。

以下のいずれかの方法で。
1)抽出条件フィールドの「値」に登録する
2)SQLボタンを押して、生成されているSQL文の末尾にWHERE条件を追加する

なお、GETDATE()は時刻を持っているので、指定するときは以下のようにしてください。
CONVERT(datetime,CONVERT(varchar,GETDATE(),111))

この回答への補足

ありがとうございます、できました
ただクエリを保存して別で使うとやっぱりエラーが出るので、日付の指定はせずに保存して使うときに指定してやることにします。
ウィザードではできずにクエリ編集ではできるというのはなにか不便な気もしますが他にもこのようなことがあるのでしょうか?
今後使っていく上で参考のために教えてください。

補足日時:2008/08/08 12:41
    • good
    • 0

EXCEL2007の場合、「データ」タブの「その他のデータソース」で「SQL SERVER」を選択すれば、ピボットテーブルレポートでEXCELにデータをインポートできます。




EXCEL2003以前の場合、「データ」メニューの「ピボットテーブルとピボットグラフ レポート」を選択し、表示される「ピボットテーブル・ウィザード 1/3」で、「外部のデータベース」を選択し、データのある場所を指定すれば、MSクエリウィザードが起動します。そこでデータを抽出します。
そして、抽出したデータでピボットテーブルを作成し、最後に今日の日付でデータを絞り込みます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。最近勉強し始めたのですが、何とかそこまではできました、ただ毎回今日の日付で絞り込むのも面倒で今後データも増えるので勝手に今日の分だけ取り出せないかなと考えていました。

お礼日時:2008/08/08 12:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す