Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Comparar años para obtener evolución

Tengo un Grafico que muestra por cada tienda

Ventas €

Numero de Ticket

Media

Ahora quiero comparar años, para ir viendo la evolucion

Para la linea de ventas tengo

(Sum (if (Año=2011,[Importe]))
-Sum (if (Año=2010,[Importe])))
/Sum (if (Año=2010,[Importe]))

Funciona sin problemas

Pero para el Numero de Ticket añado esto

if (Año=2011,Count (distinct [Nº ticket]))
-(if (Año=2010,Count (distinct [Nº ticket])))
/(if (Año=2010,Count (distinct [Nº ticket])))

pero no funciona

¿No se puede anidar un Count? ¿es por el distinct? ¿se puede hacer algo sin necesidad de crear totales en el Scrip, es decir desde la expresion del grafico?

Gracias

15 Replies
Not applicable
Author

Te cuento Miguel Angel

El analisis de conjunto y el condicional, siguen fallando

he jugado un poco con con los datos Nº ticket filtrando solo DOS o TRES, de diferentes años, para poder comprobar uno a uno los datos y realmente falla, es decir...

Count (distinct [Nº ticket]) esto funciona sin problemas con cualquiera de los filtros que se apliquen, pero al "FORMULAR" con ellos, sea con analisis o con condicional, deja de funcionar

Los datos del campo Nº ticket, son muy variados, alfanuméricos pero nunca con decimales

T010110/000231
T010110/000232
T010110/000233
T010110/000234
T010111/000001
T010111/000002
T010111/000003
T010111/000004

representan datos del tipo
T01 TIENDA 1
01 CAJA 1
10 AÑO 10
11 AÑO 11
/ SEPARADOR
El resto es un contador

Pero OJO; no desmonto, ni despiezo esta información ya que la tengo en otro sitio, solo te lo pongo a titulo informativo, por si arrojara alguna LUZ

Mi version es

Version 9.00.7119.4

No se si es la SR6, disculpa mi ignorancia

Podría probar la 10, pero tardaría mas de lo que deseaba

Ya te diré algo, y si lo crees necesario, te puedo enviar una excel con algunos de los datos, para probar

Gracias de nuevo

Not applicable
Author

Continuando con el asunto, he jugado un poco con Count (distinct [Nº ticket]), para intentar ver si el problema estaba en DISTINCT, pero NO es asi, si aplicamos el analisis de conjunto o el condicional con Count ([Nº ticket]), el resultado es el mismo.

Voy a intentar algo con la version 10

Un saludo

Not applicable
Author

He probado con la version 10 y tampoco funciona

Realmente no he recargado ni pasado ningun proceso, solo he abierto el documento con la nueva version, pero el problema sigue siendo el mismo

¿Sera un Bug? ¿Existe forma de consultarlo?

Gracias

Not applicable
Author

Bueno, ya lo he probado TODO TODO y no consigo NADA NADA

Solo se me ocurre trabajar desde el Scrip y cargar un dato NUEVO, ya el el otro lo necesito

Tendria que leer los TICKET del tipo que comente en anteriores port

T010110/000231
T010110/000232
T010110/000233
T010110/000234
T010111/000001
T010111/000002
T010111/000003
T010111/000004

Los CUENTO con DISTINTO, porque leeo las Cabeceras y las Lineas de TICKET, asi al poner DISTINTO, solo cuento UNO

Creo que tendria que CREAR en el Scrip un nuevo campo que me añadiera un 1 por cada ticket DISTINTO que cuenta

PEROOOOOOOOOOO ¿Como se hace esto?

O ¿Existe alguna otra forma?

Si consigo esto, supongo que en la eexpresion del grafico, solo tendria que hacer un SUM

Gracias

Not applicable
Author

Hola Luís y Miguel,

A la pregunta que haces sobre como poner a cada registro que lees, sería tan fácil como crear una línea más en la tabla de cabeceras de este tipo: 1 as NumTikets.

Podrías subir una copia del script para hacer alguna prueba? Realmente no sé si tu problema puede ser un bug, pero así de entrada lo que necesitas conseguir no me parece una operativa tan poco común como para que no lo hayan detectado y solucionado aún. Se me ocurre que igual el problema viene del modelo de datos...

Saludos,
Pol

Not applicable
Author

Bueno Pol, voy a poner el Scrip, porque me lo pides, pero me da un poco de verguenza, porque seguro que no es muy correecto. Embarrassed

Eso si, salvo en el caso que tenemoe entre mano, me ha funcionado MUY BIEN durante los ultimos 4 años, fue de los primeros que hice, que sin ser informatico ya es algo

Insisto me da apuero, pero aqui esta:

Ticket:
LOAD "Nº ticket",
"Nº cliente",
//"Fecha inicio",
//"Fecha fin",
"Fecha fin" - "Fecha inicio" as "Tiempo trascurrido",
date ("Fecha inicio",'DD/MM/YYYY') as Fecha,
Year("Fecha inicio") as Año,
Ceil(Month("Fecha inicio")/3) as Trimestre,
Month("Fecha inicio") as Mes,
Week("Fecha inicio") as Semana,
Weekday("Fecha inicio") as DiaSemana,
Day("Fecha inicio") as Dia,
//time("Fecha inicio") as Horas,
hour("Fecha inicio") as Hora,
"Cód_ almacén",
"Nº vendedor",
"Cód_ turno",
"Nº caja",
"Nº tarjeta cliente",
"A crédito",
if ("A crédito"=0, 'NO', (if ("A crédito"=1, 'SI',))) as "A
crédito Si o No",
"Albarán",
if ("Albarán"=0, 'SIN', (if ("Albarán"=1, 'CON',))) as "Albarán Sin o Con",
//"Importe entregado",
//"Importe cambio",
Anulado,
if ("Anulado"=0, 'No Anulado', (if ("Anulado"=1, 'Si Anulado',)))
as "Anulado Si o No",
"Nº vendedor Anula"
where ("Fecha inicio"> '01/04/2010');
SQL SELECT *
FROM LACOLEGIALA.dbo."BAÑOS GARRE-GRUPO$Cab_ ticket tienda";

/**************************************************************/

left join
LOAD "Nº ticket",
"Nº línea",
"Nº producto",
Cantidad as "Cantidad Tickt",
//"Unidad medida",
"Importe dto_ línea",
"Línea regalo",
"Importe línea con I_V_A_",
"Cód_ tipo venta",
"% dto_ línea",
"Cód_ promoción"
where ("Fecha inicio"> '01/04/2010');

SQL SELECT *
FROM LACOLEGIALA.dbo."BAÑOS GARRE-GRUPO$Lin_ ticket tienda";

/**************************************************************/

join (Ticket)
LOAD "Código" as "Cód_ promoción" ,
"Descripción" as "Descripcion Promocion",
"Fecha inicio" as "Fecha inicio Promocion",
"Fecha fin" as "Fecha fin Promocion"
where ("Fecha inicio"> '01/04/2010');
SQL SELECT *
FROM LACOLEGIALA.dbo."BAÑOS GARRE-GRUPO$Promociones";

/***************************************************************/
Join (Ticket)
LOAD Code as "Nº vendedor",
Name as "Nombre Dependienta",
Clave as "Clave Dependienta",
"Nombre tpv" as "Nombre tpv Dependienta",
Color as "Color Dependienta",
EsCajero,
Administrador as "Administrador TPV";
SQL SELECT *
FROM LACOLEGIALA.dbo."BAÑOS GARRE-GRUPO$Salesperson_Purchaser";
/******************************************************/

Directory;
LOAD [Nº vendedor],
[Cód_ promoción],
[Nº ticket],
[Nº cliente],
[Tiempo trascurrido],
Fecha,
Año,
Trimestre,
Mes,
Semana,
DiaSemana,
Dia,
Hora,
[Cód_ almacén],
[Cód_ turno],
[Nº caja],
[Nº tarjeta cliente],
[A crédito],
[A crédito Si o No],
Albarán,
[Albarán Sin o Con],
Anulado,
[Anulado Si o No],
[Nº vendedor Anula],
[Nº línea],
[Nº producto],
[Cantidad Tickt],
[Importe dto_ línea],
[Línea regalo],
[Importe línea con I_V_A_],
[Cód_ tipo venta],
[% dto_ línea],
[Descripcion Promocion],
[Fecha inicio Promocion],
[Fecha fin Promocion],
[Nombre Dependienta],
[Clave Dependienta],
[Nombre tpv Dependienta],
[Color Dependienta],
EsCajero,
[Administrador TPV]
FROM
[\\Svqlikview\Informes\NUEVOS INFORMES QV\desarrollo\QVD\QVD
Historicos\Ticket.qvd]
(qvd);

Directory;
LOAD [Nº Producto] as "Nº producto",
[Grupo Producto IVA Registro],
[Grupo familia],
[Codigo Grupo Pruducto TPV],
[Descripcion Producto],
[Alias Producto],
[Description 2],
[Unidad Medida Base],
[Grupo Contable Existencia],
[Grupo Descuento Producto],
[Precio Venta (sin iva)],
[Producto Bloqueado],
[Grupo Contable Producto],
[Codigo Departamento],
[Codigo Programa],
[Unidad Medida Venta],
[Codigo Categoria Producto],
[Tipo de venta],
[Piezas tabla],
[Punto de venta],
[Situación imagen],
[Fecha ult_ modificación],
[Cód_ agrupación],
[Piezas llanda],
[Cód_ ubicación tienda],
[Usuario ult_ modificación],
[Tienda virtual],
Orden,
[Botón color],
[Botón línea1],
[Botón línea2],
[Botón línea3],
[Bloqueo tienda],
[P_V_P_ nuevo],
[Orden producción],
[P_V_P_ anterior],
[PVP new],
[Nº Producto Comun],
[Nombre Grupo Pruducto],
[Bloqueado Grupo],
[Nombre Grupo TPV],
[Fecha ult_ modificación Grupo],
[Orden en TPV Grupo],
[Codigo Color Grupo],
[Nombre Fanilia],
[Bloqueado Familia],
[Nombre Familia TPV],
[Fecha ult_ modificación Familia],
[Orden en TPV Familia],
[Codigo Color Familia],
IVA,
[Descripcion Grupo Producto IVA Registro],
PVP
FROM
..\desarrollo\QVD\Producto.qvd
(qvd);

Si crees, que sin tocarlo mucho, es decir con el 1 as NumTikets. y me dices donde ponerlo, pues hago rapido la prueba

Gracias