Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Oi pessoal, tudo bem?
Estou travado em algo que acredito que seja simples, mas pra mim é complicado, porque sou novo no Qlikview e no set analysis. O que estou tentando fazer é: na coluna HIGH encontrar o valor mais alto e sua respectiva data, porque assim terei a base para as duas expressões que quero. Exemplo:
O valor mais alto e data: 97.580 (23/01/2019 08:00)
1ª Expressão:
O valor mais baixo ANTES DE "23/01/2019 08:00": 43,800 (21/01/2019 04:00)
Resultado: um aumento de 122,79%
2ª Expressão:
O valor mais baixo DEPOIS DE "23/01/2019 08:00": 43,500 (23/01/2019 21:00)
Resultado: uma diminuição de 55,42%
Estou usando a expressao:
if(firstsortedvalue (DISTINCT DATE_TIME, -HIGH) > firstsortedvalue (DISTINCT DATE_TIME, LOW), ((Max(HIGH)-Min(LOW)) / Min(LOW)),-( (Max(HIGH)-Min(LOW)) / Max(HIGH) ))
Mas não é bem isso que quero, porque pega o valor mais baixo(LOW) em qualquer data sem fazer a distinção da data respectiva do valor mais alto.
PRODUTO | LOW | HIGH | DATE_TIME |
A | 44.150 | 44.770 | 21/01/2019 00:00 |
A | 44.090 | 44.390 | 21/01/2019 01:00 |
A | 44.010 | 44.440 | 21/01/2019 02:00 |
A | 43.970 | 44.470 | 21/01/2019 03:00 |
A | 43.800 | 44.360 | 21/01/2019 04:00 |
A | 43.860 | 44.900 | 21/01/2019 05:00 |
A | 44.130 | 44.490 | 21/01/2019 06:00 |
A | 44.130 | 44.710 | 21/01/2019 07:00 |
A | 43.860 | 44.490 | 21/01/2019 08:00 |
A | 43.850 | 44.260 | 21/01/2019 09:00 |
A | 44.230 | 45.310 | 21/01/2019 10:00 |
A | 44.720 | 45.700 | 21/01/2019 11:00 |
A | 45.200 | 45.720 | 21/01/2019 12:00 |
A | 44.750 | 45.380 | 21/01/2019 13:00 |
A | 44.670 | 46.400 | 21/01/2019 14:00 |
A | 45.470 | 50.500 | 21/01/2019 15:00 |
A | 47.690 | 52.900 | 21/01/2019 16:00 |
A | 49.130 | 56.320 | 21/01/2019 17:00 |
A | 53.550 | 59.530 | 21/01/2019 18:00 |
A | 55.550 | 58.060 | 21/01/2019 19:00 |
A | 53.970 | 57.000 | 21/01/2019 20:00 |
A | 53.560 | 55.400 | 21/01/2019 21:00 |
A | 53.950 | 55.750 | 21/01/2019 22:00 |
A | 53.360 | 55.680 | 21/01/2019 23:00 |
A | 53.650 | 55.280 | 22/01/2019 00:00 |
A | 54.140 | 58.140 | 22/01/2019 01:00 |
A | 53.930 | 56.190 | 22/01/2019 02:00 |
A | 51.600 | 54.670 | 22/01/2019 03:00 |
A | 52.050 | 52.790 | 22/01/2019 04:00 |
A | 52.120 | 53.020 | 22/01/2019 05:00 |
A | 52.200 | 53.500 | 22/01/2019 06:00 |
A | 51.000 | 52.720 | 22/01/2019 07:00 |
A | 50.220 | 56.340 | 22/01/2019 08:00 |
A | 52.070 | 55.310 | 22/01/2019 09:00 |
A | 52.870 | 55.000 | 22/01/2019 10:00 |
A | 52.090 | 54.050 | 22/01/2019 11:00 |
A | 53.050 | 55.100 | 22/01/2019 12:00 |
A | 55.030 | 58.500 | 22/01/2019 13:00 |
A | 55.520 | 62.500 | 22/01/2019 14:00 |
A | 60.070 | 64.370 | 22/01/2019 15:00 |
A | 59.320 | 62.230 | 22/01/2019 16:00 |
A | 58.600 | 61.190 | 22/01/2019 17:00 |
A | 58.580 | 59.970 | 22/01/2019 18:00 |
A | 57.930 | 61.580 | 22/01/2019 19:00 |
A | 59.800 | 63.710 | 22/01/2019 20:00 |
A | 60.440 | 63.660 | 22/01/2019 21:00 |
A | 61.600 | 64.500 | 22/01/2019 22:00 |
A | 63.200 | 64.500 | 22/01/2019 23:00 |
A | 63.260 | 69.690 | 23/01/2019 00:00 |
A | 67.850 | 74.990 | 23/01/2019 01:00 |
A | 72.000 | 78.800 | 23/01/2019 02:00 |
A | 71.510 | 76.470 | 23/01/2019 03:00 |
A | 71.670 | 73.760 | 23/01/2019 04:00 |
A | 73.230 | 79.980 | 23/01/2019 05:00 |
A | 75.130 | 85.780 | 23/01/2019 06:00 |
A | 80.680 | 89.200 | 23/01/2019 07:00 |
A | 88.500 | 97.580 | 23/01/2019 08:00 |
A | 79.370 | 93.440 | 23/01/2019 09:00 |
A | 76.560 | 81.600 | 23/01/2019 10:00 |
A | 73.690 | 80.390 | 23/01/2019 11:00 |
A | 74.830 | 77.600 | 23/01/2019 12:00 |
A | 75.120 | 78.990 | 23/01/2019 13:00 |
A | 72.800 | 75.880 | 23/01/2019 14:00 |
A | 73.240 | 75.270 | 23/01/2019 15:00 |
A | 72.110 | 74.400 | 23/01/2019 16:00 |
A | 72.340 | 74.800 | 23/01/2019 17:00 |
A | 73.800 | 78.740 | 23/01/2019 18:00 |
A | 73.320 | 77.650 | 23/01/2019 19:00 |
A | 51.060 | 53.140 | 23/01/2019 20:00 |
A | 43.500 | 52.980 | 23/01/2019 21:00 |
A | 51.520 | 52.570 | 23/01/2019 22:00 |
A | 51.550 | 52.740 | 23/01/2019 23:00 |
Qualquer ajuda é bem vinda,
Valeu,
Vinicius
Para pegar os valores seriam essas expressões, não sei se é essa a duvida!
Produto MAIOR Valor = FirstSortedValue(PRODUTO, -HIGH)
Data do MAIOR Valor = FirstSortedValue(DATE_TIME, -HIGH)
Produto MENOR Valor = FirstSortedValue(PRODUTO, HIGH)
Data do MENOR Valor = FirstSortedValue(DATE_TIME, HIGH)
Att,
Oi Jackson,
Obrigado pela resposta, mas essa questão de pegar a DATA do menor ou do maior valor e também o VALOR(preco) deles eu consegui. O que eu estou tentando fazer é:
A partir do momento que tenho a DATA do valor mais alto (por exemplo foi dia 25/02 ) dai quero saber qual é a data do menor valor MAS* só olhando as datas anteriores deste dia 25/02.
Porque isso? porque o menor valor pode estar depois desta data 25/02 e não quero isso. Quero que ele pegue o menor valor mas* so olhando antes desta data, sacou?
Att,
Oi Jackson, não funcionou, deu null
FirstSortedValue({<DATE_TIME={"<$(=firstsortedvalue(DATE_TIME,-HIGH)"}>}DATE_TIME, HIGH)
O que eu tenho são:
DATA_MAX -> Data do maior valor
FirstSortedValue(DISTINCT DATE_TIME, -HIGH)
PRECO_MAX -> Maior valor
FirstSortedValue(DISTINCT HIGH, -HIGH)
Eu consegui assim:
FirstSortedValue(DISTINCT {$<DATE_TIME={"<25/02/2019 18:00"}>} DATE_TIME, LOW)
Deu certo mas definindo manualmente a data/hora, você sabe como consigo mudar esse "<25/02/2019 18:00" pela função FirstSortedValue(DISTINCT DATE_TIME, -HIGH)? Ou melhor ainda pelo nome da expressão que é DATA_MAX?
Att,
Vinicius