Coldfusion 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

我正在运行以下查询,在运行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 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轴上的所有标签。你需要和我一起玩。