Ich habe viel Mühe beim Erstellen der Summe meiner Prozent Spalte, die scheint, als wäre es einfach, da es 100% ist, wenn alle Zweige angezeigt werden. Aber ich muss die Gleichung für die Zeiten herausfinden, in denen alle Zweige nicht gezeigt werden. In der Abbildung unten wird jeder Verzweigungsprozentsatz anhand der Anzahl der von diesen Standorten verarbeiteten Checklisten berechnet, dividiert durch die Gesamtzahl der Checklisten. Leider kann ich nicht herausfinden, wie man einfach "schreibt", indem man einfach die Summe der prozentualen Spalte hinzufügt und in der gesamten Spalte anzeigt. Jede Hilfe würde sehr geschätzt werden.CF-Summe der Prozentspalte
<cfset result = {} />
<cftry>
<cfquery datasource="#application.dsn#" name="GetLocationInfo">
SELECT *
FROM cl_checklists
</cfquery>
<cfquery name="allLocCode" dbtype="query">
SELECT DISTINCT trans_location, COUNT(*) AS locationCount FROM GetLocationInfo Where trans_location is not null GROUP BY trans_location ORDER BY trans_location
</cfquery>
<cfcatch type="any">
<cfset result.error = CFCATCH.message >
<cfset result.detail = CFCATCH.detail >
</cfcatch>
</cftry>
<cfset columnSum = ArraySum(allLocCode['locationCount'])>
<table border="1" id="Checklist_Stats">
<thead>
<th><strong>Location</strong></th>
<th><strong>Percent of Total Checklists</strong></th>
<th><strong>Location Total</strong></th>
</thead>
<tbody>
<cfloop query="allLocCode">
<cfset thisLocationName = trim(allLocCode.trans_location) />
<cfquery name="allLocCodeForLocationQry" dbtype="query">
SELECT trans_location,count(*) AS locCntr FROM GetLocationInfo WHERE trans_location='#thisLocationName#' GROUP BY trans_location ORDER BY trans_location
</cfquery>
<cfoutput query="allLocCodeForLocationQry">
<tr>
<td><strong>#thisLocationName#</strong></td>
<td>#NumberFormat((allLocCodeForLocationQry.locCntr/columnSum) * 100, '9.99')#%</td>
<td>#allLocCodeForLocationQry.locCntr#</td>
</tr>
</cfoutput>
</cfloop>
<cfdump var="#allLocCodeForLocationQry.locCntr#">
<tr>
<td><strong>Total</strong></td>
<td></td>
<td><cfoutput>#columnSum#</cfoutput></td>
</tr>
</tbody>
</table>
nicht sicher, wie ich die Summe dieses nicht erhalten: <td>#NumberFormat((allLocCodeForLocationQry.locCntr/columnSum) * 100, '9.99')#%</td>
Dies ist, was ich versuche zu vermitteln, aber einfacher und effizienter zu gestalten. @Beginner ist wahrscheinlich eher wie Experte. – TRose
das löst es im Grunde nur, wie zeige ich die 2 Dezimalpunkte? Können Sie gleichzeitig Zahlenformat und Arraysum verwenden? –
@DavidBrerton ja, du kannst. – Beginner