Vous mettez à jour votre serveur avec la version 22.1 ? Nous avons activé le moteur AMP plus rapide par défaut. Découvrez comment ces modifications de paramètres système peuvent vous affecter.

Free Trial

Blog - Français

Les analyses et les idées des plus grands esprits de l'analyse.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index
messi007
Aurore

 

 

 

messi007_0-1651158582511.png

 

 

 

 

 

Il y a deux manières de définir une chaîne :

  • Longueur fixe (String et WString) : pour le cas d'une chaîne dont la longueur est fixe et constante (ex. un code comme le code Magnitude de 5 caractères format S9999)
  • Longueur variable (V_String et V_WString) : ou VARCHAR pour le cas d'une chaîne dont la longueur est variable tout en étant limitée (ex. un libellé de 10 à 50 caractères)

 

Il faut donc privilégier le String ou WString pour représenter un code car c'est une option économique pour le système. En effet, dans le cas d'une chaîne variable (VARCHAR), le système doit gérer la longueur effective de la chaîne pour connaître la position du champ suivant, ce qu'il n'a pas à faire dans une chaîne fixe.

 

Historiquement le VARCHAR a été introduit pour économiser le volume des chaînes de longueur variable en compressant l'espace vide en fin de chaîne.

 

Mais alors pourquoi deux sous-types à chaque fois ?

Le W de WString et V_WString signifie Wide pour "large" ou étendu.

 

Il faut comprendre qu'un caractère est encodé, historiquement, sur un octet, ce qui permet 256 possibilités.

C'est le fameux code ASCII (American Standard Code for Information Interchange - Code américain normalisé pour l'échange d'information).

 

Or l'anglais (UK/US) n'a pas de lettre accentuée contrairement au français ou aux langues européennes en général. Les langues comme le japonais, chinois, etc. utilisent plus de 256 symboles. Il a donc fallu les encoder sur plus d'un octet. Deux voire trois. C'est ce qui donné lieu à l'UNICODE. Dans cette norme d'encodage des caractères, la norme UTF-8 est la plus connue et utilisée. Elle assure la compatibilité avec les codes ASCII.

 

Ce qu'il faut donc retenir, c'est que si vous utilisez abusivement du WString ou du V_WString, vous perdrez de l'efficacité en volume et en performance. Le pire étant V_WString.

 

 

Pour finir, il faut commencer par bien étudier les données du fichier à manipuler. Pour ce faire, vous pouvez utiliser l'outil Alteryx "Champs Automatiques".  Mais cet outil est à utiliser juste pour analyser le fichier, en mode expérimental, découverte et surtout pas en mode RUN., ce qui serait une surcharge pour votre Workflow. La structure est normalement stable.

 

messi007_0-1652278320386.jpeg

 

 

 

 

Après une première exécution, vous obtiendrez, dans l'onglet "Résultat" du Designer, les informations sur les longueurs optimales et les types à définir dans l'outil "Sélectionner".

Il n'y a plus qu'à reporter dans l'outil "Sélectionner".

 

messi007_1-1652278320462.jpeg

 

 

 

Attention toutefois, vous devez rester maître dans vos décisions. L'outil vous donne juste une indication.

Conseil : Si le fichier est trop volumineux, cette analyse peut être longue. Dans ce cas, limitez le nombre d'enregistrements en effectuant un échantillonnage.

 

 

messi007_2-1652278320526.jpeg

 

 

 

Voici ci-dessous la taille des fichiers de tests qui valident cette démonstration.

 

messi007_3-1652278320559.jpeg

 

 

 

Au passage, et en guise de conclusion, on remarquera que le format natif d'Alteryx YXDB est plutôt avantageux et même performant.

C'est un format propriétaire compressé efficacement ! A utiliser sans modération dès le début du workflow.

 

N’hésitez pas à poster vos questions/remarques  !

 

A bientôt pour un autre article !

Commentaires
Étiquettes