Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Ayuda Definición Ratio Cantidad

Estimados:

En estos momentos tengo conectado mi tablero qlikview a una base de datos desde donde viene un maestro de clientes (el campo se llama clientes). Sin embargo, esos clientes son muchos y para poder trabajar adecuadamente cargue en mi modelo un archivo plano con un listado pequeño de clientes ya que tienen una característica especial (en el mapa de relaciones uní esta tabla con el campo cliente y la característica especial se llama customer).

Cuando comienzo a diseñar el layout de mi tablero genero un cuadro de lista con el campo customer mostrándome los clientes que necesito. Cuando genero una tabla esta funciona correctamente con el filtro customer, sin embargo los datos de cantidad muestra el total de los clientes y no filtra por customer, pero si abro la información luego si muestra el dato filtrado.

El campo que muestra la tabla es cantidad y tiene la siguiente estructura: "sum({<Carga={'Vacio'},Pies={'20','40'}>}(Cantidad * CurrYTDFlag))". Cómo puedo poder agregar esta carecteristica especial (que es un campo llamado customer) en el ratio de cantidad? Sólo se me ocurre generar la sentencia en el script del tablero pero son infinitos clientes.

Desde ya muchas gracias por su ayuda.

Felipe

6 Replies
bertinabel
Creator
Creator

Buenos Días,

     Felipe,

     Tendras un qvw de ejemplo donde muestres tu problema.

Saludos

Not applicable
Author

Bertin:

Gracias por responderme en tan breve tiempo. Adjunto un ejemplo de lo que estoy haciendo.

Como veras la tabla funciona con el filtro de clientes, terminal y tiempo. El filtro de clientes corresponde a un curce que hice entre el campo clientes de la base de datos y un archivo plano que confeccione que es un subconjunto de la otra. La tabla muestra la información de la cantidad de ventas diaria, sin embargo el ratio de las cantidades cuando tengo los días comprimidos muestra un valor, pero cuando abro cualquier día el total de la tabla muestra el valor correcto, esto lo hace ya que en el script filtre algunos clientes dentro del campo clientes generando un nuevo campo clientefinal.

Lo raro es que cuando cambio a otro terminal o fecha y luego vuelvo a los filtros mencionados vuelve a mostrarme el error. No se como solucionar eso.


Quizás la solución es que el ratio que maneja la cantidad se haga ocupando el campo cliente de la tabla plana que subí, pero no se como hacerlo. Se editar el ratio con la estructura <{XXX='1'}> pero no como hacerlo con un campo completo (este se llama customer).

Desde ya muchas gracias,

rulohx87
Contributor III
Contributor III

No entiendo bien tu problema.

Pienso que el archivo de Clientes del xlsx. te esta causando problemas cuando lo asocias con la tabla de la Base de datos (Gates) mediante el campo Clientes.

Primero haz esto:

Quita esta expresión:

If (Cliente<>'DYCPMC', if(Cliente<>'FULL SECO', if(Cliente<>'VESTAS', if(Cliente<>'NESTLE', if(Cliente<>'Conguillio',Cliente))))) as ClienteFinal,

Solo deja esto en ambas tablas (Gates y ClienteDepot);

Cliente AS %Key_Cliente,

Cliente,

Luego en tu tabla de Gates pones esto;

[Gates]:

LOAD

... // Campos

FROM [Tu tabla]

WHERE Exists (Cliente,%Key_Cliente);

Para qué es esto ?

Pues para que te filtre y quite de la tabla Gates, todos los registros de aquellos Clientes que no existan en la tabla de tu catálogo.

Como comentario:

- No dejes la conexión de la base de datos. Ahi se esta viendo el USUARIO, SID, TABLA, RUTA DEL SERVIDOR y contraseña encriptada (Que se puede usar en todo caso). Baja este archivo de community, una vez que soluciones el problema.

- En tu modelo asociativo tienes una referencia Circular, eso es malo porque puede duplicar datos. Recomendación; renombra los campos en alguna de slas dos tablas y crea una llave.

Not applicable
Author

Raul:

Gracias por tu respuesta. Trataré de hacer lo que me indicas.

Por otra parte, ya borre el modelo.

Gracias,

Not applicable
Author

Raul:

Trate de hacer lo que me dijiste, pero no logré hacerlo funcionar ya que no supe como poner el Where Exists ya que mi tabla Gates es un documento qvd al cual se llama al final de los campos.

Para que quede más claro mi problema pongo la tabla para que se vea lo que me pasa

1. Tabla con las ventas por unidades, donde está el número del día del mes (toda la info es de un mes en particular)

Num Dia # Unidades Actual
1165
233
31
4162
5148
6182
7204
8147
940
11166
12180
13229
14219
15181
1628
20184
21223
22221
2373
25229
26180
27194
28259
29188
3042
Total 3878

2. Es la misma tabla que al abrir un día y que se vean los clientes me reduce el numero de unidades vendidas. Esto sólo lo hace expandiendo un día cualquiera

Num Dia ClienteFinal # Unidades Actual
1157
233
4CMA-CGM93
COSCO5
HAPAG LLO47
5139
6174
7186
8146
940
11164
12171
13226
14217
15174
1628
20182
21219
22204
2373
25206
26148
27185
28252
29180
3042
Total 3691

El ratio de unidades es un valor editado de la siguiente manera sum({<A={'1'},B={'B','D'}>}(Cantidad * CurrYTDFlag)). Quizás el problema que tengo es que en la definición del ratio no coloco los clientes que quiero ver ya que la ser un listado no se como hacer eso.

Los clientes finales son un subconjunto que están indicados a través de un archivo excel. El campo cliente viene desde un archivo qvd que se conecta a la base de datos.

Desde ya muchas gracias,

rulohx87
Contributor III
Contributor III

No es la expresión dentro de tu tabla, el problema viene desde el modelo. Checa como si pones un 1 en la expresión sigue haciendo lo mismo. (El día 3 no existe igual que con la expresión)

Captura.PNG

Para que el Where exist funcione debes leer primero el catalogo (Como en la imagen) y luego la Fact Table y debes poner %Key_Cliente en ambas tablas para que se asocien y finalmente pones el where como sigue.

Captura1.PNG


Ahora por ejemplo aqui hay una llave sintetica que no debería existir. Esto también y es muy probable que te este arrojando valores duplicados. Lo solucionas renombrando los campos de cualquier tabla y uniendo por cliente en todo caso.

Captura2.PNG

Creo conveniente corregir esto antes. Puesto que esto puede causar problemas.