Ich versuche, die durchschnittliche Abfragezeit durch Summe (Abfragezeiten) zu berechnen und sie dann durch eine Zählung zu teilen. Wie kann ich die Zählung bekommen?Crossfilter durchschnittliche Gruppe
Antwort
Ich bin nicht vertraut mit Crossfilter, nur damit begonnen, damit zu spielen. Es gibt möglicherweise einen besseren Weg, aber dies bietet eine Möglichkeit, die Anzahl der für die Gruppierung verwendeten Dimension (en) zu berechnen (ich bin nicht 100% klar, dass d.count auf die Anzahl der Dimension verweist, die für die Gruppierung verwendet wird) eine andere Gruppierung, falls erforderlich).
Beispiel aus dem Code abgeleitet unter: https://github.com/square/crossfilter/wiki/API-Reference
var payments = crossfilter([
{date: "2011-11-14T16:17:54Z", quantity: 2, total: 190, tip: 100, type: "tab"},
{date: "2011-11-14T16:20:19Z", quantity: 2, total: 190, tip: 100, type: "tab"},
{date: "2011-11-14T16:28:54Z", quantity: 1, total: 300, tip: 200, type: "visa"},
{date: "2011-11-14T16:30:43Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T16:48:46Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T16:53:41Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T16:54:06Z", quantity: 1, total: 100, tip: 0, type: "cash"},
{date: "2011-11-14T16:58:03Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T17:07:21Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T17:22:59Z", quantity: 2, total: 90, tip: 0, type: "tab"},
{date: "2011-11-14T17:25:45Z", quantity: 2, total: 200, tip: 0, type: "cash"},
{date: "2011-11-14T17:29:52Z", quantity: 1, total: 200, tip: 100, type: "visa"}
]);
var paymentsByType = payments.dimension(function(d) { return d.type; }),
paymentVolumeByType = paymentsByType.group(),
counts = paymentVolumeByType.reduceCount().all(),
countByType = {};
// what is returned by all is a pseudo-array. An object that behaves like an array.
// Trick to make it a proper array
Array.prototype.slice.call(counts).forEach(function(d) { countByType[d.key] = d.value; })
var paymentVolumeByType = paymentVolumeByType.reduceSum(function(d, i) {
console.log(d.total, d.type, countByType[d.type])
return d.total/countByType[d.type];
});
// accessing parentVolumeByType to cause the reduceSum function to be called
var topTypes = paymentVolumeByType.top(1);
Ich denke, ein besserer (und die beabsichtigte) Weg, dies zu tun ist, indem Sie Ihre eigenen reduzieren Funktionen definieren (Hinzufügen, Entfernen, initial). Sie können dann Ihre laufende Summe, Anzahl usw. innerhalb der Reduzierungsfunktionen speichern und sie entsprechend anpassen, wenn die Filter & Daten aus der Gruppe entfernen.
Ein Beispiel hierfür mit Mitteln tun und mit min & max sind in dieser ähnlichen Frage gegeben: Using Crossfilter, is it possible to track max/min when grouping?
- 1. Mongo durchschnittliche Aggregationsanfrage ohne Gruppe
- 2. Single Crossfilter Dimension und Gruppe auf zwei Spalten?
- 3. Crossfilter reductio post cap
- 4. Crossfilter Row-Chart Zählfunktion
- 5. Crossfilter und Highcharts
- 6. Warum ist das in Crossfilter so?
- 7. Durchschnittliche Befehlszeit
- 8. Durchschnittliche Ausführungszeit
- 9. Arbeiten mit Filtern in Crossfilter
- 10. Crossfilter mit DC.js Choropleth Karte
- 11. Composite Graph aus Crossfilter Beispiel
- 12. d3 + crossfilter: Datumsachse rendert Pixelthinknöpfe
- 13. Crossfilter/dc.table Sortierung nach Zeitstempel
- 14. Crossfilter: wie zu entfernen oder zu filtern Werte aus der Gruppe
- 15. Aufnahme einzelner Durchschnitt und kumulative durchschnittliche und höchste durchschnittliche Punktzahl
- 16. Durchschnittliche Gleitzahl in Assembly
- 17. LINQ Durchschnittliche Zeitspanne?
- 18. PerformanceCounterType für durchschnittliche Zeit
- 19. SQL durchschnittliche Zeit
- 20. Excel Durchschnittliche Geschwindigkeit finden
- 21. Numpy durchschnittliche Funktion Rundungsfehler
- 22. Wie durchschnittliche Zeitintervalle?
- 23. Durchschnittliche Downloadgeschwindigkeit für Benutzer
- 24. Computing durchschnittliche Rastergröße
- 25. Linq durchschnittliche Anzahl Syntax
- 26. Elasticsearch, durchschnittliche Dokumentlänge erhalten
- 27. Mehrere bedingte durchschnittliche Python
- 28. Crossfilter - So finden Sie min/max
- 29. Filter für mehrere diskrete Werte im Crossfilter
- 30. Ändern der Balkenbreite in D3 Crossfilter Beispiel
Der Kommentar unterhalb die beabsichtigte Art und Weise, dies zu erreichen. –