2016-09-08 9 views
0

クエリで入力する必要がある入力コントロールがあります。 My SQL Serverでコードを記述すると、計画どおりに機能します。しかし、それを入力コントロールに入れると、ドロップダウンは空白になります。入力制御クエリでケースが許可されていませんか?回避策はありますか?あなたが見ることができるように入力コントロールのクエリはJaspersoftでは機能しませんが、My SQL Serverで機能します

SELECT a.PRSTART as date, 
    case when(a.prstart <= getdate() - 7 and a.prfinish - 1 >= getdate() - 7) then 'Previous Period' 
      when (a.prstart <= getdate() + 7 and a.prfinish - 1 >= getdate() + 7) then 'Next Period' 
      else 'Current Period' end as period 
     FROM PRTIMEPERIOD a 
     WHERE 
     (a.prstart <= getdate() and a.prfinish - 1 >= getdate()) 
     or 
     (a.prstart <= getdate() - 7 and a.prfinish - 1 >= getdate() - 7) 
     or 
     (a.prstart <= getdate() + 7 and a.prfinish - 1 >= getdate() + 7) 

が、私は動的に計算された日付と一緒に、「前」「次」、または「現在の期間」を返却する必要があります。

は、ここでは一見単純なSQLコードです。入力コントロールの場合、previous、next、およびcurrentは可視フィールドになり、dateはvalueカラムとして使用されます。

ありがとうございました!

+0

同じ要件があります。入力コントロールはそれほど柔軟ではありませんでした。最後に、与えられたパラメータの日付を計算する小さなヘルパークラスを作成しました。したがって、 "先月"には-1、 "-2ヶ月"には-2などの値があり、我々の関数はその月の最初と最後の日にいくつかのJavaコードを提供します。 – tobi6

答えて

1

jasperreportserver設定でクエリログを有効にし、サーバーで何が起きているのかを確認できます。

お礼

関連する問題