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: 
dalvan_martinel
Contributor II
Contributor II

Criar campo com numeração sequencial para registros

Tenho uma lista de dados com os campos de nota, item e valor, gostaria de criar um campo onde para gerar um numero de ordenação por nota.

tabela atual

 

NotaItemValor
543261001463
543261002244
543261003266
543261004385
987681001864
987681002632
987681003673
987681004357
873561001245
873561002753
873561003235
873561004790

tabela com a ordenação

 

OrdemNotaItemValor
1543261001463
2543261002244
3543261003266
4543261004385
1987681001864
2987681002632
3987681003673
4987681004357
1873561001245
2873561002753
3873561003235
4873561004790

qual comando posso utilizar para criar o campo conforme a tabela acima?

Labels (1)
1 Solution

Accepted Solutions
Clever_Anjos
Employee
Employee

Autonumber(Nota&'|'&Item,Nota) deve trazer o sequencial que você precisa

View solution in original post

6 Replies
vinieme12
Champion III
Champion III

If your Data is already sorted then try below

LOAD *,iF(Note=Previous(Note),Rangesum(Peek(InstanceNumber),1),1) as InstanceNumber INLINE [

Note,Item,Value

54326,1001,463

54326,1002,244

54326,1003,266

54326,1004,385

98768,1001,864

98768,1002,632

98768,1003,673

98768,1004,357

87356,1001,245

87356,1002,753

87356,1003,235

87356,1004,790

];

If your data isn't sorted then add Order by Clause

Load Note

,iF(Note=Previous(Note),Rangesum(Peek(InstanceNumber),1),1) as InstanceNumber

,Item

,Value

From YourDataSource

Order by Note,Item;

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo, você tem algumas opções;

RecNo() = Numero de ordem da base, mesmo da sequencia da fonte de origem

RowNo() = Numero de sequencia de leitura, mesmo da sequencia de leitura do script

AutoNumber() = Número sequencial representando os valores únicos dos campos declarados em sua função, havendo conjunto de valores repetidos na função, não terá id único;

Load

    RecNo() as Ord_Registrado_Base,

    RowNo() as Ord_Registro_Leitura,

    AutoNumber(Nota&Item&Valor,'Ord1') as Ord_Registro_Unico,

    Nota,

    Item,

    Valor

FROM [lib://PASTA/tabela.QVD] (qvd);


Obs.: Existem outras opções, vide ref abaixo.

Ref: https://help.qlik.com/pt-BR/sense/3.1/Subsystems/Hub/Content/Scripting/CounterFunctions/counter-func...

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
Clever_Anjos
Employee
Employee

Autonumber(Nota&'|'&Item,Nota) deve trazer o sequencial que você precisa

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo conseguiu resolver?

Se sim, favor marcar alguma resposta como certa ou útil se for o caso ou apresentar a solução utilizado;

Assim manteremos o fórum organizado para a comunidade ter acesso as resoluções das questões.

A dúvida de um, pode ser de outro.

Abraço.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
dalvan_martinel
Contributor II
Contributor II
Author

Funcionou exatamente como precisava, unica coisa que a carga dos dados ficou um pouco mais pesado, na verdade dobrou o tempo de carga para a tabela que estou criando. mas o mais importante é que deu certo, obrigado...

Clever_Anjos
Employee
Employee

O problema é que a função Autonumber() é monocore, ela aloca apenas um core para ser executada