別個の日付と時刻の値のパラメーターを要求しますか?


9

Crystal Reports 2016を使用しています。データソースはMS SQL Server 2008 R2です。現在、パラメーターを使用して、レポートの日付範囲をユーザーに求めることができます。時間範囲のプロンプトも追加したいと思います。DateTimeパラメータのプロンプトを使用しても、期待どおりに動作しません。日付範囲はより大きな日ウィンドウを選択し、時間範囲はレポートがデータを表示するその日の何時かを選択します。DateTimeパラメータプロンプトを使用しても、レポートの開始と終了の日付/時刻に精度が追加されるだけで、望みどおりに動作しません。両方のプロンプトは、データベース内の同じDateTimeレコードを参照します。

別の2番目のパラメータープロンプトを追加することを試みましたが、パラメータープロンプトをDateTime値に変更した場合と同じ結果になります。繰り返しますが、それは私の望ましい結果ではありません。

具体的で具体的な例として、9月1日から10月31日まで有効なデータを使用したいと思います。レポートしていることが午後2時から午後10時の間に発生した場合です。日時を選択した場合、9月1日午後2時と10月31日午後10時を選択できます。しかし、それは私が選択しようとしているものではありません。

基本的に、これらの日に午後2時から午後10時の間に発生したデータを選択します。開始日と終了日を選択できる場合。開始時間と終了時間を選択できます。

ここに画像の説明を入力してください

SQL用語を使用して、日付範囲と時間範囲(中央の範囲)の内部結合が必要だと思います。

ここに画像の説明を入力してください

まったく無関係ですが、類似した例です。この現象は、Outlookの会議に似ています。非常に長い会議を1日/時間に開始し、数日後に別の日/時間に終了することは可能ですが(そうすべきではありません)、定期的な会議を作成して、自分と自分の部屋のスケジュールを適切に管理する必要があります。定期的な会議と同様の方法でレコードを選択したいと考えています。

select expert探しているデータを取得するルールを作成するにはどうすればよいですか?これを行う他の方法はありますか?たぶんサブレポート?


1
このQは1週間前なので、手遅れかもしれません。私はそれをサンプル入力、必要な出力、およびソリューションでの最善の試みとして書き直します(私はCR devとして多くの埋め込みウィジェットに依存しているため、投稿がより困難になることを知っています)。しかし、現状では、具体的に解決しようとしている問題を視覚化することはできません。「2017-05-12.00:00:00Zを取得していますが、2017-05-12.23:59:59が欲しい」と言った場合、多くの人が簡単に手助けできると思います。幸運を。
シェルター2017年

1
簡単な解決策は、おそらくレポートがデータを取得し、他のテーブルを指すMS SQLでデータベースビューを作成するだけで、ここで[時間]の値を得るためにそれを伝えることですHH2 PM及び使用して10 PMの間にあるDATEPART機能を。したがって、たとえばSELECT * FROM Table WHERE DATEPART(hh,[DateField]) BETWEEN 14 AND 22ビューで列を明示的に使用せずに、select expertレポートをポイントして、選択した日付期間のデータをそこから取得します。もう1つの方法は、同じT-SQLクエリをCR SQLコマンドにすることですが、SQLビューの方がはるかにパフォーマンスが良い場合があります。
Pimp Juice IT

1
したがって、SQLクエリを明確にするために、SQL VIEWまたはCR SQLコマンドオブジェクトをSELECT * FROM Table WHERE DATEPART(hh,[DateField]) BETWEEN 14 AND 22使用して、SQLビューselect column1, column2 FROM ~などのクエリで列固有にすることができます*
Pimp Juice IT

1
私の例は特定の例でした。ユーザーに開始時間と終了時間を決定させたいので、パラメーターについて言及しました。SQLビューについてはあまり知りませんが、そのようなものをどこかに貼り付けると、静的に設定され、レポートを実行しているユーザーがその場で変更することはできません。その点で質問をより明確にすることについて見ていきます。
YetAnotherRandomUser 2017年

さて、ユーザーが時間範囲を選択する場合、それは機能しません。これは、おそらくストアドプロシージャの仕事かもしれません。私はCRをもう持っていません。何かをテストするためにそれを台無しにしてから1年ほどですが、CR部分をセットアップし、TSQLが実行できるように構成できれば、SQLレベルのソリューションの可能性を支援できると思いましたストアドプロシージャを作成して、開始時間と終了時間のパラメーターを渡し、それらの値に対してCR動的プロンプトを表示できるかどうかはわかりませんが、少なくともいくつかのアイデアはあると思います...頑張ってくださいとにかく。
Pimp Juice IT
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.