Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola a todos,
necesitaría crear un gráfico funnel según el siguiente ejemplo:

La dimensión sería el campo 'Metric' que defino en el script de la forma siguiente:
Metrics_1:
LOAD * INLINE [
Metric, Expression
METRIC_1, (Count({<$(vSetMETRIC_1)>}PHONE)-Count({<$(vSetMETRIC_2)>}PHONE))/Count({<$(vSetMETRIC_1)>}PHONE)
METRIC_2, (Count({<$(vSetMETRIC_2)>}PHONE)-Count({<$(vSetMETRIC_3)>}PHONE))/Count({<$(vSetMETRIC_1)>}PHONE)
METRIC_3, (Count({<$(vSetMETRIC_3)>}PHONE)-Count({<$(vSetMETRIC_4)>}PHONE))/Count({<$(vSetMETRIC_1)>}PHONE)
METRIC_4, (Count({<$(vSetMETRIC_4)>}PHONE)-Count({<$(vSetMETRIC_5)>}PHONE))/Count({<$(vSetMETRIC_1)>}PHONE)
METRIC_5, Count({<$(vSetMETRIC_5)>}PHONE)/COUNT({<$(vSetMETRIC_1)>}PHONE)
];
Las variables set ya las tengo definidas en el script pero no se cómo utilizar las expresiones en el gráfico.
Agradecería cualquier ayuda o sugerencia.
Un saludo,
Mi estructura de datos es diferente, ya que no dispongo de campos como Accion, Modo o Resultado, si no que tengo un código de finalización de cada acción.
Para contabilizar las acciones utilizo una serie de variables preparadas para el conteo con expresiones set.
Al final he resuelto el tema mediante:
- Una dimensión calculada (tal y como me habías sugerido):
=ValueList('Acciones finalizadas positivas con venta', 'Resto acciones finalizadas positivas', 'Resto acciones finalizadas', 'Resto acciones')
- Una expresión usando las funciones Pick y Match:
pick(match(
ValueList('Acciones finalizadas positivas con venta', 'Resto acciones finalizadas positivas', 'Resto acciones finalizadas', 'Resto acciones')
,'Acciones finalizadas positivas con venta', 'Resto acciones finalizadas positivas', 'Resto acciones finalizadas', 'Resto acciones'
)
,Count({<$(vSet_Sales_Positive_Ended_Actions)>}Action_ID)/Count(Action_ID)
,(Count({<$(vSet_Positive_Ended_Actions)>}Action_ID)-Count({<$(vSet_Sales_Positive_Ended_Actions)>}Action_ID))/Count(Action_ID)
,(Count({<$(vSet_Ended_Actions)>}Action_ID)-Count({<$(vSet_Positive_Ended_Actions)>}Action_ID))/Count(Action_ID)
,(Count(Action_ID)- Count({<$(vSet_Ended_Actions)>}Action_ID))/Count(Action_ID)
)
Muchas gracias Joaquín, tu sugerencia me ha marcado el camino correcto para solucionarlo!
Un saludo
Hola Alex.Millan:
Un funnel necesita una dimensión y una expresión, opcionalmente una segunda expresión puede aportar datos en forma de texto emergente.
No entiendo si quieres mantener una dimensión analizando diferentes expresiones, o si quieres analizar la misma expresión para diferentes dimensiones.
Puedes intentar explicar un poco más el objetivo
Saludos,
Joaquín
Gracias Joaquín Lázaro,
como caso ficticio, imagina que tenemos un conjunto de acciones efectuadas y se distribuyen de la siguiente manera:
- Acciones:
- No finalizadas
- Finalizadas:
- Negativas
- Positivas
- Sin venta
- Con venta
E imaginemos que queremos mostrar en el funnel:
% Acciones finalizadas positivas con venta
% Resto acciones finalizadas positivas
% Resto acciones finalizadas
% Resto acciones
Podría hacerlo sin problemas si no seleccionara una dimensión y creara diferentes expresiones para cada uno de los cuatro porcentajes finales, pero de esta manera no podría hacer que se mostraran los valores para cada uno de ellos (sólo mostraría los de la primera expresión).
Por eso quería ver si lo solucionaba mediante la dimensión creada en el script y su métrica asociada pero quizás hay alguna otra aproximación para conseguirlo y no se me ocurre.
En verdad cualquier sugerencia será bienvenida.
Fantástico el ejemplo, además me interesa ese caso.
Te voy a dar las ideas y tú ajustas la sintaxis
Parte 1: Crear una dimensión calculada con la combinación de estados y subestados.
IF (Accion = 'NF', 'NF',
IF (Accion = 'F' and Modo = Negativa, 'FN',
IF (Accion = 'F' and Modo = Positiva and Resultado = 'Venta', 'FPV',
IF (Accion = 'F' and Modo = Positiva and Resultado = 'No Venta', 'FPNV')))) as Resultado
Parte 2: Creas una expresión múltiple siguiendo el patrón del LOAD INLINE
IF (Resultado = 'NF', Count(NF),
IF (Resultado = 'FN', Count(FN),
IF (Resultado = 'FPV', Count(FPV),
IF (Resultado = 'FPNV', Count(FPNV)))))
Los count(****) tendrás que ajustarlos a tus necesidades, seguramente necesitarás funciones de agrupación para poder calcular los porcentajes.
Saludos,
Joaquín
Creo que si divides por el total tienes todos los porcentajes.
IF (Resultado = 'NF', Count(NF)/Count(Resultados),
IF (Resultado = 'FN', Count(FN)/Count(Resultados),
IF (Resultado = 'FPV', Count(FPV)/Count(Resultados),
IF (Resultado = 'FPNV', Count(FPNV)/Count(Resultados)))))
Ahora pones todo esto en el horno y preparas el gráfico
Sí, iré preparando el horno 😉
Para ajustarlo a mi modelo necesitaré algo de tiempo (tiene algunas peculiaridades) pero lo pruebo y te comento como me ha ido.
Y si funciona y encuentro algo de tiempo, preparo un ejemplo para subirlo y así lo tenemos como referencia.
Muchas gracias Joaquín!
De nada.
Qué tengas suerte
Mi estructura de datos es diferente, ya que no dispongo de campos como Accion, Modo o Resultado, si no que tengo un código de finalización de cada acción.
Para contabilizar las acciones utilizo una serie de variables preparadas para el conteo con expresiones set.
Al final he resuelto el tema mediante:
- Una dimensión calculada (tal y como me habías sugerido):
=ValueList('Acciones finalizadas positivas con venta', 'Resto acciones finalizadas positivas', 'Resto acciones finalizadas', 'Resto acciones')
- Una expresión usando las funciones Pick y Match:
pick(match(
ValueList('Acciones finalizadas positivas con venta', 'Resto acciones finalizadas positivas', 'Resto acciones finalizadas', 'Resto acciones')
,'Acciones finalizadas positivas con venta', 'Resto acciones finalizadas positivas', 'Resto acciones finalizadas', 'Resto acciones'
)
,Count({<$(vSet_Sales_Positive_Ended_Actions)>}Action_ID)/Count(Action_ID)
,(Count({<$(vSet_Positive_Ended_Actions)>}Action_ID)-Count({<$(vSet_Sales_Positive_Ended_Actions)>}Action_ID))/Count(Action_ID)
,(Count({<$(vSet_Ended_Actions)>}Action_ID)-Count({<$(vSet_Positive_Ended_Actions)>}Action_ID))/Count(Action_ID)
,(Count(Action_ID)- Count({<$(vSet_Ended_Actions)>}Action_ID))/Count(Action_ID)
)
Muchas gracias Joaquín, tu sugerencia me ha marcado el camino correcto para solucionarlo!
Un saludo
Vamos Alex, estamos esperando el ejemplo de tán brillante aplicación del bar chart !
SaludoS