Saltar al contenido

Uso de filtro cruzado para devolver resultados dinámicamente en JavaScript

Haz todo lo posible por entender el código correctamente antes de adaptarlo a tu proyecto y si ttienes algo que aportar puedes dejarlo en la sección de comentarios.

Solución:

Podrías crear una dimensión para cada attribute y luego llame al método de filtro de cada dimensión con los criterios de filtro correspondientes que indicó, así.

var payments_by_quantity = payments.dimension(function(d)return d.quantity),
    payments_by_total = payments.dimension(function(d)return d.total),
    payments_by_tip = payments.dimension(function(d)return d.tip),
    payments_by_type = payments.dimension(function(d)return d.type);

payments_by_quantity.filter([1, Infinity]);
payments_by_total.filter(90);
payments_by_tip.filter(0);
payments_by_type.filter("tab");

payments_by_type.top(Infinity)

Los efectos son acumulativos, por lo que la última línea es en realidad el resultado de todos los valores respetando todos los filtros de todas las dimensiones.

Encontré la respuesta anterior precisa pero inexacta para mí como principiante, es decir, no obtuve resultados inesperados (sin faltarle el respeto, slo-jo, pero estoy escribiendo desde una perspectiva de principiante ya que soy una nube de filtro cruzado). Los problemas son la necesidad de borrar los filtros antes de llamar a algunos filtros (necesitará expandir el conjunto de datos con más variedad, por ejemplo, diferentes consejos, totales, etc. para ver a qué me refiero). La salida a la consola me ayuda.

Esto es lo que ayuda a mi comprensión:

    var data = [
  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: 222, total: 990, 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: 5, 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: 990, 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"
];




¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *