我正试图在电子邮件中插入一个图表,这将在一段时间内绘制多个系列的数据。电子邮件工作正常,图表连接成功,但我是如何生成图表出了问题。
我试图做的事情:循环通过查询结果,按‘地区描述’分组(为每个地区创建一个系列),然后为每个区域生成一个数据点。
下面是我试图绘制的查询结果的示例:

每六个月的六个“地区”都有一个条目。
这是我在网上找到的代码,我一直在尝试使用。
<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,这是数据集中六个月中的第一个。所有36个左右的数值似乎都是在这个月的y轴上填充。
我希望看到的是这样的东西:

我最后得到的结果是:

任何人能提供的任何帮助都将不胜感激。非常感谢。
发布于 2018-06-03 00:50:59
<cfloop query="HISTORY_CHART" group="TERRITORY_DESC">
我猜“组”没有像预期的那样工作,因为查询数据没有正确排序。
cfloop文档没有充分强调的是,“组”特性要求按照与"group“语句相同的顺序对查询数据进行排序。如果按不同的列(例如"Rpt_Mth")排序,并且cfloop按"Territory_Desc“分组,则不会得到预期的输出。
确保sql查询按组"Territory_Desc“中使用的同一列排序。那么图表应该会正确地生成。
<cfquery ...>
SELECT Adherence_Pct,Rpt_Mth,Territory_Desc
FROM TableName
ORDER BY Territory_Desc
</cfquery>https://stackoverflow.com/questions/50652530
复制相似问题