Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

[QLIK Sense] - Modification de données

Bonjour,

Plateforme : QLIK SENSE

Nous avons une table creuse contenant 1 million de lignes et une trentaine de colonne.

On voudrait pouvoir modifier le contenu de certaine colonne.

Voici l'équivalent en SQL :

UPDATE  TableCreuse

SET ColonneX = 'nouvelle valeur'

WHERE ID = 1

Dans notre cas, on possède un fichier excel avec les colonnes ID et NEW

Comment mettre à jour une colonne de ma table creuse suivant les données présentes dans NEW quand l'ID existe ?

TableCreuse:

IDNumValeur
1num1valeur1
2num2valeur2
3num3valeur3

Fichier excel:

IDValeur
1

new_valeur1

3new_valeur3

Résultat Souhaité:

IDNumValeur
1num1

new_valeur1

2num2valeur2
3num3new_valeur3

On a essayé de faire du mapping et des jointures sans avoir de résultats concluant ou un message d'erreur sur l'engine comme si le serveur saturé vu la quantité de données.

Avez-vous une solution ?

Merci

Nicolas

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour Nicolas,

Voici comment je ferai :

...

Left Join (TableCreuse)

LOAD

     ID,                                   // Clé de jointure

     Valeur as NewValeur

FROM [FichierExcel.xlsx] (ooxml, embedded labels, table is Feuil1);

RENAME Field Valeur to OldValeur;  // Renomer le champ de la table creuse

Left Join (TableCreuse)

LOAD

     ID,                                   // Clé de jointure

     If(Len(NewValeur) = 0, OldValeur, NewValeur) as Valeur

Resident TableCreuse;

DROP Fields OldValeur, NewValeur;

View solution in original post

2 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour Nicolas,

Voici comment je ferai :

...

Left Join (TableCreuse)

LOAD

     ID,                                   // Clé de jointure

     Valeur as NewValeur

FROM [FichierExcel.xlsx] (ooxml, embedded labels, table is Feuil1);

RENAME Field Valeur to OldValeur;  // Renomer le champ de la table creuse

Left Join (TableCreuse)

LOAD

     ID,                                   // Clé de jointure

     If(Len(NewValeur) = 0, OldValeur, NewValeur) as Valeur

Resident TableCreuse;

DROP Fields OldValeur, NewValeur;

Anonymous
Not applicable
Author

Merci Sébastien, ça fonctionne