Articles

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...

Générer une liste de valeurs arbitraires (format date)

DECLARE @start date = '20150525' ; DECLARE @end date = getdate() ; WITH dates AS (     SELECT   CONVERT(VARCHAR(10), @start, 112)  AS date     UNION ALL     SELECT   CONVERT(VARCHAR(10), dateadd(DD,1,date) , 112)     FROM  dates     WHERE date < @end ) SELECT * FROM dates OPTION (MAXRECURSION 0);

Sécurité SQL Server : Comment créer un utilisateur, le mapper vers une BD et lui assigner des rôles via un script

Pour un utilisateur SQL : /* Ajout d'un compte SQL  à une base de données */ Use master ; Go  IF NOT EXISTS( select * from sys.sql_logins where name='MyLogin')  BEGIN CREATE LOGIN MyLogin with password= XXXXXX, check_policy = off; END GO Use Mydatabase; Go EXEC sp_change_users_login 'Auto_Fix', 'MyLogin' Pour un compte AD : Use master ; Go  IF NOT EXISTS( select * from sys.server_principals where name='Domain\User')  BEGIN CREATE LOGIN [MyLogin] FROM WINDOWS  with  DEFAULT_DATABASE=[MyDatabase]; END GO Use MyDatabase; Go /* Ajout de l'utilisateur [Domain\User] à la base de données */ CREATE USER [Domain\User] FOR LOGIN [MyLogin] ; /* Ajouter le rôle db_owner au compte */ sp_addrolemember 'db_owner', 'Domain\User'

Comment créer une chaîne de connexion

Image
Créez un fichier (.txt. par exemple) et renommer le en  .udl Entrez dans les  propriétés  de ce fichier Sur l'onglet Connection : Renseignez les infos de votre instance SQL Cliquez sur  Test Connection Vous aurez soit un message  d'échec , soit un message de  succès De nouveau, renommer le fichier en .txt qui contiendra la chaîne de connexion

Erreur de renommage d'une base de données

Si on tente de renommer une BD existante, et on obtient l'erreur suivante :  the database could not be exclusively locked to perform the operation ! Lla solution est la suivante : USE [master]; GO ALTER DATABASE Old_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO ALTER DATABASE Old_Name MODIFY NAME = New_Name ALTER DATABASE New_Name SET MULTI_USER

Erreur lors de création d'un projet SSAS tabulaire

Image
Si vous tentez de créer un projet SSAS tabulaire et vous obtenez l'erreur suivante : cannot connect to server localhost . Reason : the workspace database server is not running in tabular mode Cette erreur signifie que votre instance Analysis Services 'localhost' ne fonctionne pas en mode tableau ... et qu'il fonctionne en mode multidimensionnel. La meilleure façon de tester le mode d'installation de la fonctionnalité Analysis Services est de se connecter avec SQL Server Management Studio, on remarquera rapidement que cet outil est configuré comme suit : et si on tente une connexion vers l'instance : localhost\Tabular, on aura un échec. La solution :  est d'nstaller une nouvelle instance de SQL Server Analysis Services avec Mode Tabular par exemple: localhost\Tabular. Ci-dessous quelques étapes : Nouvelle Installation de SQL Server Sélectionner l'outil SSAS Choisir le nom de l'instance Spécifier le mode Ta...

SQL Server Reporting Services (SSRS)

Image
SSRS est la solution Reporting de Microsoft qui permet d'exécuter les rapports depuis un portail web. D'après mon expérience, j'ai été confronté à des problèmes de développement de rapports SSRS, et je décris les différentes manières pour les résoudre ou les contourner : Le rapport est composé d’un tableau dont les cellules sont cliquables. le clic sur une cellule entraîne l'exécution d'un sous-rapport qui permet de remonter les données en mode détail.       Mais : le fait de vouloir plusieurs sous-rappors (un rapport par onglet), n'est possible ! hélas, le clic droit ne marche pas Solution :  Enregistrer le rapport sous format Excel en local. Les cellules sauvegarde les valeurs des paramètres. Lancer le sous-rapport  dans un nouvel onglet est dorénavant possible .