【发布时间】:2020-06-25 11:41:34
【问题描述】:
在 APEX 中,我创建了一个页面,这里创建了一个区域。该地区报告了一份经典报告。我选择了“PL/SQL function body that return an SQL query”作为源。这里我也存了如下代码
declare
l_date_string varchar2(32000);
l_date_diff number(4);
x NUMBER := 0;
l_script varchar2(32000);
l_script_pivot varchar2(32000);
new_date varchar(256);
begin
l_date_diff:=TO_DATE(:P2066_DATE_UNTIL, 'dd.mm.yyyy') - TO_DATE(:P2066_DATE_FROM, 'dd.mm.yyyy') ;
While X < l_date_diff+1 Loop
new_date := to_char(TO_DATE(:P2066_DATE_FROM, 'dd.mm.yyyy')+X,'dd.mm.yyyy');
l_date_string := l_date_string || ',''' || new_date || '''';
X := X + 1;
End Loop;
l_date_string := substr(l_date_string,2);
l_script := 'Select * from
(Select
pkey,
to_char(createdformat,''dd.mm.yyyy'') business_date,
regexp_substr(statistics, ''business_\w*'') business_statistics
from
gss.business_data
where
statistics like ''%business_%''
and createdformat between :P2066_DATE_FROM and :P2066_DATE_UNTIL
) ';
l_script_pivot := l_script || ' pivot(
count(pkey)
for business_date
in ('||l_date_string||'))';
sys.htp.p('<li>' || l_script_pivot || ' </li>' );
return l_script_pivot;
end;
始终显示第一列 Business_Statistis,后续列中的日期应动态显示 - 取决于期间的选择。
我也根据时间段选择使用了各自的代码,知道成功是一个带有SQL查询的经典报表。这行得通。
我现在如何使用 PL / SQL 操作动态更新经典报告。这意味着根据结果,始终显示经典报告?
我曾经选择并行使用通用列数,数量为365。然后他向我展示了列,但列标题不是日期而是Col2,Col3,Col4和以此类推
【问题讨论】:
标签: oracle-apex