来自 QoQ 的 Coldfusion 制图多个系列

Coldfusion Charting Multiple Series from QoQ

我正在尝试在电子邮件中插入一个图表,该图表将随时间绘制多个系列的数据。电子邮件工作正常,图表附加成功,但我生成图表的方式有问题。

我正在尝试做的事情: 遍历查询结果,按 'territory description' 分组(为每个地区制作一个系列),然后生成一个数据每个月每个地区的积分。

这是我尝试绘制的查询结果示例:

每个六个月都有一个条目 'territories'。

这是我一直在尝试使用的在网上找到的代码。

 <cfchart
        format="png"
        name="marketADH"
        xAxisTitle="Month"
        yAxisTitle="% Adherence"
        chartHeight = "500"    
        chartWidth = "500" 
        scalefrom="60"
        scaleto="90"
        font="Arial"
        gridlines="10"
        showXGridlines="no"
        showYGridlines="no"
        showborder="no"
        show3d="no" 
        showlegend="yes"
        sortxaxis="no"
        showmarkers="yes" 
 > 



 <cfloop query="HISTORY_CHART" group="TERRITORY_DESC"> 
      <!---- this part of the code will run ONCE for each territory ---->

   <cfchartseries 
     type="curve"
     paintStyle="plain"
     seriesLabel="#HISTORY_CHART.TERRITORY_DESC#">

     <cfloop>
         <!----- this part of the code will run once for every record for the territory  ------>
         <cfchartdata item="#HISTORY_CHART.RPT_MTH#" value="#HISTORY_CHART.ADHERENCE_PCT#">
     </cfloop>

   </cfchartseries>

  </cfloop>

 </cfchart>

结果: 图表正在生成并附加在电子邮件中,但只有一个月的值 - 12/01/2017,这是 6 个月中的第一个数据集。本月所有 36 个左右的值似乎都填充在 y 轴上。

我希望看到的是这样的:

我最后得到的是:

任何人都可以提供任何帮助,我们将不胜感激。非常感谢。

<cfloop query="HISTORY_CHART" group="TERRITORY_DESC">

我猜 "group" 没有按预期工作,因为查询数据没有正确排序。

cfloop documentation 几乎没有强调的是 "group" 功能要求查询数据按 与 "group" 语句相同的顺序排序( s)。如果它按不同的列排序(例如 "Rpt_Mth")并且 cfloop 按 "Territory_Desc" 分组,您将不会获得预期的输出。

Sorted vs Unsorted example on TryCF.com

确保 sql 查询按 、"Territory_Desc" 中使用的相同列排序。然后图表应该正确生成。

<cfquery ...>
  SELECT Adherence_Pct,Rpt_Mth,Territory_Desc 
  FROM   TableName 
  ORDER BY Territory_Desc 
</cfquery>