0

日付列を使用してクエリを実行していますが、リストボックスをカスケードすることで、年、四半期、月などのこの単一のクエリにパラメーターを渡す必要があります。パラメーターに応じてこのクエリを変更する方法..

my query:

select distinct 
OUTLET_NAME,
ROUND (nvl(sum(WALKIN_WITHOUT_CGROUP),0)/ COUNT(*),2)APC,
ROUND((nvl(SUM(SALES_VALUE),0)+nvl(sum(total_sales),0)-nvl(sum(net_sales),0)+nvl(sum(discount),0))/nvl(sum(BILLS_WITHOUT_CGROUP),0))ASPB,
ROUND((nvl(SUM(SALES_VALUE),0)+nvl(sum(total_sales),0)-nvl(sum(net_sales),0)+nvl(sum(discount),0))/COUNT(*),2) ASPD,
nvl(sum(BILLS_WITHOUT_CGROUP),0) Bill,
trunc(nvl(SUM(SALES_VALUE),0)+nvl(sum(total_sales),0)-nvl(sum(net_sales),0)+nvl(sum(discount),0)) Sale,
nvl(sum(WALKIN_WITHOUT_CGROUP),0) WALKINS
from OUTLET_PAYMODE_REPORT_FACT A,OUTLET_DETAILS B
WHERE  A.OUTLET_ID=B.OUTLET_ID and SALES_VALUE>0
and tran_date  between '01-Apr-2012' and '31-Mar-2013'
group by OUTLET_NAME
4

1 に答える 1

0

parameter1期間の開始日を含むパラメーターと終了日を含むパラメーターの 2 つがあると想定していますparameter2。パラメータはカスケードであってもなくてもかまいません。

パラメータの値を保持する 2 つの変数を作成できます。

var startDate = params["parameter1"]

終了日についても同様です。または、開始日 (2012 年 1 月 1 日など) と期間 (月、四半期、または年) のみを指定すると、終了日を計算し、それを 2 番目の変数の値として使用できます。

これが完了したら、GUI でデータ セットを開き、クエリを JavaScript としてプロパティ バインディングにコピーできます。これは、クエリ全体を文字列に書き換えます。

query line 1
query line 2
query line 3

になる

"query line 1 "+
"query line 2 "+
"query line 3 "

その後、指定した変数を使用できます。

"and tran_date  between '" +vars["startDate"] +"' and '" +vars["endDate"] +"'"

変数に適切な日付形式を入力するように注意し、適切な量の引用符と空白を含めるようにしてください - a'は見過ごされがちです!

于 2013-10-09T07:55:44.723 に答える