Coldfusion cfchart 堆叠顺序

标签 coldfusion stacked cfchart

我有几个查询可以提取数据以在图表中使用。

<cfquery name='clusterPrivateReferrals'  dbtype="query">
SELECT organisationName, count(messageID)*1000/listSize as msgCount
FROM clusterReferrals
WHERE datecreated>#refRateStartDate#
AND refTypeID=3
GROUP BY organisationName, listSize
</cfquery>

<cfquery name='clusterNHSReferrals'  dbtype="query">
SELECT organisationName, count(messageID)*1000/listSize as msgCount
FROM clusterReferrals
WHERE datecreated>#refRateStartDate#
AND refTypeID<>3
GROUP BY organisationName, listSize
</cfquery>

图代码为

<cfchart format="flash" title="Cluster referrals per 1000 patients from #dateformat(refRateStartDate, 'dd-mmm-yy')#" chartWidth="470" chartHeight="380" fontSize="12" style="chart.xml" seriesPlacement = "stacked" showLegend = "yes">
    <cfchartseries type="bar" seriescolor="##FFD800" seriesLabel="Private" query="clusterPrivateReferrals" valueColumn="msgCount" ItemColumn="organisationName">
    </cfchartseries>
    <cfchartseries type="bar" seriescolor="##F47D30" seriesLabel="NHS" query="clusterNHSReferrals" valueColumn="msgCount" ItemColumn="organisationName">
    </cfchartseries>
</cfchart>

这给了我下面的图表

alt text

如何让显示的数据按堆叠元素的总数排序?

@本

这让我走上了正轨,我以前不知道 QOQ 可以组合 2 个完全不同的查询

<cfquery name='clusterPrivateReferrals'  dbtype="query">
SELECT organisationName, count(messageID)*1000/listSize as privateRate
FROM allReferrals
WHERE datecreated>#refRateStartDate#
AND refTypeID=3
GROUP BY organisationName, listSize
</cfquery>

<cfquery name='clusterNHSReferrals'  dbtype="query">
SELECT organisationName, count(messageID)*1000/listSize as nhsRate
FROM allReferrals
WHERE datecreated>#refRateStartDate#
AND refTypeID<>3
GROUP BY organisationName, listSize
</cfquery>

<cfquery name="stackOrder" dbtype="query">
    select clusterPrivateReferrals.privateRate,
        clusterNHSReferrals.nhsRate,
        clusterPrivateReferrals.organisationName,
        (clusterPrivateReferrals.privateRate + clusterNHSReferrals.nhsRate) as totalRate
    from clusterPrivateReferrals, clusterNHSReferrals
    WHERE clusterNHSReferrals.organisationName = clusterPrivateReferrals.organisationName
    order by totalRate desc
</cfquery> 

最佳答案

最简单的方法是使用 QofQ:

<cfquery name="stackOrder" dbtype="query">
    select clusterPrivateReferrals.msgCount as privateReferrals,
        clusterNHSReferrals.msgCount as NHSReferrals,
        clusterPrivateReferrals.organizationName
    from clusterPrivateReferrals
    join clusterNHSReferrals on clusterNHSReferrals.organizationName = clusterPrivateReferrals.organizationName
    order by (privateReferrals+privateReferrals) desc
</cfquery>

我没有对此进行测试,因此您可能需要稍微调整一下。

现在,您应该能够将两个 Referrals 列用作图表的数据列。

关于Coldfusion cfchart 堆叠顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3851477/

相关文章:

coldfusion - 在 cfinclude 文件中使用相对路径

jquery - 交互式图表 - Coldfusion 还是 jQuery?

coldfusion - 如何更改 CFCHART 标题字体?

coldfusion-11 - 如何访问条形图中的柱形/条形总计?

Coldfusion - .cfm 文件在服务器上存在时找不到

perl - Coldfusion 加密和 Perl 解密

javascript - 使用 SerializeJSON 防止 ColdFusion 将字符串转换为数字

r - 在 R 中为堆叠直方图创建条形边框

R图形: Add labels to stacked bar chart