Archive

Archive for December, 2014

Teradata – fonctions

December 31st, 2014 No comments
  • Fonctions qui proviennent d’oracle

La migration de Teradata en V14 donne accès à des fonctions compatibles avec Oracle. En voici quelques exemples.

oreplace(‘chaîne’, ‘a_remplacer’,’par’)

Cette fonction permet de remplacer l’intégralité de la chaîne de texte « a_remplacer » par la chaîne « par » dans « chaîne ».

Exemple :

Seule la chaîne de caractère “abc” complète a été remplacée par “efg”.

  

otranslate(‘chaîne’, ‘a_remplacer’,’par’)

Cette fonction permet de remplacer chaque caractère de « a_remplacer » par chaque caractère de « par » dans « chaîne ».

Exemple :

Tous les “a” sont remplacés par un “e”, de même pour “b” par “f” et “c” par “g”.

Si « a_remplacer » dans la fonction OTRANSLATE contient un seul caractère alors la fonction aura le même effet que la fonction OREPLACE avec également un seul caractère dans OREPLACE.

 

  • Fonctions non ANSI

Elles passent très bien dans « Teradata SQL Assistant » mais elles ne passent pas dans un script ou dans la création d’une vue par exemple.

left(‘chaîne’, ‘nb caract à garder’)

*** Failure 3706 Syntax error: expected something between ‘,’ and the ‘LEFT’ keyword.

Statement# 1, Info =28

*** Total elapsed time was 1 second.

.

substr(‘chaîne’, ‘caract de départ’,  ‘nb caract à garder’)

Avant l’arrivée de la V14, il y avait le même problème avec la fonction length qui devait être remplacée par la fonction character_length.

.

  • Fonctions qui ne passent pas sous SQL Assistant mais qui passent dans un bteq

Certaines fonctions ne passent pas sous SQL Assistant alors que dans des scripts elles fonctionnent très bien. Il est donc dommage de s’en passer. Voici deux exemples de fonctions :

RPAD(‘chaîne’,’nb caract’,’chaîne de complément’)

 

Sous SQL Assistant, une fenêtre s’ouvre

Puis une autre :

Pour obtenir le résultat dans UltraEdit :

Dans un script, nous avons directement la donnée suivante :

abcxxx

.

LPAD(‘chaîne’,’nb caract’,’chaîne de complément’)

C’est le même principe que pour la fonction RPAD.

Dans un script, nous avons directement la donnée suivante :

xxxabc

Categories: Trucs & astuces Tags:

Teradata – Gestion des nulls

December 31st, 2014 No comments

Le but de cet article est voir comment il est possible de gérer les valeurs nulles.

Partons du principe que nous avons les tables suivantes à notre disposition.

.
  • Problématique

Nous voulons tous les enregistrements de la table 2 qui ne sont pas présents dans la table 1.

Le résultat attendu est : ‘D’ et ‘E’.

Par un minus, voilà ce qu’on obtient.

Par une sous-requête, voilà ce qu’on obtient.

Le résultat attendu est renvoyé correctement avec le requête utilisant le minus mais pas avec la sous-requête.

Essayons de faire le contraire pour voir : tous les enregistrements de la table 1 qui ne sont pas dans la table 2.

Le résultat attendu est : ‘G’ et null.

Par le minus

Par la sous-requête

Le résultat est correct avec le minus et partiel avec la sous-requête.

Pourquoi ?

Read more…

Categories: Trucs & astuces Tags:

Les Variables dans QlikView

December 5th, 2014 No comments

L’utilisation de variables au sein d’un projet permet une maintenance simplifiée des programmes et des interfaces si celles-ci sont bien utilisées. En effet, une variable permet de paramétrer une valeur, une formule, un code couleur et autres à un endroit, ce qui facilite toute modification par la suite et diminue le risque d’avoir des écarts sur des notions identiques.

Dans un projet QlikView, il y a deux moyens de créer, gérer des variables :

  • Au sein des scripts, en utilisant les commandes SET et LET
  • Au sein de l’interface, dans le Menu « Paramètres » «  Vue d’ensembles des Variables… »

Cette présentation porte sur la gestion des variables par le Menu « Paramètres ». Pour expliquer sa mise en œuvre, voici les différents exemples d’utilisation qui vont être abordés :

I] Gestion des codes couleurs

II] Gestion de l’affichage du nombre d’enregistrements

III] Gestion d’affichage selon une liste de choix

———————————————————————————————————

I] Gestions des codes couleurs :

Un projet QlikView est composé d’un ensemble de feuilles qui se superposent, et se différencient par le nom donné à leur onglet.

Il est donc intéressant de jouer avec les codes couleurs pour différencier l’onglet actif de ceux inactifs.

Dans l’exemple ci-dessous, une couleur bleue est affectée à la trame de fond de l’onglet s’il est actif, blanc sinon :

1. Création des variables v_color_tab_ok (bleu), v_color_tab_ko

……..

Liste des Variables

…….. Read more…

Présentation du Machine Learning

December 5th, 2014 No comments

Préambule

.

Le machine learning est aujourd’hui au cœur des innovations les plus marquantes des dernières années, de la Google Car au programme Watson d’IBM, les champs d’applications du machine learning sont vastes. Nous verrons par la suite quelques projets phares réalisés ou en cours de réalisation.

Mais d’abord, qu’est-ce que le machine learning ?

Le machine learning (apprentissage automatique en français) est la capacité d’un ordinateur à apprendre sans avoir été explicitement programmé.  « définition d’Arthur Samuel, pionnier du machine learning »

On regroupe sous ce terme un ensemble d’algorithmes qui apprennent comment effectuer certaines tâches : détecter un spam, reconnaître un visage, effectuer des recommandations personnalisées …

Il existe de nombreux algorithmes pour résoudre des problèmes simples. Mais ces algorithmes sont destinés à répondre à une seule problématique, dès lors cela demande de multiplier les algorithmes pour répondre à des besoins complexes.

Les chercheurs en Intelligence Artificielle ont alors eu une idée : plutôt que de résoudre un problème puis de l’implémenter dans un langage informatique quelconque, pourquoi n’apprendrions nous pas à un ordinateur à trouver un algorithme lui-même à partir des données pour résoudre un problème. Le concept de l’apprentissage automatique était né.

Le Machine Learning c’est donc apprendre des données qui nous entourent pour en extraire des tendances et ainsi faire des prédictions sur le futur.

Il a pris son essort avec l’émergence du Big Data, des milliards de données sont désormais facilement à disposition pour alimenter les modèles permettant de construire les algorithmes.

Read more…

Categories: Big Data, Divers Tags:

INFORMATICA : Modifier facilement une source

December 3rd, 2014 No comments

Il est parfois fastidieux d’avoir à modifier un fichier comprenant de nombreux champs en source de Powercenter.

Voici donc une astuce pour réaliser facilement cette manœuvre dans le module designer !

Fixer la zone target puis sélectionner le fichier source et faites un glisser/déposer dans cette zone :

NB : La manipulation se fait en zone Target car en Source, il ne sera pas possible de générer la structure du fichier.

Vous vous demandez, mais pourquoi ne réimporte-t-on pas directement la nouvelle source de données ?

Pour les simples et bonnes raisons que cette méthode permet :

– > de récupérer les types de données des champs existants, ce qui évite d’avoir à tous les redéfinir

– > de ne pas perdre tout le paramétrage relatif à cette source dans le Workflow manager.

Lors du déplacement du fichier dans la zone Target, Informatica détecte un conflit, calmez-vous ! il propose les résolutions ci-dessous :

Cliquer sur Rename pour éviter l’écrasement du fichier :

Editer le fichier ainsi renommé et changer le type Flat file pour un Database type, dans notre cas, la base de données Teradata :

La structure s’affiche sous cette forme :

Read more…