Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Luis_Calvo
Contributor III
Contributor III

Omitir multiples dimensiones

Buen día,

Tengo una solución que se me ha vuelto un pequeño problema y les agradezco cualquier ayuda o idea.

He creado un KPI del numero de días laborales, por el modelo de datos que trabajo  y para que no se vea afectado el calculo debo omitir las selecciones de algunas dimensiones, para este ejemplo Ciudad, GrupoVenta y pais. El problema radica en que debo dejar que se omitan las selecciones de todas las dimensiones que no sean de tipo fecha.

Son mas campos los que tengo que omitir que los que no, habría alguna forma de indicar los que quiero que SI aplique las selecciones y no al revés ? solo quisiera que aplicara las selecciones de Mes y año.

Esta es la formula que estoy usando

count({<[Dia laboral]={'SI'}, Ciudad=, GrupoVenta=, Pais=, .......... >} distinct(Fecha))

Quedo atento a cualquier ayuda.

Saludos

11 Replies
rubenmarin

Hola Luis, podrías probar con

count({1<[Dia laboral]={'SI'}, Año=P(Año), Mes=P(Mes)>} distinct(Fecha))


- El primer '1' par indicar que ignore todas las selcciones

- El día laboral fijo a SI

- El año y el mes con los valores posibles según las selecciones

Luis_Calvo
Contributor III
Contributor III
Author

Lo siento, creí que me había funcionado pero no, sucede que si filtro un mes especifico me debería traer todos los días hábiles independiente que el conteo de días posibles por ejemplo en la selección del campo Fecha sea menor.

Básicamente necesito que cuente todos los días hábiles sin tener en cuenta ninguna selección excepto mes, año y fecha.

Saludos

rubenmarin

Hola Luis, ¿Las fechas que no te cuenta son las que no tienen datos? En ese caso te haría falta un calendario maestro que incluya todas las fechas entre la más baja y la más alta cargadas, por ejemplo:

Calendario:

LOAD

Date(Fecha) as Fecha,

Month(Fecha) as Mes,

Year(Fecha) as Año;

LOAD

MinFecha + IterNo()-1 as Fecha

While MinFecha + IterNo()-1 <= MaxFecha;

LOAD

Min(FieldValue('Fecha', RecNo())) as MinFecha,

Max(FieldValue('Fecha', RecNo())) as MaxFecha

AutoGenerate FieldValueCount('Fecha');

Si no es así, ¿podrías subir un documento de ejemplo para comprobar?

Luis_Calvo
Contributor III
Contributor III
Author

Hola Ruben,

Si, es como dices, no me cuenta las fechas que no tienen datos y precisamente necesito que las cuente. El calendario maestro tal como lo describes ya lo tengo hecho.

Entiendo tu punto pero a pesar de un tener un calendario maestro los POSIBLES del campo fecha serán los que tengan información si hago un filtro por ejemplo por Asesor de venta.

Necesito que cuente los días independiente si tiene datos o no y que solo se filtre cuando selecciono un mes un año o un rango de fechas.

Saludos

rubenmarin

Ya veo, y así?

=Count({1<[Dia laboral]={'SI'}, Mes={$(=GetFieldSelections(Mes))}, Año={$(=GetFieldSelections(Año))}>} DISTINCT Fecha)

Luis_Calvo
Contributor III
Contributor III
Author

Ruben ya casi, me funciona como quiero cuando filtro por mes y año y ademas no me toma las demás selecciones, sin embargo me entero hace poco que también debe funcionar cuando el usuario toma un rango de fechas en el mismo mes en el filtro de Fecha. Intente agregar el GetSeleccions con el mismo campo Fecha que estoy contando pero ahí si no me arroja nada.

Lo siento esta ultima parte si no la había especificado inicialmente pero recién me entero. Que podria hacer en este caso ? adjunto la formula que hice:

=Count({1<[Dia laboral]={'SI'}, Mes={$(=GetFieldSelections(Mes))}, Año={$(=GetFieldSelections(Año))},Fecha={$(=GetFieldSelections(Fecha))}>} DISTINCT Fecha)

rubenmarin

Hola Luis, puede estar relacionado con el formato de fecha ¿Puedes subir un ejemplo un ejemplo para hacer pruebas?

Luis_Calvo
Contributor III
Contributor III
Author

Hola Ruben,

Como seria el ejemplo, todo lo tengo en un modelo un poco grande.

Saludos

rubenmarin

Si pudieses hacer una copia del documento y dejar solo la parte con los datos que aplican...

- Puedes hacer una carga binaria del documento original y con drop table quitar las tablas no necesarias.

https://help.qlik.com/es-ES/qlikview/November2017/Subsystems/Client/Content/Scripting/ScriptRegularS...

- Copiar los objetos necesarios para probar (selectores y una tabla o gráfico)

- Seleccionar algunos valores de ejemplo y darle a archivo -> reducir datos -> mantener valores posibles.

- En Configuraciones -> Propiedades del documento -> Cifrado puedes cifrar campos con datos sensibles.

- También ayudaría a detectar lo que hay que modificar si indicas: seleccionando X e Y en tal hoja muestra xx y debería ser yy.