Voici un bout de code permettant d’appeler une api web et de récupérer les informations retournées.

// Création de la requête en passant l'url en paramètre
WebRequest request = WebRequest.Create("https://mon.api.net/");
// Ajout de votre authentification si besoin
request.Credentials = CredentialCache.DefaultCredentials;
// Récupérer la réponse
WebResponse response = request.GetResponse();
// Vérification du status si besoin
string status=((HttpWebResponse)response2).StatusDescription;
// Récupération du stream retourné par le serveur
Stream dataStream = response.GetResponseStream();
// Ouverture du stream pour exploitation
StreamReader reader = new StreamReader(dataStream2);
// Dans le cas ou c'est du json, convertion en objet
JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string, object> jsonObject = (Dictionary<string, object>)serializer.DeserializeObject(reader.ReadToEnd());

En quelques lignes, vous avez récupéré votre contenu.
Voici un exemple de récupération de la météo pour la ville de Paris avec l’api forecast.io :

Il faut avoir un compte développeur sur le site pour avoir une clef et pouvoir interroger l’api.
Ajouter la référence System.Web.Extension pour pouvoir utiliser la serialisation javascript.


 WebRequest request = WebRequest.Create("https://api.darksky.net/forecast/xxxxxx_api_key_xxx/48.866667,2.333333");
 request.Credentials = CredentialCache.DefaultCredentials;
 WebResponse response = request.GetResponse();
 Console.WriteLine(((HttpWebResponse)response).StatusDescription);
 Stream dataStream = response.GetResponseStream();
 StreamReader reader = new StreamReader(dataStream);

 JavaScriptSerializer serializer = new JavaScriptSerializer();
 Dictionary<string, object> jsonObject = (Dictionary<string, object>)serializer.DeserializeObject(reader.ReadToEnd());
 Dictionary<string, object> jsonSubObject = (Dictionary<string, object>)jsonObject["currently"];
 Console.WriteLine(jsonSubObject["summary"].ToString());
 Console.WriteLine(jsonSubObject["temperature"].ToString());

 reader.Close();
 response.Close();
 Console.ReadLine();

J’ai récemment dû travailler avec un fichier json enregistré en local pour en récupérer les données et les afficher.

Voici une des manières pour questionner le fichier, récupérer les données et enfin les ajouter à la page html.

// Fonction getJSON, 
$.getJSON("votre_url/votre_fichier.json", function (data) {
 var items = [];
// Pour chaque donnée, on génère le code html et on l'ajoute à notre collection d'items
 for (var i = 0; i &lt; data.pays.length; i++) {
items.push("<li id='" + data.d[i].libelle + "'>" + data.d[i].libelle + "</li>");
 }

// ajouter les elements dans une liste existante dans votre code html
 $("#Ul_Pays").html(items);
 });

pour plus d’infos sur la fonction jquery ici

Attention, certaines sources de données ne prennent pas en compte les expressions de niveau de détail.

C’est le cas pour Microsoft Access. Cette déconvenue peut limiter les possibilités en matière de complexité du rapport.

Je vous conseille donc de bien vérifier tout cela avant de vous lancer sur un projet de dataviz avec Tableau Software.

Plus de détails sur toutes les sources de données ici

Les paramètres dans Tableau Desktop sont très utiles. Ils permettent de dynamiser votre analyse en fonction d’une valeur modifiable par l’utilisateur.

Voyons cela dans un cas concret. Pour cela, nous allons faire un top N ( avec N comme paramètre) en reprenant l’analyse Top 10.

Dans la colonne des mesures, cliquez avec le bouton droit de la souris pour pouvoir créer un paramètre.

Vous devez alors saisir le nom, le type de données et la valeur par défaut de votre paramètre ainsi que le format de celui ci.

 

paramètre

Les valeurs autorisées vous permettent de personnaliser un peu plus votre paramètre et la manière dont l’utilisateur va interagir.

La valeur tout présente une zone de saisie libre pour l’utilisateur.

La liste est une liste de données que vous pourrez choisir à partir d’un champs de votre base de données ou les renseigner vous même.

paramètre 2

 

La plage de données présentera le paramètre comme un slider avec une valeur minimale,maximale et une valeur d’incrément.

Sans titre4

Apres avoir créé votre paramètre, il vous suffit de l’utiliser dans le filtre de votre mesure dans l’onglet Premiers.

Paramètre 4

 

N’oubliez pas d’afficher votre paramètre pour pouvoir l’utiliser.

Voila le résultat des paramètres  en zone de saisie, liste et plage de données.

Paramètre 5

 

 

Pour faire un top 10, c’est très simple, il faut appliquer un tri.

Mettez vos dimensions et mesures en place, par exemple pour un diagramme en barre comme ceci :

Sans titre

 

Ensuite, faites un clique droit sur la dimension, (ID dans notre cas), puis « Trier ».

tri

Dans la fenêtre de configuration du tri, il faut configurer l’ordre de tri (croissant, décroissant) et le tri :

  • Ordre de la source de données va trier les données selon l’ordre de la source de donnée.
  • Ordre alphabétique est assez parlant.
  • Champ va nous permettre d’effectuer un tri en fonction d’un autre champ.
  • Manuel est un tri manuel donc assez risqué..

Ce qui nous intéresse, c’est de faire un tri en fonction du champ « montant » pour trier les ID du plus gros montant au plus faible.

 

 

petit raccourci pour faire un tri intelligent, cliquez sur l’icone Sans titre dans l’en-tête de vos mesures en barres.

 

Ensuite, on veut afficher seulement les 10 montants les plus importants. Il faut donc filtrer nos données.

filtre top 10

Pour cela, on fait un bouton droit sur le champ « ID » puis filtre et dans l’onglet Premiers, on choisit les 10 premiers en fonction du champ « Montant ».

Le type d’opération n’est pas très important dans notre cas car il y a un seul montant par ligne mais sachez que vous avez plusieurs choix tel que le Maximum, Minimum, la Moyenne etc.

 

Au final, on obtient notre diagramme à barre avec les 10 plus gros ID en fonction de leur montant.

barre top 10

 

 

Pour vous connecter à un fichier excel, vous devez sélectionner « Excel » dans le menu de connexion à l’ouverture de tableau desktop.

connexion_fichier_excel

 

Une boite de dialogue va s’ouvrir et vous pourrez alors charger votre fichier source.

Il ne vous reste plus qu’à glisser déposer la ou les feuilles que vous voulez exploiter pour commencer à travailler avec vos données dans l’onglet « Feuille 1 ».

 

Les sources de données sur TD sont diverses et variés. Les fichiers excel sont souvent utilisés avec Tableau Desktop et il est très facile de les exploiter.

Nous allons voir à quoi ressemble la connexion à un fichier excel à partir de TD.

 

Ecran-de-connexion-excel
Ecran de configuration pour un fichier excel

Encadré vert : Nom de vos sources de données, vous pouvez les renommer et en créer une nouvelle.

Encadré jaune : Le type de connexion de votre source de données. Vous avez le choix entre la connexion en direct dite « live » et connexion à un extrait de données.

Encadré orange : Ajouter ou modifier un filtre directement sur votre source de données. ce filtre sera appliqué pour toutes vos feuille / tableaux de bord utilisant cette source de données filtrée.

Encadré marron : Le fichier chargé comme étant la source de données, vous pouvez le changer.

Encadré bleu: Liste des feuilles de votre fichier excel.

Encadré noir : Cet encadré est en quelque sorte le schéma de votre source de données. Dans ce cas la, je n’ai qu’une seule feuille dans mon fichier excel donc seule ma feuille 1 est présente. Dans le cas ou on aurait plusieurs feuilles dans notre fichier, c’est ici que l’on effectuera les jointures entre celles ci.

Encadré rouge : Vous pouvez visualiser vos données et agir sur la structuration de vos données. Vous pouvez masquer une colonne, lui donner un alias, changer le type ou encore scinder les données de celle ci.

Encadré violet : Dans TD, la navigation entre feuilles, tableaux de bords et sources de données se fait par onglets.