Coldfusion CFChart标签消失
我正在运行以下查询,在运行SECONDCONN的QoQ之后,我在cfchart中没有得到所需的输出Coldfusion CFChart标签消失,coldfusion,coldfusion-8,cfchart,Coldfusion,Coldfusion 8,Cfchart,我正在运行以下查询,在运行SECONDCONN的QoQ之后,我在cfchart中没有得到所需的输出 <!--- QoQ for FIRSTCONN ---> <!--- Master Query ---> <cfquery datasource = "XX.XX.X.XX" name="master1"> SELECT STR_TO_DATE(date_format(Timedetail,'%m-%d-%Y'),'%m-%d-%Y') as FIRS
<!--- QoQ for FIRSTCONN --->
<!--- Master Query --->
<cfquery datasource = "XX.XX.X.XX" name="master1">
SELECT STR_TO_DATE(date_format(Timedetail,'%m-%d-%Y'),'%m-%d-%Y') as FIRSTCONN
, COUNT(Timedetail) as FIRSTOccurances
, EVENTS
FROM MyDatabase
WHERE EVENTS = "FIRST"
GROUP BY FIRSTCONN ;
</cfquery>
<!--- Detail Query --->
<!--- <cfdump var = "#master#"> --->
<cfquery dbtype="query" name="detail1">
SELECT *
FROM master1
WHERE FIRSTCONN >= <cfqueryparam value="#form.startdate#" cfsqltype="cf_sql_varchar">
AND FIRSTCONN < <cfqueryparam value="#dateAdd('d', 1,form.enddate)#" cfsqltype="cf_sql_varchar">;
</cfquery>
<!--- QoQ for SECONDCONN --->
<!--- Master Query --->
<cfquery datasource = "XX.XX.X.XX" name="master2">
SELECT STR_TO_DATE(date_format(Timedetail,'%m-%d-%Y'),'%m-%d-%Y') as SECONDCONN
, COUNT(Timedetail) as SECONDOccurances
, EVENTS
FROM MyDatabase
WHERE EVENTS = "SECOND"
GROUP BY SECONDCONN ;
</cfquery>
<!--- Detail Query --->
<!--- <cfdump var = "#master#"> --->
<cfquery dbtype="query" name="detail2">
SELECT *
FROM master2
WHERE SECONDCONN >= <cfqueryparam value="#form.startdate#" cfsqltype="cf_sql_varchar">
AND SECONDCONN < <cfqueryparam value="#dateAdd('d', 1,form.enddate)#" cfsqltype="cf_sql_varchar">;
</cfquery>
<cfchart format="flash" chartwidth="1000" chartheight="500" scalefrom="0" scaleto="50000" xAxisTitle="Dates" yaxistitle="Number of Connections">
<cfchartseries query="detail1" type="line" itemColumn="FIRSTCONN" valueColumn="FIRSTOccurances" >
<cfchartseries query="detail2" type="line" itemColumn="SECONDCONN" valueColumn="SECONDOccurances" >
</cfchartseries>
</cfchart>
第二次查询的cfdump如下:
<cfchart format="flash"
chartwidth="1000"
chartheight="500"
scalefrom="0"
scaleto="50000"
xAxisTitle="Date"
yaxistitle="Number of Connections"
showLegend = "yes"
showMarkers = "yes"
sortXAxis= "yes"
tipStyle="MouseDown"
>
<cfchartseries query="detail2" type="line" itemColumn="SECONDCONN " valueColumn="SECONDOccurances" >
</cfchartseries>
</cfchart>
query
RESULTSET
query
SECONDCONN SECONDOCCURANCES EVENTS
1 {ts '2013-06-24 00:00:00'} 556 SECOND
2 {ts '2013-06-25 00:00:00'} 2710 SECOND
3 {ts '2013-06-26 00:00:00'} 2854 SECOND
4 {ts '2013-06-27 00:00:00'} 6348 SECOND
5 {ts '2013-06-28 00:00:00'} 4285 SECOND
6 {ts '2013-06-29 00:00:00'} 2843 SECOND
7 {ts '2013-06-30 00:00:00'} 875 SECOND
8 {ts '2013-07-01 00:00:00'} 4033 SECOND
9 {ts '2013-07-02 00:00:00'} 3211 SECOND
10 {ts '2013-07-03 00:00:00'} 2882 SECOND
11 {ts '2013-07-04 00:00:00'} 978 SECOND
12 {ts '2013-07-05 00:00:00'} 1727 SECOND
13 {ts '2013-07-06 00:00:00'} 811 SECOND
14 {ts '2013-07-07 00:00:00'} 522 SECOND
15 {ts '2013-07-08 00:00:00'} 2556 SECOND
16 {ts '2013-07-09 00:00:00'} 1160 SECOND
17 {ts '2013-07-10 00:00:00'} 8580 SECOND
18 {ts '2013-07-11 00:00:00'} 2630 SECOND
19 {ts '2013-07-16 00:00:00'} 12 SECOND
如果我能回答更多问题,请告诉我。在没有看到查询数据转储的情况下,我猜图表引擎可能已经决定在x轴上合理显示太多的值。(我测试了你的代码,它与CF9配合得很好)。尝试使用较小的日期范围,然后查看日期标签是否重新出现。如果是这样的话,你可能需要得到一个更好的适合。以下是一些相关的样式设置
- -隐藏/显示重叠的标签
-调整以显示每个skipLabels
标签,而不是所有标签n
-标签方向(水平或垂直)方向
<cfset detail1 = queryNew("")>
<cfset queryAddColumn(detail1, "FIRSTCONN", "date", listToArray("2013-07-31,2013-08-15,2013-08-17"))>
<cfset queryAddColumn(detail1, "FIRSTOccurances", listToArray("3,5,6"))>
<cfset detail2 = queryNew("")>
<cfset queryAddColumn(detail2, "SECONDCONN", "date", listToArray("2013-08-10,2013-08-18,2013-08-20"))>
<cfset queryAddColumn(detail2, "SECONDOccurances", listToArray("4,10,8"))>
<cfchart format="flash" xAxisTitle="Dates" yaxistitle="Number of Connections">
<cfchartseries query="detail1" type="line" itemColumn="FIRSTCONN" valueColumn="FIRSTOccurances" />
<cfchartseries query="detail2" type="line" itemColumn="SECONDCONN" valueColumn="SECONDOccurances" />
</cfchart>
QoQ速度更快,这就是我使用它的原因
老实说,这不是处理运行缓慢的查询的好方法。优化数据库查询的最佳位置是在数据库中。花时间检查查询计划,找出瓶颈,添加适当的索引,等等。通过使用QoQ,您将收回大量最终被丢弃的额外数据,从而产生大量额外的网络o/h。更不用说构建新结果集所需的内存了。它浪费了大量的资源,无法很好地扩展
(也就是说,我相信您已经打开了一个关于查询速度的单独线程。因此,我不会再混合问题,而是将该对话留给您的另一个线程。)当我更改显示折线图的顺序时,问题得到了解决。我的意思是,我以以下方式以递增顺序展示:
<cfchartseries query="detail1" type="line" itemColumn="FIRSTCONN" valueColumn="FIRSTOccurances" >
<cfchartseries query="detail2" type="line" itemColumn="SECONDCONN" valueColumn="SECONDOccurances" > and so on till seventh connection.
依此类推,直到第七次换乘。
当我开始以递减方式显示时,如下所示:
<cfchartseries query="detail7" type="line" itemColumn="SEVENTHCONN" valueColumn="SEVENTHOccurances" >
<cfchartseries query="detail6" type="line" itemColumn="SIXTHCONN" valueColumn="SIXTHOccurances" > and so on till FIRST CONNECTION
依此类推,直到第一次连接
问题已解决,但我不确定其背后的原因。我们需要查看用于图表的查询转储,以帮助处理#1。发布屏幕截图也不会有什么坏处。问题2应单独发布。提示:首先请阅读文档,特别是url属性。@Leigh我已经附加了图片并更新了我的帖子。请看一看。正如您所看到的,第二张图像中的日期在2013-07-10之后停止显示,这不是真正的代码,因为名为“detail”的查询没有定义。更不用说,您两次绘制“详细信息”查询图表。。。你能在屏幕截图中发布生成图表的实际代码吗?另外,您使用QoQ而不是在数据库查询中进行筛选是否有原因。@Leigh我为您的混淆道歉。我已经更新了代码。我现在正在使用detail1和detail2。发布的代码是现在的实际代码。我试着只对FIRSTCONN运行查询,同时对所有其他Qoq(对于SECONDCONN、THIRDCONN)进行长时间的注释,效果很好。然而,当我试图提及SECONDCONN和更多时,标签开始消失。我的约会范围是长是短并不重要。另外,由于我使用的是Coldfusion 8,您刚才提到的链接,也就是Coldfusion 9的链接,对我有用吗?还有,为什么x轴会自动绘制日期,尽管我在代码中没有明确提到任何内容?那么您如何定义“短日期范围”?有多少张唱片?它可以与CF9配合使用。(稍后我将在CF8下进行测试)您可以尝试上面更新的示例吗?关于链接,链接中的图表工具自MX7以来一直存在。唯一的区别是它在以后的版本中有更多的功能。嘿,测试代码在两个折线图上运行良好。两个折线图一直显示到最后。是的,就像我说的,可能是你尝试的数据量的问题。很可能发动机无法安装x轴上的所有标签。你需要和我一起玩。