coldfusion - 来自 QoQ 的 Coldfusion 图表多个系列
问题描述
我正在尝试在电子邮件中插入一个图表,该图表将随着时间的推移绘制多个系列的数据。电子邮件工作正常,图表成功附加,但我生成图表的方式有问题。
我正在尝试做的事情:遍历查询结果,按“地区描述”分组(为每个地区制作一个系列),然后为每个地区的每个月生成一个数据点。
这是我试图绘制的查询结果的示例:
每个六个月的六个“领土”都有一个条目。
这是我在网上找到的代码,我一直在尝试使用。
<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>
结果:图表正在生成并附加在电子邮件中,但只有一个月份值 - 2017 年 12 月 1 日,这是数据集中六个月中的第一个。本月所有 36 个左右的值似乎都填充在 y 轴上。
我期望看到的是这样的:
我最终得到的是:
任何人都可以提供的任何帮助将不胜感激。非常感谢。
解决方案
<cfloop query="HISTORY_CHART" group="TERRITORY_DESC">
我猜“组”没有按预期工作,因为查询数据没有正确排序。
cfloop文档没有充分强调的是“组”功能要求查询数据按照与“组”语句相同的顺序排序。如果它按不同的列排序(例如“Rpt_Mth”)并且 cfloop 按“Territory_Desc”分组,您将不会获得预期的输出。
确保 sql 查询按组中使用的同一列“Territory_Desc”进行排序。然后图表应该正确生成。
<cfquery ...>
SELECT Adherence_Pct,Rpt_Mth,Territory_Desc
FROM TableName
ORDER BY Territory_Desc
</cfquery>
推荐阅读
- python - 如何通过标点符号插入空格?
- c# - C# Core MVC 如何将自定义 URL 应用于控制器操作
- postgresql - 使用 Windows 在 PostgreSQL 上构建 set_user 扩展模块
- python - 使用python从网站下载多个pdf文件时出错
- javascript - 根据布尔值更新按钮类型
- java - 我是否必须清理不再使用的对象内的列表?
- google-sheets-formula - Google 表格查询无法比较例如 Jan2020 与 Dec2019
- reactjs - AXIOS 在新窗口中获取 API 响应
- python - 在烧瓶神社中打印层次结构python字典
- security - 安全漏洞 springfox-swagger2-3.0.0.jar