来自 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>
我正在尝试在电子邮件中插入一个图表,该图表将随时间绘制多个系列的数据。电子邮件工作正常,图表附加成功,但我生成图表的方式有问题。
我正在尝试做的事情: 遍历查询结果,按 '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>