Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
dalvan_martinel
New 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?

1 Solution

Accepted Solutions
Employee
Employee

Re: Criar campo com numeração sequencial para registros

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

6 Replies
vinieme12
Esteemed Contributor II

Re: Criar campo com numeração sequencial para registros

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;

mario_sergio_ti
Valued Contributor

Re: Criar campo com numeração sequencial para registros

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...

Employee
Employee

Re: Criar campo com numeração sequencial para registros

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

mario_sergio_ti
Valued Contributor

Re: Criar campo com numeração sequencial para registros

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.

dalvan_martinel
New Contributor II

Re: Criar campo com numeração sequencial para registros

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...

Employee
Employee

Re: Criar campo com numeração sequencial para registros

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