Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik GA: Multivariate Time Series in Qlik Predict: Get Details
cancel
Showing results for 
Search instead for 
Did you mean: 
carlosac
Creator II
Creator II

ANALISIS DE CONJUNTOS


Buenas

Tengo una tabla del tipo

FechaStock
ene-1212
feb-1223
mar-1212
ene-138
feb-1350
mar-144

Que expresión deberia colocar para que al pinchar por ejemplo ene-13 me pusiera el stock de en-12, ene-13 y diferencia entre ambos meses.....

Deberia quedar como

                Stock ene-12    Stock ene-13   Dif                

ref                     12                    8            4

1 Solution

Accepted Solutions
Not applicable

Creas una tabla pivotante y le ingresas esta expresión para saber el valor anterior al selecionado:

Sum ({1 < Key={$(=max(Key)-1)} > } Stock)

Para hacer la diferencia entre el valor anterior y la seleción actual, creas otra expresión e insertas lo siguiente:

Sum({$} Stock) - Sum ({1 < Key={$(=max(Key)-1)} > } Stock)

View solution in original post

14 Replies
davidrobles
Partner - Contributor III
Partner - Contributor III

Stock ene-12

sum( {<Fecha={'$(=max(Fecha),1)'}>} Stock)

Stock ene-13

sum( {<Fecha={'$(=max(Fecha))'}>} Stock)

Dif

sum( {<Fecha={'$(=max(Fecha)-1)'}>} Stock)

-

sum( {<Fecha={'$(=max(Fecha))'}>} Stock)

carlosac
Creator II
Creator II
Author

Hola David, gracias por tu ayuda pero no funciona. Entiendo que el problema lo genera el formato fecha pero no se como arreglarlo. Debe ser que por ejemplo para ene-13, el poner (Fecha)-1 no lo reconoce como ene-12

davidrobles
Partner - Contributor III
Partner - Contributor III

Disculpa,

di por hecho que el campo Fecha era tal.

En la carga convierte el campo Fecha a una que puedas evaluar con un Makedate.

Create un campo año y un campo mes con la fecha nueva.

Los conjuntos quedarian asi:

Stock ene-12

sum( {<Año={'$(=max(Año)-1)'},Mes={'$(=max(Mes)-1)'}>} Stock)

Stock ene-13

sum( {<Año={'$(=max(Año))'},Mes={'$(=max(Mes))'}>} Stock)

Dif

sum( {<Año={'$(=max(Año)-1)'},Mes={'$(=max(Mes)-1)'}>} Stock)

-

sum( {<Año={'$(=max(Año))'},Mes={'$(=max(Mes))'}>} Stock)

Not applicable

Hola Galvan,

Ya intento poner en el set el formato de fecha, tal como viene en el archivo?

SET ThousandSep='.';

SET DecimalSep=',';

SET MoneyThousandSep='.';

SET MoneyDecimalSep=',';

SET MoneyFormat='$ #.##0,00;($ #.##0,00)';

SET TimeFormat='hh:mm:ss TT';

SET DateFormat='MMM-DD-YYYY';

SET TimestampFormat='MMM-DD-YYYY hh:mm:ss[.fff] TT';

SET MonthNames='ene;feb;mar;abr;may;jun;jul;ago;sep;oct;nov;dic';

SET DayNames='lun;mar;mié;jue;vie;sáb;dom';

Saludos,

Diego.

carlosac
Creator II
Creator II
Author

Con el tema del año ok pero con el tema del mes tengo problemas. NO entiende por ejemplo que feb-1=ene. Alguna luz para seguir adelante....????

carlosac
Creator II
Creator II
Author

Os anexo el fichero por si alguien ve algo mal....

davidrobles
Partner - Contributor III
Partner - Contributor III

En el script

num(month(Fecha))     as MesNum.

Manten el mes como lo tienes actualmente

Cambia en las expresiones el Mes por MesNum.

Un Saludo

davidrobles
Partner - Contributor III
Partner - Contributor III

Hola,

en la tabla que tienes cambia la dimension Fecha por mes y pon como segunda expresion

SUM ({<año={'$(=max(año)-1)'}>} Stock)

deja la primera como esta.

davidrobles
Partner - Contributor III
Partner - Contributor III

Mal por mi la primera cambiala tambien

SUM ({<año={'$(=max(año))'}>} Stock)