Flash Chart performance?
We have a 2DLINE chart that dynamically generates SQL (we have x series being displayed, typically in the region of 3 to 7).
As a result, we can have a maximum 365 x data points multiplied by the number of series. When we have 5 series, Flash seems to struggle with rendering the chart and provides several "+A script in this movie is causing Adobe Flash Player 9 to run slowly. If it continues+
+to run, your system may become unresponsive. Do you want to abort the script?+" messages. The SQL executes just fine, within a second, and so it seems like the problem is on the client between the XML and SWF.
Has anyone modified the SWF to provide a different timeout for this message and if not, what other option is there to extend or remove this message?
Bill and others has posted the same questions (Bill's here: Flash Chart limitations? and there doesn't seem to be a solution available yet.
Phil
(Application Express v3.1 Anychart v3, IEv6)
Update: It looks like it should be possible using Flashvars - however, this is either ignored or the swf overrides this.
Edited by: Phil UK on Jun 10, 2010 8:44 AM
Try Simile timeplot - it works well in my tests of around 4 series, and 1000 data points each on the same chart.
Spread out x-axis points to smooth out line graph
Similar Messages
-
Flash chart performance issue with multiple series
Hi,
We have a problem with the performace of a line graph which has multiple series.
I have set up an example application here:
http://apex.oracle.com/pls/apex/f?p=37504:1
The application contains two charts. The 'Mulltiple Series' chart has twelve series behind it and allows the user to include mutiple series data. The other chart has just one series.
The single series chart takes only a couple of seconds to render, however the mutiple series chart takes around 10 seconds even when no additional series have been selected. Using Firebug I have observed that the apex_util.flash procedure is taking around 8 seconds to generate the XML, and it includes null data values for the series that aren't selected.
My question is how can I make each series conditional, such that no data is included in the XML if the series returns no rows?
Thanks,
AndrewHi Andrew
Have you considered modifying your chart to use a series with the "Query source type" of "Function returning SQL Query"
Have a look at
Re: Flash chart - multiple series - no display when some series empty
My response on that thread may help. I'd be interested to know if this approach improves the performance.
Kind regards
Simon Gadd -
Flash Chart Performance Problem behind Firewall
I am running into an issue with running Flash based charts behind a firewall.
Database: 11.1.0.6
Apex: 3.1.2.00.02 (Using Oracle HTTP Server via Oracle Application Server)
Flash: 3.1.2.00.02
I have a page the displays a 2D Line graph with three data series. When I run the report directly against my app server (URL: [http://ecydblcyorwq06/public/f?p=128:11]
where ecydblcyorwq06 is my app server) the chart displays just fine. In
order for the public to access this page they must go through our
firewall called fortress. So they start by accessing the system from [https://fortress.wa.gov/ecy/wplcsreports/,] which then maps to my application (128:1). The URL becomes [https://fortress.wa.gov/ecy/wplcsreports/public/f?p=128:1].
When I try to run the chart through fortress it never renders. I just
get the "Loading Data...Please Wait" progress bar. The progress bar
moves very slowly and never returns the chart.
My dads.conf looks like
<Location /public>
SetHandler pls_handler
Order deny,allow
Allow from all
AllowOverride None
PlsqlDatabaseUsername APEX_PUBLIC_USER
PlsqlDatabasePassword xxxxxxxx
PlsqlDatabaseConnectString database_server:1521:my_sid SIDFormat
PlsqlAuthenticationMode Basic
PlsqlDefaultPage f?p=wplcs_online:permit_search
PlsqlDocumentTablename wwv_flow_file_objects$
PlsqlDocumentPath docs
PlsqlDocumentProcedure wwv_flow_file_mgr.process_download
PlsqlNLSLanguage AMERICAN_AMERICA.AL32UTF8
</Location>My Apache httpd.conf file looks like:
<VirtualHost *>
ServerName wplcsreports
RewriteEngine On
RewriteRule ^/$ /public/f?p=wplcs_online:permit_search [R]
DocumentRoot /www/pls/apex
#RewriteLog "E:\product\10.1.3.1\OracleAS_1\Apache\Apache\logs\rewrite.log"
#RewriteLogLevel 9
Port 80
</VirtualHost>The Apache access logs have a couple entries like this:
198.239.146.15 - - --30/Sep/2008:10:49:30 -0700--
"GET
/i/flashchart/2DLine.swf?XMLFile=http://wplcsreports/public/apex_util.flash?p=128:11:5145826667904515:FLOW_FLASH_CHART_R4278912739418628_en-us
HTTP/1.1" 304 -
198.239.146.15 - - --30/Sep/2008:10:59:02 -0700--
"GET
/i/flashchart/2DLine.swf?XMLFile=http://wplcsreports/public/apex_util.flash?p=128:11:761140423223754:FLOW_FLASH_CHART_R4278912739418628_en-us
HTTP/1.1" 200 80216Is there something that I need to do from the configuration standpoint
to make the chart work across the firewall? Do I need to do something
with the Virtual host definition so that the XML file works properly?
TonyAlright, I have modified my DAD to include the following line:
PlsqlCGIEnvironmentList HTTP_HOST=fortress.wa.gov/ecy/wplcsreports:80
I restarted the OHS and how I get an XML error in the chart region.
XML Loading Failed: http://fortress.wa.gov/ecy/wplcsreports/public/apex_util.flash?p=128:11:......The thing I noticed here is that the failed URL is not HTTPS, but HTTP instead. I am guessing this is the current problem. So I went back to my httpd.conf file and tried to add the request_method directive to my virtual host definition, but this just caused the OHS restart to fail.
httpd.conf
<VirtualHost *>
ServerName wplcsreports
RewriteEngine On
RewriteRule ^/$ /public/f?p=wplcs_online:permit_search [R]
DocumentRoot /www/pls/apex
#RewriteCond %{REQUEST_METHOD} ^TRACE
Port 80
</VirtualHost>So how do I force the XML file loading to be under the HTTPS protocol?
Tony -
Slow flash chart loading in Apex due to SQL performance!
I am very new with Oracle. I have an application with lots of flash charts which are mostly very slow to load. My table size is over 10 million and growing. I think that most of my problems come from the SQL quries that I use, but do not understand most of the techniques I find in internet to tune it. Here is one example:
select null,c.mydate label,c7.cnt "Rattle",c8.cnt "Climb",c9.cnt "Kick",c1.cnt "Footstep",c2.cnt "Vehicle",c4.cnt "Start"
from (select unique TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,TO_CHAR(RECORDDATE,' yyyy-mm-dd HH24:MI') as sort from SCOTT.SCDATABASE4 WHERE RECORDDATE> TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND ID = :P2_ID AND RECORDDATE< TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS') AND (CLASS in (7,8,9,1,2,4))) c
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate, count(1) cnt from SCOTT.SCDATABASE4 WHERE RECORDDATE> TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND ID = :P2_ID AND RECORDDATE< TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS') AND CLASS = 7 group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')) c7 on (c.mydate = c7.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate, count(1) cnt from SCOTT.SCDATABASE4 where RECORDDATE> TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND ID = :P2_ID AND RECORDDATE< TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS') AND CLASS = 8 group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')) c8 on (c.mydate= c8.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate, count(1) cnt from SCOTT.SCDATABASE4 where RECORDDATE> TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND ID = :P2_ID AND RECORDDATE< TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS') AND CLASS = 9 group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')) c9 on (c.mydate = c9.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate, count(1) cnt from SCOTT.SCDATABASE4 WHERE RECORDDATE> TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND ID = :P2_ID AND RECORDDATE< TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS') AND CLASS = 1 group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')) c1 on (c.mydate = c1.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate, count(1) cnt from SCOTT.SCDATABASE4 WHERE RECORDDATE> TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND ID = :P2_ID AND RECORDDATE< TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS') AND CLASS = 2 group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')) c2 on (c.mydate = c2.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate, count(1) cnt from SCOTT.SCDATABASE4 WHERE RECORDDATE> TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND ID = :P2_ID AND RECORDDATE< TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS') AND CLASS = 4 group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')) c4 on (c.mydate = c4.mydate)
order by c.sort I have oracle 11g working with Apex 4.1. I used the SQL workshop's explain plan:
Operation Options Object Rows Time Cost Bytes Filter
Predicates * Access
Predicates
SELECT STATEMENT
66 703 58,573 9,966
SORT
ORDER BY 66 703 58,573 9,966
HASH JOIN
RIGHT OUTER 66 703 58,572 9,966 "C"."MYDATE" = "C1"."MYDATE"(+)
VIEW
1 101 8,358 22
HASH
GROUP BY 1 101 8,358 18
FILTER
TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
TABLE ACCESS
FULL SCDATABASE4 1 101 8,357 18 "CLASS" = 1 AND "ID" = TO_NUMBER(:P2_ID) AND "RECORDDATE">TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND "RECORDDATE"<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
HASH JOIN
OUTER 66 603 50,214 8,514 "C"."MYDATE" = "C2"."MYDATE"(+)
HASH JOIN
OUTER 66 503 41,853 7,062 "C"."MYDATE" = "C4"."MYDATE"(+)
HASH JOIN
OUTER 66 402 33,494 5,610 "C"."MYDATE" = "C9"."MYDATE"(+)
HASH JOIN
OUTER 66 302 25,135 4,158 "C"."MYDATE" = "C8"."MYDATE"(+)
HASH JOIN
OUTER 66 202 16,777 2,706 "C"."MYDATE" = "C7"."MYDATE"(+)
VIEW
66 102 8,418 1,254
HASH
UNIQUE 66 102 8,418 1,188
FILTER
TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
TABLE ACCESS
FULL SCDATABASE4 66 102 8,417 1,188 "ID" = TO_NUMBER(:P2_ID) AND ("CLASS" = 1 OR "CLASS" = 2 OR "CLASS" = 4 OR "CLASS" = 7 OR "CLASS" = 8 OR "CLASS" = 9) AND "RECORDDATE">TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND "RECORDDATE"<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
VIEW
1 101 8,358 22
HASH
GROUP BY 1 101 8,358 18
FILTER
TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
TABLE ACCESS
FULL SCDATABASE4 1 101 8,357 18 "CLASS" = 7 AND "ID" = TO_NUMBER(:P2_ID) AND "RECORDDATE">TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND "RECORDDATE"<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
VIEW
1 101 8,358 22
HASH
GROUP BY 1 101 8,358 18
FILTER
TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
TABLE ACCESS
FULL SCDATABASE4 1 101 8,357 18 "CLASS" = 8 AND "ID" = TO_NUMBER(:P2_ID) AND "RECORDDATE">TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND "RECORDDATE"<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
VIEW
1 101 8,358 22
HASH
GROUP BY 1 101 8,358 18
FILTER
TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
TABLE ACCESS
FULL SCDATABASE4 1 101 8,357 18 "CLASS" = 9 AND "ID" = TO_NUMBER(:P2_ID) AND "RECORDDATE">TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND "RECORDDATE"<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
VIEW
15 101 8,359 330
HASH
GROUP BY 15 101 8,359 270
FILTER
TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
TABLE ACCESS
FULL SCDATABASE4 15 101 8,358 270 "CLASS" = 4 AND "ID" = TO_NUMBER(:P2_ID) AND "RECORDDATE">TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND "RECORDDATE"<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
VIEW
49 101 8,361 1,078
HASH
GROUP BY 49 101 8,361 882
FILTER
TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
TABLE ACCESS
FULL SCDATABASE4 49 101 8,360 882 "CLASS" = 2 AND "ID" = TO_NUMBER(:P2_ID) AND "RECORDDATE">TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS') AND "RECORDDATE"<TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
From this I gather that the full database access is a bad thing, but do not know how to prevent it. I would appreciate any help and sorry for the long post!!End Of (rather busy) Week: Friday evening but your query
select null,c.mydate label,c7.cnt "Rattle",c8.cnt "Climb",c9.cnt "Kick",c1.cnt "Footstep",c2.cnt "Vehicle",c4.cnt "Start"
from (select unique
TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,
TO_CHAR(RECORDDATE,' yyyy-mm-dd HH24:MI') as sort
from SCOTT.SCDATABASE4
WHERE RECORDDATE > TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')
AND ID = :P2_ID
AND RECORDDATE < TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
AND (CLASS in (7,8,9,1,2,4))
) c
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,
count(1) cnt
from SCOTT.SCDATABASE4
WHERE RECORDDATE > TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')
AND ID = :P2_ID
AND RECORDDATE < TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
AND CLASS = 7
group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')
) c7
on (c.mydate = c7.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,
count(1) cnt
from SCOTT.SCDATABASE4
where RECORDDATE > TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')
AND ID = :P2_ID
AND RECORDDATE < TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
AND CLASS = 8
group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')
) c8
on (c.mydate= c8.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,
count(1) cnt from SCOTT.SCDATABASE4
where RECORDDATE > TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')
AND ID = :P2_ID
AND RECORDDATE < TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
AND CLASS = 9
group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')
) c9
on (c.mydate = c9.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,
count(1) cnt
from SCOTT.SCDATABASE4
WHERE RECORDDATE > TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')
AND ID = :P2_ID
AND RECORDDATE < TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
AND CLASS = 1
group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')
) c1
on (c.mydate = c1.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,
count(1) cnt
from SCOTT.SCDATABASE4
WHERE RECORDDATE > TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')
AND ID = :P2_ID
AND RECORDDATE < TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
AND CLASS = 2
group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')
) c2
on (c.mydate = c2.mydate)
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,
count(1) cnt from SCOTT.SCDATABASE4
WHERE RECORDDATE > TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')
AND ID = :P2_ID
AND RECORDDATE < TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
AND CLASS = 4
group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI')
) c4
on (c.mydate = c4.mydate)
order by c.sortseems just
select null,
c.mydate label,
case when gc.CLASS = 7 then gc.cnt end "Rattle",
case when gc.CLASS = 8 then gc.cnt end "Climb",
case when gc.CLASS = 9 then gc.cnt end "Kick",
case when gc.CLASS = 1 then gc.cnt end "Footstep",
case when gc.CLASS = 2 then gc.cnt end "Vehicle",
case when gc.CLASS = 4 then gc.cnt end "Start"
from (select unique
TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,
TO_CHAR(RECORDDATE,' yyyy-mm-dd HH24:MI') as sort
from SCOTT.SCDATABASE4
WHERE RECORDDATE > TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')
AND ID = :P2_ID
AND RECORDDATE < TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
AND (CLASS in (7,8,9,1,2,4))
) c
left join
(select TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI') as mydate,
CLASS,
count(1) cnt
from SCOTT.SCDATABASE4
WHERE RECORDDATE > TO_TIMESTAMP(:P2_DATE,'DD-MON-YYYYHH24:MI:SS')
AND ID = :P2_ID
AND RECORDDATE < TO_TIMESTAMP(:P2_DATE2,'DD-MON-YYYYHH24:MI:SS')
AND CLASS in (7,8,9,1,2,4)
group by TO_CHAR(RECORDDATE,'MM/DD/YY HH24:MI'),CLASS
) gc
on c.mydate = gc.mydate
order by c.sortRegards
Etbin -
Date Picker Result Used in Query for Flash Chart
Hello,
I'm creating a flash chart using an SQL Query. The query uses two date pickers for the beginning and ending date of the data the query returns. For some reason the substitution string for the data pickers do not work and do not return any data. If I hard wire the start and end date to something like '12/01/2008' and '01/31/2009' the query and the flash chart work just fine. When use the string representing the data pickers (:P65_BEGIN_DATE and :P65_END_DATE) the query does not return any data. Is there some problem using substitution strings in queries for flash charts??
For what it's worth here is the query. (Look near the bottom to see where I reference the data pickers):
SELECT 'Link',
to_char(Day, 'Mon DD'),
((Count("Item Number")-Sum("Devaition"))/Count("Item Number"))*100 as "Precentage"
from
(SELECT
to_date(concat(substr(F4140.PICSDJ, 1, length(F4140.PICSDJ)-3)+1900,
substr(F4140.PICSDJ, length(F4140.PICSDJ)-2,3)), 'yyyyddd') as Day,
F4141.PJLITM AS "Item Number",
sum(F4141.PJTQOH) AS "Sum Qty On Hand",
sum(F4141.PJTQCT) AS "Sum Qty Counted",
(decode(sum(F4141.PJTQOH)-sum(F4141.PJTQCT), 0, 0, 1)) as "Devaition"
FROM F4140 INNER JOIN F4141 ON F4140.PICYNO = F4141.PJCYNO
WHERE (((F4140.PICYCS) In ('40','50')) AND ((F4141.PJCCCD)='1'))
GROUP BY to_date(concat(substr(F4140.PICSDJ, 1, length(F4140.PICSDJ)-3)+1900,
substr(F4140.PICSDJ, length(F4140.PICSDJ)-2,3)), 'yyyyddd'), F4141.PJLITM
HAVING to_date(concat(substr(F4140.PICSDJ, 1, length(F4140.PICSDJ)-3)+1900,
substr(F4140.PICSDJ, length(F4140.PICSDJ)-2,3)), 'yyyyddd')
between to_date(:P65_BEGIN_DATE, 'DD-Mon-YYYY') and to_date(:P65_END_DATE, 'DD-Mon-YYYY') )
group by DayI look at the debug output without changing anything and I am not really sure where the two date pickers are being populated. However I do have defaults set up for each datepicker of:
P65_BEGIN_DATE: to_char(sysdate - 30, 'DD-MON-YYYY')
P65_END_DATE: to_char(sysdate, 'DD-MON-YYYY')
and the dates I would expect show up in the date picker.
Also I created a Computation of Before Header type with the following PL/SQL expression:
to_char(sysdate-180, 'DD-MON-YYYY')
and I see the following output when in debug mode:
0.05: Computation point: BEFORE_HEADER
0.05: ...Perform computation of item: P65_BEGIN_DATE, type=PLSQL_EXPRESSION
0.05: ...Session State: Save "P65_BEGIN_DATE" - saving same value: "03-AUG-2008"
0.05: Processing point: BEFORE_HEADER
So I think the datapickers are being populated but the flash chart is still not working. -
Apex 4 - Flash Chart - How to open link in same page
Hi,
I need help in apex flash chart development. I want to open link in same page. Currently it open in new window with existing page intact
I have created a flash chart.
Below are setting
Chart Type 2D line
Series Type : Line
Series siurce : sql query
elect '?p=&APP_ID.:2:&APP_SESSION.::::P2_ORACLESID,P2_CAP_DATE:&P15_ORACLESID.,'||capture_date link,
capture_date,
round(sum(TOTAL_MB)) "Total_MB" ,
round(sum(USED_MB)) "Used_MB" ,
round(sum(FREE_MB)) "Free_MB"
from SST.TABLESPACE_USAGE_HIST
where DBNAME = :P15_ORACLESID
group by capture_date
order by capture_date
Problem: when I run this page, chart is displayed. Now if I click on the series value of chart, it opens page ( '?p=&APP_ID.:2:&APP_SESSION.::::P2_ORACLESID,P2_CAP_DATE:&P15_ORACLESID.,'||capture_date link) It opens page 2 in new window. I want it to open in same window. Am I missing something ? Is this possible ? Is there anything I can change to achive this functionality
Please helpHi All,
I have an issue with Anychart link, can you please help me.
1. I have created HTML region in a page with
<div id="sampleClick">
<div id="sample1">
<script type="text/javascript" language="javascript">
function ChartSample()
var ChartSample = new AnyChart('/i/flashchart_v5/swf/AnyChart.swf');
ChartSample.width = "500";
ChartSample.height = "400";
var ChartData = new htmldb_Get(null,$x('pFlowId').value,
'APPLICATION_PROCESS=FINANCE_020',0);
gReturn = ChartData.get();
// prompt("xml",gReturn);
ChartSample.setData(gReturn);
ChartSample.write("sample1");
ChartSample();
</script>
2. Then created Application process with "On Demand Run this application process when requested by a page process." in PL/SQL Anonymous block
select 'f?p=&APP_ID.:136:&APP_SESSION.::::P33_ID:' || YEAR link,DECODE(period,1,'JAN',2,'FEB',3,'MAR',4,'APR',5,'MAY',6,'JUN',7,'JUL',8,'AUG',9,'SEP',10,'OCT',11,'NOV',12,'DEC')||'-'||year "MONTH",round(SUM(ytd_revenue)/1000000,2) YTD_REV from t_tc_qpcq2052
where cntry='IND' and category='20'
GROUP BY year, period
ORDER BY YEAR, period
I am able to see the chart, but I am not able to open or pass the value from one page to another page when I click the bar chart.
Can you please help me on this.
Thanks in Advance. -
How can I display more than 15 rows in a stacked 3D horizontal flash chart
It seems I cannot display more than 15 rows at a time in a stacked 3D horizontal flash chart.
Any ideas?
Thanks, PierreThe default history length of a chart is 1024. To make it longer is a right click option.
-
How to turn off scrollbars in Flash chart legend
I recently migrated an Apex 3 app over to Apex 4. In the process I upgraded all of the Flash charts as well. Now, I get vertical scrollbars in some of the legends.
How can I turn those scrollbars off? I don't see any settings in the UI and I haven't been able to work out the proper arguments in the XML to do it manually.
Thanks for any pointers!
--jbin ipad
-
I have built a 2D Line Flash chart with 6 series. My problem is that the legend shows the word "Value". Does anyone know how to make the legend display the series name instead.
JeffVarad,
Thank you for your reply but your answer does not appear to be the solution I need. This SQL statement below used in a SVG Chart yields a legend using the series name. The same SQL statemnet used in a Flash Chart yields "Value" as the series name. Why?
<pre>
SELECT NULL link,
to_char (minipay_detail_vw.event_dt, 'YYYY, MM') AS label,
sum (minipay_detail_vw.contract_pay_amt) AS value
FROM [email protected]
WHERE minipay_detail_vw.object_class_cd = '018'
AND to_char (minipay_detail_vw.event_dt, 'YYYYMM') <
to_char (sysdate, 'YYYYMM')
AND financial_organization_cd IN
('1650', '1655', '1660', '1665', '1670')
AND (:p337_fy = '%null%' OR minipay_detail_vw.fiscal_year = :p337_fy)
GROUP BY to_char (minipay_detail_vw.event_dt, 'YYYY, MM')
ORDER BY to_char (minipay_detail_vw.event_dt, 'YYYY, MM')
</pre>
Jeff -
Hi,
Im having a problem with my flash chart legends in Apex3.0.
I have changed the name of the Series to what i want to appear in my legend - however the legend just shows "Value" for all my Series.
Does anyone else have this problem?
Cheers,
ImmanuelHello,
I need a legend like this
No of Clicks('000)
If i give l" No of Clicks('000)" as column alias, chart says Error :No chart data available.
If i give "No of Clicks('000')" or "No of Clicks(''000)" as column alias in the query, it displays the correct legend..
Would anybody tell me how to show the legend like this
No of Clicks('000)
Regards,
Archana -
The flash chart Link not opening in oracle Apex 4.1
I have created a flash chart (Pie chart ) on the latest version 4.2.
Everything is workinfine when I have created a hidden item and associated a computation to it and added that in custom color option in chart attributes
I am able to customize this again in this version
But When I have done same thing in Apex 4.1
I am able to see the output .but When I try to change the color and click on chart attributes it throws an error showing no data found
Kindly help me in solving this error .Hi,
To assist in resolving your issue, could you please outline the steps you've carried out in your 4.1 environment? Also, could you please confirm exactly what version of APEX you are referring to - 4.1.0 or 4.1.1?
Regards,
Hilary -
Flash Chart Legend Not In Capitals
I have created a flash chart based upon a function returning sql. The chart displays fine but the legend column names for some reason are converted to initial capitals from all originally being in capitals, eg "SERIES" now equals "Series". I really need the legend to display all capitals as it is in the sql.
For example:
The function returns a string similar to this .......
select NULL as "LINK",
WEEK as "LABEL",
VALUE1 as "VALUE1,
VALUE2 as "VALUE2"
from MY_TABLE
order by WEEK
When the flash chart is rendered on the page the legend displays the two series values as "Value1" and "Value2". Somehow the chart ignores the capital case of the column names and applies initial capitals only over riding the original case.
There appears to be no over ride for the legend case so where is it coming from ? It shouldn't make any difference but the chart type is a "3D column" style. Not sure if this is a XML question or maybe a Flash Player issue.
Regards,
Jack.I had the same problem.
To fix it:
1. Find a font that is strictly caps. I used Felix Titling.
2. Edit the flash chart & under the chart attributes set USe Custom XML to yes.
3. Scroll down almost to the bottom and find the legend tag.
4. In the font tag for the legend substitute the font you chose.
This will capitalize ALL the letters in the legend.
I don't know how to selectively capitalize letters.
Bob Richards -
Apex 3.1 and Custom Flash Charts
I am having difficulty getting to the point where my custom flash charts can be displayed. I have Oracle 10.2, over OHS to Apex 3.1. I cannot post any of the config files or code here because it is a different network, so I realize it will be hard to troubleshoot; and I apologize in advance.
I would use the canned Flash charts, but my application displays data much like MS Outlook's multi-user calendar does. The chart has to be color coded, similar to Outlook's Busy vs Tentative etc. It has to show multiple events at various times, including overlapping times. And it has to handle schedules for multiple people. Lastly, there are of course gaps in the schedule, because no day is comprised entirely of meetings. That is why I felt I had to do it manually.
I wrote XML/SVG code to do this previously, with HTML DB 1.5, and it worked fine. But Flash is the way we are going now, and I can't use SVG anymore. (Besides, Adobe says SVG will no longer be supported next year.)
I followed the thread of April 07 in which MAdelfio posted suggestions, but I can't get it right. I did everything listed except I never included the <data>...</data> code, because I am not sure where it goes. I have a custom written stored proc, exactly like in the thread, and I pass it all the args that apex_util.flash wants. I get a malformed XML message when I try to display the chart. That seems like it should be a very straight forward error, but I can't figure out where to look. I have been using 1.5 for about a year, and last month upgraded to 3.1.
Any suggestions on how to troubleshoot this? Or, failing that, any simple examples that display Flash charts in which the code was generated by a stored procedure?
Thanks,
MichaelI'm sorry about not being able to provide all the info you need. Since it is on a totally separate network, with no access to the outside world, the only way I can do it is to print and retype everything. So I was hoping that someone could just provide suggestions as to where to look rather than providing answers. I understand that it is impossible for you to solve my problems, especially when you have been given no real information. And I don't want to keep you guessing -- I'd love to be able to just show everything and ask for help; I just can't.
Anyway, I am trying to use only those facilities provided with Apex. I do not have any 3rd party tools except for Perl. I am using the standard shockwave flash plugin for Mozilla. The way I did it with SVG was to create a stored procedure that generated an XML file. I put a button on the page that ran the stored proc and then redisplayed the page, with an HTML region. That region included an iframe, where the source was a perl script that merely regurgitated the SVG script (for some reason I could not get the iframe to accept XML as a source, so I created send_svg.pl, which merely outputted the named SVG file).
The format I followed was in this thread: Re: Custom Flash Charts
I even created a replacement proc for APEX_UTIL.FLASH with the exact output as the thread, knowing that even if it worked I'd still have a ton of work making it produce my chart. But once I can get the infrastructure right, I feel I can write the flash XML.
Maybe the easiest thing is to scan that thread I referenced and tell me if it is still accurate? That is, could anything have changed in 3.0.1, or should it still work? It is possible, maybe even likely, that I made a mistake retyping all that stuff, so maybe just verifying that it SHOULD work is a good start.
Thanks again, and sorry again.
Michael -
APEX 3.0 - flash chart using 'Omit label interval'- missing lines in legen
Hi,
we are using APEX 3.0 on XE as development database.
Using the option "omit label interval" in the flash chart configuration, the legend will show the entries the same way as the x-axis.
For example:
setting omit label interval to 23 to get only one entry per day on the x-axis (we have one value for every hour of the day and want to display the chart on monthly base). My chart containing 2 series will show only the legend entry for the first serie.
How can I display the second one ?
Greetings
MarcoMarco,
Unfortunately, that's a bug in APEX 3.0. The 3.0.1 patch set will include a fix for it.
Marco -
Error while creating the Flash Chart
Hi ,
While creating the Flash Chart i got the following error..
Error Item ID (4789301958029267) is not an item defined on the current page.
What does it mean????
My Chart Series is:
SELECT NULL LINK, DISTRIBUTOR, CLGASSETS, FOLIOS FROM (
select NULL Link, distributor,SUM(Clgassets) Clgassets,SUM(folios) FOLIOS from (
select Month,distributor,
clgassets,sales,red,trxns,folios,
row_number() over(partition by SchType order by clgassets desc) rn,
dense_rank() over(partition by SchType order by clgassets desc) den_rank
from(
Select Month,
Scheme_type SchType,
Broker Distributor,
sum(CLGASSETS) CLGASSETS,
sum(SALES) SALES,
sum(RED) RED,
sum(TRXNS) TRXNS,
sum(FOLIOS) FOLIOS
from TABLE
MFDEX_TOPN_QUERY_PKG.TOPN_REPORT_QUERY
'OWNPERF',
:p_amc_code,
'X',
'X',
:p6001_month,
'X',
'X',
'X'
) op where instr(':'||:P6001_schtype||':',':'||scheme_type||':') > 0
group by Month, Scheme_type,Broker
order by CLGASSETS DESC)
order by clgassets desc)
where den_rank<=5
GROUP BY DISTRIBUTOR
ORDER BY Clgassets DESC)
WHERE ROWNUM<=5Help me out to clear this error.
Cheers,
Shan.Hi Sa'ad
Its been a little while since I used Web Analysis but I remember that there are issues if you have more than 1 dimension in rows or columns. What I cannot remember is whether it automatically shifts a dimension to the page or whether as you suggest it just doesn't display.
Pie charts can only display data from two dimensions (1 rows, 1 columns), you can filter using dimensions on pages. If that doesn't give you what you need then I'm afraid you need to stick to a different chart type.
Hope this helps
Stuart
Maybe you are looking for
-
5D Mark II raw files image quality
Anyone out there using Aperture to convert their 5D2 raw files? I am trying to but I am having image quality problems. This is a surprise coming from Aperture, which for Sony raw files has produced stunning quality for me in the past. It leads me to
-
Why won't the iPhone 5 stream live radio?
I had a 4 that was stolen. While it wasn't perfect in the radio streaming department, (it cut out then without rhyme or reason would stream for longer periods), the iphone 5 is the WORST!! At most I get 4, or 7 or at most 10 minutes of content then *
-
HCM Process & Forms: Date & Time Stamp issue in Prev Comments Box
Hi We implemented HCM Process and Forms and we are in EHP4. We need user name, date and time stamp in each step for audit purpose. Form Process Example: Step1: Manager -> Initiates a Form for employee pay/position changes (REQUEST) Step2: 1-Up Mana
-
VPRS shows no Value with Split Valuation - Valuation Category X
After configuring Split Valuation - Valuation Category X (http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=193693045) VPRS is no longer showing any Value in the Sales Order. I have assigned a Batch in the Sales Order and tried to Deliver and
-
While customizing accounts, the user found that certain document numbers are not appearing or are missing. For example, number range 17 is assigned to document type KA, which has the range 1700000000 - 1799999999 valid up to 9999. The current status