Articles

Créer une colonne personnalisée

Image

Autour des jobs SQL Server

Image
Scénario:  Lors d'un projet de migration, j'ai été confronté au problème de pouvoir générer des jobs en masse via management Studio dans le but de les migrer dans un nouvel environnement SQL Server. En plus, on liste différents moyens de manipuler les jobs (depuis Management Studio ou via script) Solution :  La solution est d'appuyer sur la touche F7 ,on pourra sélectionner plusieurs jobs et ainsi générer le script par un clic droit 'Script Job as '. Démarrer/Arrêter un job Arrêter un job (ou plusieurs via script uniquement) USE msdb GO                                                                   OU  EXEC dbo.sp_stop_job N'The name of the job' Démarrer un job (ou plusieurs via script uniquement) USE msdb GO               ...

Comment vérifier l'existence d'un fichier avant d'exécuter des tâches

Image
Scénario :  Souvent on est amené à vérifier l'existence d'un fichier dans un répertoire avant de lancer l'exécution les tâches restantes dans un package ou pas. Solution :  Pour ce faire, on créée 3 variables dans le package : Folder_Path: nom du répertoire dans lequel on vérifie l’existence du fichier File_Path: pour le chemin absolu du ficher (concaténation du chemin du répertoire et 'MonFichier.txt') File_Exist_Flg : flag qui égal à "1" si le fichier existe, sinon "0" Glisser le composant Script Task et renseigner les variables comme ci-dessous : Le script en C# teste si le fichier existe ou pas, et affecte la bonne valeur à la variable  File_Exist_Flg: On ajoute la contrainte de précédence,  Si le fichier existe, on poursuit l'exécution du flux de données qui suit, sinon, on l'exécute pas.

Erreur process cube : logon failure unknown username or bad password

Image
Scénario:  Lors du process d'un cube ou une dimension, on a l'erreur de type (voir ci-dessous) : 'logon failure unknown username or bad password' Cela provient des informations erronées d'authentification l ors de la création d'un objet source de données dans un modèle Analysis Services, il s'agit de l'un des paramètres que vous devez configurer : l'option d'emprunt d'identité ( Impersonation Information ). Solution:  Pour résoudre ce problème on procède par ligne de commande, où XXXX représente le compte utilisateur : Net user XXXX /active:yes Ou bien on renseigne à nouveau le compte Windows adéquat : Origine erreur : Après plusieurs tentatives de process (d'échecs d'authentification), le compte est bloqué ! Afin de résoudre ce problème, on procède  comme suit en ré-activant le compte :

Déploiment d'un cube sur plusieurs serveurs

Image
Scénario :  Déployer le cube sur plusieurs serveurs Solution :  Il existe 2 méthodes pour déployer un cube sur SQL Server Management Studio : Faire un Backup, -->  copier le fichier vers le nouvel environnement --> faire un restore depuis ce fichier Générer un script XMLA et l'exécuter directement sur le serveur cible   Méthode 1 Copiez le fichier de sauvegarde créé dans le nouvel environnement (attention aux droits d’accès ). Lancer SQL Server Management Studio dans le nouvel environnement et connectez-vous au serveur Analysis Services cible Créer une nouvelle base de données dans le serveur avec un nom pertinent (généralement concernant l'ancien nom de cube). Clic droit sur le dossier Bases de données et sélectionnez Restaurer Spécifier le fichier de sauvegarde, la base de données à laquelle il sera écrit, et cochez la case à cocher Autoriser le remplissage de la base de données.  Méthode 2 Ouvrez SQL Serv...

Comment calculer YTD, MTD en MDX - PeriodsToDate

Un besoin récurrent dans les rapports de Business Intelligence est de comparer les mesures à fréquence journalière ou mensuelle (chiffre d’affaire à titre d’exemple) par rapport aux mesures cumulées jusqu’à une date donnée (jour ou mois). Pour cette raison, on utilise fréquemment les notions de YTD (Year-to-Date) et MTD (month-to-Date). Plus souvent les mesures citées précédemment sont calculées dans le cube, d’autres mesures peuvent être rajoutées par ex. QTD (Qurter-to-Date) et WTD (Week-to-Date) Donc, comment calcule-t-on ces mesures en MDX ?  Pour ce faire, il existe des fonctions, à savoir : 1. YTD (member_expression) : est une fonction qui renvoie un ensemble de membres du même parent (sibling), cette liste contient en première position le premier frère et en dernière position le membre spécifié : member_expression. Ex. La fonction utilisée toute seule : YTD([Time].[CalendarMonth].[Month Id].&[201606]) renvoie la liste suivante : J...