Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
iuriimprota2
Contributor III
Contributor III

Criar Sequencia no Script

Olá a todos, me chamo Iuri e sou novo no Qlik Community e no QlikView.

Eu tenho uma tabela onde tenho um campo de ID_ORCAMENTO , DATA_INI e DATA_FIM

Eu preciso criar um campo onde se crie uma sequencia numerica por ID orçamento se baseando na DATA_INI.

Exemplo: 

ID_Orcamento | DATA_INI                    | Sequencia 

0001142              | 30/03/2020 13h20 |  1

0001142              | 30/03/2020 13h25|  2

0001142              | 30/03/2020 13h28 |  3

0001142              | 30/03/2020 13h29 |  4

0001142              | 30/03/2020 13h38 |  5

3328589              | 04/01/2019 13h38 |  1

3328589              | 05/01/2019 13h38 |  2

3328589              | 06/01/2019 14h24 |  3

 

...

2 Solutions

Accepted Solutions
TiagoCardoso
Creator II
Creator II

Boa noite.

Consegui carregar o seu QVW, aproveitando seus dados.

Seu campo de data e hora não é distinto, por isso ele pode repetir o 1 para vários casos, então, eu usei o número da linha pelo orçamento e ficou assim:

 

 

BINARY Analysis.qvw;

NOCONCATENATE
DADOS:
LOAD
	AUTONUMBER(ROWNO(),ID_ORCAMENTO) AS SEQUENCIA,
	*
RESIDENT AGENDAMENTO_DETALHE
	ORDER BY ID_ORCAMENTO, DATA_INI;

DROP TABLE AGENDAMENTO_DETALHE;

 

 

 

E o resultado foi esse:
Sem título.png

Coloque os dois arquivos no mesmo diretório e carregue o 1740403.qvw.
Depois é só inserir na sua aplicação e ser feliz! Obs.: não esqueça de ordenar igual eu fiz ali.

 

Abraços.

View solution in original post

iuriimprota2
Contributor III
Contributor III
Author

Tudo certo! Muito obrigado.

View solution in original post

5 Replies
TiagoCardoso
Creator II
Creator II

Boa tarde meu caro, segue o script abaixo. 
Não consegui abrir o seu QVW, então peço que por favor adapte ao seu uso.

Código:

LOAD * INLINE [
ID_Orcamento | DATA_INI        
0001142              | 30/03/2020 13h30 
0001142              | 30/03/2020 13h20 
0001142              | 30/03/2020 13h25
0001142              | 30/03/2020 13h28 
0001142              | 30/03/2020 13h29
0001142              | 30/03/2020 13h38
3328589              | 04/01/2019 13h38
3328589              | 05/01/2019 13h38
3328589              | 06/01/2019 14h24 
](delimiter is '|');

NOCONCATENATE 
Final: 
LOAD 
	Autonumber(Data, ID_Orcamento)	AS Rank,
	ID_Orcamento,
	Data 
RESIDENT TAB2 ORDER BY ID_Orcamento, Data;

DROP TABLES TAB2;

Resultado:

tiagocardoso_0-1598993379676.png

 

iuriimprota2
Contributor III
Contributor III
Author

Fala, meu  bom. Agradeço a auda, mas não serviu, talvez porq eu nao tenha explicado direito.

Quando tentei usar a opção de cima, todos ficaram com o número 1.

Segue o Script 

 


map1:

mapping load * inline [

x, y

Marcador,''
associado,''
desassociado,''
.,''
] ;


AGENDAMENTO_DETALHE:
LOAD ID_ORCAMENTO,
// KEY,
mapsubstring('map1',JUSTIFICATIVA) as JUSTIFICATIVA,
DATA_HORA_ACAO as DATA_HORA_INI,
DATA_ACAO,
JUSTIFICATIVA as JUST,
Timestamp(DATA_FIM) as DATA_FIM,
Timestamp(DATA_INI) as DATA_INI
FROM [C:\app\qvd\AGENDAMENTO_DETALHE.qvd] (qvd)
Where
wildmatch(JUSTIFICATIVA, '*desassociado*')=0
And
wildmatch(JUSTIFICATIVA, '*associado*')=1
;

Join

AGENDAMENTO_DETALHE_DES:
LOAD ID_ORCAMENTO,
// KEY,
mapsubstring('map1',JUSTIFICATIVA) as JUSTIFICATIVA,
DATA_HORA_ACAO as DATA_HORA_FIM,
DURACAO_HORA,
DURACAO_DIA


FROM [C:\app\qvd\AGENDAMENTO_DETALHE.qvd] (qvd)
Where
wildmatch(JUSTIFICATIVA, '*desassociado*')> 0
;
//STORE AGENDAMENTO_DETALHE INTO C:\app\qvd\AGENDAMENTO_DETALHE2.qvd (qvd);


NoConcatenate
AGENDAMENTO_SEQUENCIA_TEMP:
LOAD *, ID_ORAMENTO,
Previous(ID_ORAMENTO) +1 as LINHA

Resident AGENDAMENTO_DETALHE Order by ID_ORCAMENTO,DT_ACAO asc;

NoConcatenate
AGENDAMENTO_SEQUENCIA:
LOAD *, if(
ID_ORCAMENTO) = ID_ORCAMENTO, LINHA + Peek()
Resident AGENDAMENTO_DETALHE

TiagoCardoso
Creator II
Creator II

Boa noite.

Consegui carregar o seu QVW, aproveitando seus dados.

Seu campo de data e hora não é distinto, por isso ele pode repetir o 1 para vários casos, então, eu usei o número da linha pelo orçamento e ficou assim:

 

 

BINARY Analysis.qvw;

NOCONCATENATE
DADOS:
LOAD
	AUTONUMBER(ROWNO(),ID_ORCAMENTO) AS SEQUENCIA,
	*
RESIDENT AGENDAMENTO_DETALHE
	ORDER BY ID_ORCAMENTO, DATA_INI;

DROP TABLE AGENDAMENTO_DETALHE;

 

 

 

E o resultado foi esse:
Sem título.png

Coloque os dois arquivos no mesmo diretório e carregue o 1740403.qvw.
Depois é só inserir na sua aplicação e ser feliz! Obs.: não esqueça de ordenar igual eu fiz ali.

 

Abraços.

iuriimprota2
Contributor III
Contributor III
Author

Tiago, não consegui abrir o arquivo 1740403.qvw, porém ao copiar aquele codigo de cima, foi criado um campo de sequencia do jeito que eu queria.

To tentando organizar porq ao recarregar o arquivo aparece esse erro: Autogenerate: generate count is out of range
LOAD
FieldValue('DATA_ANALISE', RecNo()) as datefield
AutoGenerate FieldValueCount('DATA_ANALISE')

porém, eu dou OK e o campo que eu quero está lá. 

Muito orbigado!!!

iuriimprota2
Contributor III
Contributor III
Author

Tudo certo! Muito obrigado.