Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Prezados,
Tenho uma tabela fato, onde os meses são definidos por caracteres fixos. Por exemplo:
1 = Agosto/16
2 = Julho/16
3 = Junho/16
4 = Maio/16 .... 60 = Setembro/2011
No mês que vem terei o mesmo arquivo onde:
1 = Setembro/2016
2 = Agosto/2016
3 = Julho/2016
4 = Junho/2016 .... 60 = Outubro/2011
Ou seja, o arquivo sempre virá com o mês/ano representado pelos caracteres 1 a 60 em string, mas o 1 sempre será o mês atual e assim por diante.
Alguém consegue me dar uma dica sobre como posso carregar isso sem ter que ficar "setando" isso?
Obrigado
Wellington
Wellington, se entendi bem , segue
For A=0 to 59
Tabela:
LOAD
'$(A)'+1 as Seq,
date(AddMonths(Today(),-$(A)),'MMMM/YYYY') as Nome
AutoGenerate(1);
Next
Seq | Nome |
---|---|
1 | setembro/2016 |
2 | agosto/2016 |
3 | julho/2016 |
4 | junho/2016 |
5 | maio/2016 |
6 | abril/2016 |
7 | março/2016 |
8 | fevereiro/2016 |
9 | janeiro/2016 |
10 | dezembro/2015 |
11 | novembro/2015 |
12 | outubro/2015 |
13 | setembro/2015 |
14 | agosto/2015 |
15 | julho/2015 |
16 | junho/2015 |
17 | maio/2015 |
18 | abril/2015 |
19 | março/2015 |
20 | fevereiro/2015 |
21 | janeiro/2015 |
22 | dezembro/2014 |
23 | novembro/2014 |
24 | outubro/2014 |
25 | setembro/2014 |
26 | agosto/2014 |
27 | julho/2014 |
28 | junho/2014 |
29 | maio/2014 |
30 | abril/2014 |
31 | março/2014 |
32 | fevereiro/2014 |
33 | janeiro/2014 |
34 | dezembro/2013 |
35 | novembro/2013 |
36 | outubro/2013 |
37 | setembro/2013 |
38 | agosto/2013 |
39 | julho/2013 |
40 | junho/2013 |
41 | maio/2013 |
42 | abril/2013 |
43 | março/2013 |
44 | fevereiro/2013 |
45 | janeiro/2013 |
46 | dezembro/2012 |
47 | novembro/2012 |
48 | outubro/2012 |
49 | setembro/2012 |
50 | agosto/2012 |
51 | julho/2012 |
52 | junho/2012 |
53 | maio/2012 |
54 | abril/2012 |
55 | março/2012 |
56 | fevereiro/2012 |
57 | janeiro/2012 |
58 | dezembro/2011 |
59 | novembro/2011 |
60 | outubro/2011 |
Wellington, se entendi bem , segue
For A=0 to 59
Tabela:
LOAD
'$(A)'+1 as Seq,
date(AddMonths(Today(),-$(A)),'MMMM/YYYY') as Nome
AutoGenerate(1);
Next
Seq | Nome |
---|---|
1 | setembro/2016 |
2 | agosto/2016 |
3 | julho/2016 |
4 | junho/2016 |
5 | maio/2016 |
6 | abril/2016 |
7 | março/2016 |
8 | fevereiro/2016 |
9 | janeiro/2016 |
10 | dezembro/2015 |
11 | novembro/2015 |
12 | outubro/2015 |
13 | setembro/2015 |
14 | agosto/2015 |
15 | julho/2015 |
16 | junho/2015 |
17 | maio/2015 |
18 | abril/2015 |
19 | março/2015 |
20 | fevereiro/2015 |
21 | janeiro/2015 |
22 | dezembro/2014 |
23 | novembro/2014 |
24 | outubro/2014 |
25 | setembro/2014 |
26 | agosto/2014 |
27 | julho/2014 |
28 | junho/2014 |
29 | maio/2014 |
30 | abril/2014 |
31 | março/2014 |
32 | fevereiro/2014 |
33 | janeiro/2014 |
34 | dezembro/2013 |
35 | novembro/2013 |
36 | outubro/2013 |
37 | setembro/2013 |
38 | agosto/2013 |
39 | julho/2013 |
40 | junho/2013 |
41 | maio/2013 |
42 | abril/2013 |
43 | março/2013 |
44 | fevereiro/2013 |
45 | janeiro/2013 |
46 | dezembro/2012 |
47 | novembro/2012 |
48 | outubro/2012 |
49 | setembro/2012 |
50 | agosto/2012 |
51 | julho/2012 |
52 | junho/2012 |
53 | maio/2012 |
54 | abril/2012 |
55 | março/2012 |
56 | fevereiro/2012 |
57 | janeiro/2012 |
58 | dezembro/2011 |
59 | novembro/2011 |
60 | outubro/2011 |
Para deixar a primeira letra do mês maiúscula, ou edita o conteúdo da variável padrão do Qlik
SET LongMonthNames='janeiro;fevereiro;março;abril;maio;junho;julho;agosto;setembro;outubro;novembro;dezembro';
ou coloca um capitalize()
For A=0 to 59
Tabela:
LOAD
'$(A)'+1 as Seq,
capitalize( date(AddMonths(Today(),-$(A)),'MMMM/YYYY') ) as Nome
AutoGenerate(1);
Next
Seq | Nome |
---|---|
1 | Setembro/2016 |
2 | Agosto/2016 |
3 | Julho/2016 |
4 | Junho/2016 |
5 | Maio/2016 |
6 | Abril/2016 |
Ficou perfeito Alessandro. Obrigado