MICROsouffle

Articles récents

PowerBi partie 2 : Importer des données et les nettoyer

16 Mars 2016 , Rédigé par Antoine SEJALON Publié dans #PowerBi

PowerBi partie 2 : Importer des données et les nettoyer

Importation

Comme indiqué dans la partie 1, nous allons utiliser PowerBi desktop pour commencer. Une fois PowerBi lancé, vous arrivez sur la fenêtre d’accueil.

 

PowerBi partie 2 : Importer des données et les nettoyer

Cliquez sur obtenir des données. La fenêtre qui s’ouvre va vous permettre de choisir le type de source de données à utiliser (une fois la première source choisi, vous pourrez bien sûr en ajouter d’autre de formats différents).

PowerBi partie 2 : Importer des données et les nettoyer

Pour tester, je vous conseille d’utiliser un format type Excel qui sera simple à créer et à utiliser.

Voici mon fichier Excel (si vous souhaitez être sur la même base de données de départ que moi).

Mon exemple se base sur un chiffre d’affaire d’une boutique et sur le nombre de ventes par jour sur un mois. J’ai volontairement séparé les deux valeurs pour mettre en place des liens entre nos tableaux.

PowerBi partie 2 : Importer des données et les nettoyer

J’ai donc choisi le format Excel et j’ai sélectionné mon fichier exemple. Une fois fait, PowerBi repere les diffèrent tableaux disponible dans votre fichier. A vous de cocher ceux dont vous avez besoin. Dans notre cas nous prendrons les tableaux 1 et 2.

A ce moment-là, ne faites pas « charger » mais  « modifier » car cette action va vous permettre de nettoyer vos données. Par exemple nous allons pouvoir enlever les lignes à valeur nulles, retirer les colonnes qui ne nous intéresse pas, créer des liens entre les tableaux,....

 

Nettoyage des données

Vous arrivez sur une fenêtre qui vous permet de visualiser vos valeurs. A gauche se trouve la liste de vos différents tableaux. Au milieu s’affiche le contenu du tableau sélectionné et à droite le panneau de filtrage et modification de vos données.

Notez que toutes les modifications faites ici ne s’effectuent jamais sur vos données même. PowerBi va importer vos données et ensuite faire les tris.

PowerBi partie 2 : Importer des données et les nettoyer

Sur le tableau 1 nous allons enlever les lignes pour lesquelles le « CA » est null (ce sont les dimanche et il ne nous intéressent donc pas).

Sur une case « null » faite un clic droit => Filtre numérique => « n’est pas égal à ». Cette manipulation indique que l’on ne veut pas les lignes où « CA » est null (les dimanches).

PowerBi partie 2 : Importer des données et les nettoyer

Les ID ne nous intéresse pas. Nous allons donc sélectionner la colonne ID et choisir « supprimer les colonnes » dans l’onglet « Dossier racine » du bandeau supérieur.

PowerBi partie 2 : Importer des données et les nettoyer

Faites la même chose pour le tableau 2.

Voici le résultat :

PowerBi partie 2 : Importer des données et les nettoyer
PowerBi partie 2 : Importer des données et les nettoyer

Vérifiez le type des données du tableau : Clic droit sur le nom de la colonne puis « modifier le type ». Par défaut, PowerBi essai de mettre les bon type par lui-même.

PowerBi partie 2 : Importer des données et les nettoyer

Vous pouvez voir sur la droite que les modificateur appliqués sont visibles et surtout, qu’ils peuvent être supprimé. Si par la suite vous vous apercevez qu’il vous manque un filtre ou qu’au contraire une colonne supprimée doit être remise dans le tableau, vous pourrez revenir ici pour faire les changements. Ils ne sont pas définitifs.

Si vous avez fini de nettoyer votre source de données, il ne vous reste plus qu’à cliquer sur « Fermer & appliquer » dans le menu « Dossier racine » du ruban supérieur.

PowerBi partie 2 : Importer des données et les nettoyer

Une fois revenu sur l’interface de base de PowerBi, nous allons pouvoir ajouter une relation entre nos deux tableaux (sur la date). Cette relation va nous permettre de faire des rapprochements entre les valeurs de ceci.

Commencez par cliquer sur le bouton « Gérer les relations » du menu « Dossier racine » du ruban supérieur.

PowerBi partie 2 : Importer des données et les nettoyer

Cliquez sur « nouveau… »

PowerBi partie 2 : Importer des données et les nettoyer

Indiquez alors les deux tables à lier, puis cliquez sur les colonnes à lier.

PowerBi partie 2 : Importer des données et les nettoyer

Ensuite choisissez le type de relation et cliquez sur OK.

La relation est opérationnelle.

PowerBi partie 2 : Importer des données et les nettoyer

Vous vennez d'importer et nettoyer (de façon simple) des données dans PowerBi.

Je vous propose de continuer sur la mise en place d’une page de rapport qui nous servira à remplir notre dashboard. A tout de suite dans la Partie 3.

Lire la suite

PowerBi partie 1 : Mise en place

16 Mars 2016 , Rédigé par Antoine SEJALON Publié dans #PowerBi

PowerBi partie 1 : Mise en place

Bonjour, je vais mettre en ligne une série d'articles sur PowerBi. Dans un premier temps ces articles seront à destination des débutants PowerBi avec le passage en revue des bases : importation des données, nettoyage des données, mise en forme des données dans des rapports, création de dashboard, ....

Qu'est ce que PowerBi :

''Microsoft Power BI est un ensemble de services et de fonctionnalités en ligne qui vous permettent de rechercher et de visualiser des données, de partager des découvertes et de collaborer en utilisant de nouvelles méthodes intuitives''

source Microsoft

Connexion à la plateforme PowerBi

Pour commencer nous allons nous connecter sur le site PowerBi : ici

Cliquez sur connexion en haut à droite. Si vous avez un compte microsoft, connectez-vous avec, sinon créez en un gratuitement (les comptes gratuits MS vous donne accès à une version limité mais, déjà largement suffisante pour commencer).

Vous arrivez alors sur l’interface de base de PowerBi online. Vous pouvez déjà télécharger la version desktop pour gagner du temps (je vais vous expliquer ensuite la différence entre online et desktop). Le téléchargement ce fait via l’icône de téléchargement en haut sur la droite de la fenêtre.

PowerBi partie 1 : Mise en place

PowerBi online ou PowerBi desktop ?

Ces deux versions ne doivent pas être vues comme un choix à faire car elles sont complémentaires. Voici le descriptif simplifié des deux versions.

Desktop

Cette version va s’utiliser comme vous utiliseriez Word, Excel, … en local sur votre ordinateur. Elle vous permet de créer vos rapports (import de données, nettoyage des données, mise en page des données au travers de graphiques et de cartes, …).

Retenez que c’est la version à utiliser pour créer les rapports.

Online

Cette version va vous permettre de mettre en ligne vos rapports et dashboards. Vous pourrez modifier les rapports directement dessus mais en cas d’actualisation depuis la version desktop, ces modifications seront écrasées.

Retenez que cette version sert surtout à publier vos rapports et dashboards.

Importer les données

Je vous invite à lire la partie 2 dans laquelle nous allons importer des données et les nettoyer.

Partie 2 ici

Lire la suite

Metafizzy : utilisation dans un projet Asp.net MVC

9 Mars 2016 , Rédigé par Antoine SEJALON Publié dans #Asp.net

Metafizzy : utilisation dans un projet Asp.net MVC

Bonjour,

je vais vous présenter la librairie Metafizzy qui va nous permettre d'afficher des listes triables.

Dans un premier temps allez sur Metafizzy.

ensuite cliquez sur isotope.

Metafizzy : utilisation dans un projet Asp.net MVC

Cliquez droit sur le bouton "Download isotope.​pkgd.​min.jsDownload" puis, "enregistrer la cible du lien sous...".

Metafizzy : utilisation dans un projet Asp.net MVC

Ce fichier js sera à ajouter aux scripts de votre solution.

 

Passons au code :

Dans un premier temps nous allons ajouter le menu qui comporte les boutons de tri.

<ul> <!-- Les class servent à utiliser bootstrap et le data-filter permet par la suite de definir les objets à afficher via une sorte d'id de catégorie --> <li><button class="btn btn-default" data-filter="*">Tous les objets</button></li> <li><button class="btn btn-default" data-filter=".categorie1">objets catégorie 1</button></li> <li><button class="btn btn-default" data-filter=".categorie2">objets catégorie 2</button></li> </ul>

Ensuite nous allons créer les objets à afficher (photos, block de texte, ...).

<!-- cette div va etres la ref. d'affichage des objets --> <div class="table"> <!-- je met en col-md-4 pour avoir 3 objets par ligne A vous de choisir le nombre d'articles par ligne. le "categorie1" est l'identifiant qui va permettre de trier les objets --> <div class="element-item col-md-4 categorie1"> <h3>Objet 1</h3> <p>Mon txt objet 1</p> </div> <div class="element-item col-md-4 categorie1"> <h3>Objet 2</h3> <p>Mon txt objet 2</p> </div> <div class="element-item col-md-4 categorie2"> <h3>Objet 3</h3> <p>Mon txt objet 3</p> </div> <div class="element-item col-md-4 categorie2"> <h3>Objet 4</h3> <p>Mon txt objet 4</p> </div> </div>

Quand nous cliquerons sur le bouton avec l'identifiant "categorie2", seul les objets 3 et 4 seront visibles.

Enfin passons au script :

<script type="text/javascript"> // on recupere le conteneur table var $table = $('.table').isotope({ // options }); // filter items on button click $('.filter-button-group').on('click', 'button', function () { var filtreSelect = $(this).attr('data-filter'); $table.isotope({ filter: filtreSelect }); }); </script>

A vous maintenant d'ajuster le css pour avoir quelque chose de propre et adapté à vos besoins.

Bonne journée et bon code =)

Lire la suite

Evénement : Global Azure Bootcamp 2016 Lyon : IoT, Open Source et Cloud Azure

2 Mars 2016 , Rédigé par Antoine SEJALON Publié dans #Lyon, #mug lyon, #evenement, #Communauté

A venir tres prochainement, le Global azure bootcamp se tiendra à la Manufacture des tabacs (université Jean Moulin Lyon III) le 16 Avril 2016 de 8h30 à 16h30.

Tres gros événement qui regroupera dans les 10 000 participants (136 villes dans 56 pays).

''Plus de 12 experts de renom venus des 4 coins de France et de Suisse réaliseront 3 tracks en parralèles pour contenter les Décideurs, les Architects ou Novices, dans un lieu somptueux.''

 

Lien : Meetup GAB Lyon 2016

Evénement : Global Azure Bootcamp 2016 Lyon : IoT, Open Source et Cloud Azure
Lire la suite

Ajax : Formater le champ ‘data’ d’une requête Ajax pour transmettre les valeurs à un controller ASP.Net model MVC.

26 Février 2016 , Rédigé par Antoine SEJALON Publié dans #Asp.net, #ajax

Bonjour, si vous voulez récupérer des valeurs dans une vue .cshtm et les envoyer à un controller, vous pouvez les envoyer via une requête Ajax. Vous allez ainsi pouvoir traiter une requête sans changer ni recharger la page.

Nous allons utiliser une fonction JsonResult dans notre controller et retourner via un Json une réponse à notre vue.

Code controller :

Ajax : Formater le champ ‘data’ d’une requête Ajax pour transmettre les valeurs à un controller ASP.Net model MVC.

Code script de la vue :

Ajax : Formater le champ ‘data’ d’une requête Ajax pour transmettre les valeurs à un controller ASP.Net model MVC.

Pour passer un model en data, découpez encore plus la syntaxe. Par exemple si vous voulez une premiere valeur en model User user(nom, prenom, age) et un int id :

Data : { user : { nom : valNom, prenom : valPrenom, age : valAge }, id : valId }

 

Bon code.

Ajax : Formater le champ ‘data’ d’une requête Ajax pour transmettre les valeurs à un controller ASP.Net model MVC.
Lire la suite

MUG Lyon : Docker: briques légos pour infrastructures : 25/02/2016

23 Février 2016 , Rédigé par Antoine SEJALON Publié dans #mug lyon, #Communauté, #Lyon

MUG Lyon : Docker: briques légos pour infrastructures : 25/02/2016

Le mug Lyon organise une session Docker ce jeudi 25 Février (19:00 - 21:00) : N'hésitez pas à vous inscrire : http://www.meetup.com/fr-FR/MUGLyon/events/228501689/

ARTICLE :

Le MUG Lyon organise une session "Docker: briques légos pour infrastructures" animée par Haikel Guemar, suivie d'un afterwork; ces événements sont gratuits et ouverts à tou(te)s.

--

Description

Lors de cette session, nous découvrirons Docker et son écosystème.
Comment celui-ci entraine un changement de paradigme dans la gestion
d'infrastructure et facilite
la mise en place de processus de Continuous Delivery.
Mais également, l'avenir de Docker sur plateforme Microsoft avec le
support sous Azure et l'arrivée des conteneurs natifs dans Docker
(Windows & HyperV)


Merci à Docker, Inc de nous envoyer des T-shirts Docker pour cette occasion !

--

Événement suivi d'un apéro sur place, puis vers 21h, d'un after au Ninkasi. Attention pour l'after, les consommations sont à votre charge. (Inscription obligatoire)

Retrouvez nos événements et suivez l'actualité du MUG Lyon sur notre site https://muglyon.github.io/ ou contactez-nous sur [masked].

En espérant vous voir nombreu(ses)x.

Merci à Viseo et Open, nos sponsors annuels qui financent le MUG-Lyon. Merci à Sciences-U qui héberge cet événement.

L'équipe du MUG Lyon

Lire la suite

Ajouter un document joint à un formulaire ASP.net MVC en AJAX

19 Février 2016 , Rédigé par Antoine SEJALON

Bonjour,

Aujourd’hui nous allons voir comment créer un formulaire avec pièce jointe, le tout avec un beginform Ajax sur un site ASP.net MVC codé en C#.

La création d’un formulaire Ajax.beginform ne pose en général pas de soucis du moment que l’on ne veut pas envoyer une pièce jointe. Dans notre cas nous allons contourner quelques peu le fonctionnement du formulaire avec Ajax et utiliser un script.

Dans un premier temps, assurez-vous d’avoir les références nécessaires pour ’utiliser javascript et Ajax.

Je vais considérer que vous avez un site ASP.net MVC avec une page « Contact ».

Créez une class « ContactModel » dans le dossier model :

namespace MonProjet

{

   public class ContactModel

   {

      public string Nom { get; set; }

 

      public string Prenom { get; set; }

 

      public string Sujet { get; set; }

 

      public string Corp { get; set; }

 

     public HttpPostedFileBase Attachment { get; set; }

   }

}

Cette classe va nous permettre de récupérer les données via notre formulaire.

Dans votre page Contact ajoutez un using du model puis un using de la localisation du model :

@using MonProjet.Models

@Model ContactModel

Ajoutez ensuite votre formulaire de façon classique :

@using (Ajax.BeginForm("SaveContact", "Home", new { id = "MonFormulaire" }, new AjaxOptions()

    {

             HttpMethod = "POST"

    },

       new { enctype = "multipart/form-data" }

       ))

    {

       <fieldset class="formulaire">

 

             <div class="form-group">

                    <div class="input-group">

                           @Html.TextBoxFor(x => x.Nom, "", new { @class = "form-control", @placeholder = "Nom" })

                           </div>

                    </div>

 

             <div class="form-group">

                    <div class="input-group">

                                  @Html.TextBoxFor(x => x.Prenom, "", new { @class = "form-control", @placeholder = "Prénom" })

                    </div>

             </div>

 

             <div class="form-group">

                    <div class="input-group">

                                  @Html.TextBoxFor(x => x.Sujet, "", new { @class = "form-control", @placeholder = "Sujet" })

                    </div>

             </div>

 

             <div class="form-group">

                    <h4 class="blanc">Ma demande</h4>

                    @Html.TextAreaFor(x => x.Corp, new { @class = "form-control", @cols = 60, @rows = 10 })

             </div>

 

             <div class="form-group">

                    <h4>Mon CV</h4>

                    <input type="file" name="attachment" id="attachment" />

             </div>

            

             <input type="submit" value="Envoyer" class="btn btn-default" />

 

       </fieldset>

}

 

A la suite Ajoutez le script suivant : Ce script permet de courcicuiter l’envoi du formulaire et de faire un envoi par lui-même (avec la pièce jointe). Sans la ligne event.stopImmediatePropagation, vous auriez plusieurs envois en même temps.

Merci à Demian Flavius (stackOverflow) pour le script de base sur lequel je me suis basé.

<script type="text/javascript">

   $(function() {

     $("#MonFormulaire ").submit(function(event) {

         var dataString;

         event.preventDefault();

         event.stopImmediatePropagation(); //Permet de stopper l’action du formulaire et donc de ne pas lancer deux requêtes sur le controller.

         var monUrl = $("#MonFormulaire").attr("action");

         if ($("#MonFormulaire ").attr("enctype") == "multipart/form-data") {

             dataString = new FormData($("#MonFormulaire ").get(0));

             contentType = false;

             processData = false;

         }

         $.ajax({

             type: "POST",

             url: monUrl,

             data: dataString,

             dataType: "json",

             contentType: contentType,

             processData: processData,

             success: function (args) {

                 alert("Ok");

             },

             error: function(jqXHR, textStatus, errorThrown) {

                 alert("Erreur");

             }

         });

       });

    });

</script>

Nous allons ensuite gérer le controller. Dans le controller qui gère votre page « Contact », nous allons codé « SaveContact » que sera la fonction qui récupère le formulaire (voir dans les paramètres du ajax.beginform).

public JsonResult SaveContact(ContactModel model)

{

   Bool pJ ;

   If(model.Attachment != null){

     pJ = true ;

   }else{

     pJ = false ;

}

   return Json("Nom = {0} – Prénom = {1} – Sujet = {2} – piece jointe ? {3}", model.Nom, model.Prenom, model.Sujet, pJ.toString());

}

A vous d’effectuer les action qu’il vous faut avec le model reçu (envoi de mail, sauvegarde en base de données, …).

Lors de l’envoi du formulaire vous aurez en retour une pop-up qui vous indiquera les informations envoyées. Mettez un point d’arrêt en début de fonction SaveContact et regarder si la pièce jointe est bien dans le model.

En espèrent avoir apporté des piste de réflexion ou une solution à votre problème.

Ajouter un document joint à un formulaire ASP.net MVC en AJAX
Lire la suite

C# : transformer une date format string en DateTime

18 Février 2016 , Rédigé par Antoine SEJALON

Bonjour, je vais vous expliquer comment transformer une date au format string en DateTime.

Imaginons que vous receviez un Json qui comporte des données et une date de relevé de ces données, vous voulez récupérer la date et la transformer en DateTime.

Date récupérée :

string myDate = "16/02/2016 14:57:23 AM";

Transformation :

Nous allons utiliser la fonction ParseExact(string dateStr, string formatDate, CultureInfo).

Concrètement :

date = DateTime.ParseExact(myDate, "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture) ;

Note : à vous de modifier le format de la date pour l’adapter à le type de date que vous voulez modifier.

Si vous voulez modifier la date au format DateTime, vous pouvez utiliser par exemple .AddHours(1), .AddMinutes(4).

Merci et bon code.

Lire la suite

Connaitre la taille d’une base de données

16 Février 2016 , Rédigé par Antoine SEJALON Publié dans #sql server

Pour connaitre l’espace utilisé par une base de données, il faut utiliser une requête dans sql management studio. La commande à utiliser est « sp_spaceused ». Si l’on veux rentrer dans le détail de la fonction, elle se présente comme l’exemple ci-dessous :


sp_spaceused  [[@obet1 =] 'objet1'] <br/>

[,[@objet2 =] 'objet2']<br/>

 

Objet1 est le nom de la table et objet2 est un varchar qui vaut « true » ou « false ». S’il est à true, sql server recalcule la taille des pages de données.

 

Dans notre cas, nous ne préciserons pas objet1 et objet2 pour calculer la base de données entière.

 

USE MA_BDD

GO

EXEC sp_spaceused

GO

 

Connaitre la taille d’une base de données
Lire la suite

Azure : changer le mot de passe administrateur d'une database sql server (nouveau portail)

12 Février 2016 , Rédigé par Antoine SEJALON Publié dans #azure, #sql server

Bonjour, je vais vous détailler la marche à suivre pour changer le mot de passe de votre compte administrateur SQL Server database dans le nouveau portail azure.

1. connectez vous à votre portail azure (logique).

2. Ouvrez le menu "toutes les ressources" (1*) puis sélectionnez votre base de données (2*).

voir ci dessous.

Azure : changer le mot de passe administrateur d'une database sql server (nouveau portail)

3. ​Cliquez ​sur le nom du serveur.

Azure : changer le mot de passe administrateur d'une database sql server (nouveau portail)

4. Un nouvel onglet Serveur s’ouvre. Dans les options en haut vous trouverez "Réinitialiser le mot de passe".

 

Azure : changer le mot de passe administrateur d'une database sql server (nouveau portail)
5. suivez les instructions et changer votre mot de passe.
 
 
 
Antoine SEJALON
Lire la suite
<< < 10 20 30 31 > >>