Articles high-tech taggés "microsoft-ssas"

Fil des billets - Fil des commentaires

Organiser les indicateurs SSAS en les masquant ou les plaçant dans un dossier Particulier avec du code MDX

Pour organiser les indicateurs de façon plus élégante et permettre des regroupements pour les utilisateurs finaux des solutions de Business Intelligence sous Analysis Services, surtout pour les utilisateurs d' Excel 2003 ou 2007 pour du Reporting Adhoc, il est préférable de les classer fonctionnellement dans des dossier nommés explicitement.

Pour gagner en ergonomie dans le reporting, les propriétés FORMAT_STRING, VISIBLE et DISPLAY_FOLDER sont très précieuses :

Cet exemple de code MDX permet de créé un indicateur basé sur un groupe de mesures dans notre fichier.cube , ce groupe de mesure contient en pratique un ou plusieurs champs issus d'une table créée au préalable dans notre Vue de données Vue_Exemple.dsv

CREATE MEMBER CURRENTCUBE.[Measures].[Domaine Fonctionnel - Indicateur Ventes] AS [Measures].[Indicateur des ventes - dans le groupe de mesures], FORMAT_STRING = "#,##0.00 €;-#,##0.00 €", VISIBLE = 1 , DISPLAY_FOLDER = 'Ventes'; A la première ligne nous crééons l'indicateur dans le Cube et nous indiquons sur quel groupe de mesures l' indicateur se basera dans le groupe de mesures en utilisant la commande MDX CREATE MEMBER AS A la deuxième ligne nous indiquons le format des données qui...

Lire la suite 1 commentaires

Comment calculer la médiane des membres d'un jeu de données dans une requête MDX

MEDIAN() est la fonction à utiliser.
En MDX, pour ne pas faire de savants calculs et ne pas "réinventer la roue", il est préférable d' utiliser les fonctions disponibles.

Comme la variable Avg() pour calculer les moyennes des membres, plutôt que de créer un membre calculé qui compte le nombre distinct de membres pour effectuer la moyenne.

Exemple de fonction MDX sous SSAS (testée sous SQL Server 2008) pour obtenir la médiane d'un indicateur provenant d'un cube multidimensionnel.

WITH MEMBER [Measures].[INDICATEUR] AS Median([Date].[Calendrier].CurrentMember.Children , [Measures].[Ventes Produits] ) SELECT [Measures].[INDICATEUR] ON 0, NON EMPTY [Date].[Calendrier].[Mois]* [Produits].[Catégories Produits].[Sous-Catégories].MEMBERS * [Géographie].[Géographie].[Country].MEMBERS ON 1 FROM [VOTRE_CUBE_MULTIDIMENSIONNEL]...

Lire la suite

Les outils de Reporting Ad Hoc sous SQL Server

Vous recherchez une alternative pour fournir à vos clients internes ou externes un système de Reporting Ad Hoc avec une interface conviviale , puissante et reconnue ? Les Cubes OLAP SSAS sont une trés bonne alternative au Reporting Ad Hoc des outils open source comme Pentaho par exemple ou encore d'autres outils permettant la conception de cubes comme JasperServer, Cognos, SAP Business Objets ou ou Autres InformationBuilders....

Le reporting ad-hoc est le concept qu'utilisent les outils décisionnels pour la création de rapports d'aide à la décision. Pour Microsoft, l'outil de base est Reporting Services et l'outil orienté utilisateur final est Report Builder, qui est un utilisateur fonctionnel, comme un comptable ou un contrôleur de gestion par exemple. L'avantage des solutions Ad Hoc est l'autonomie des clients finaux qui peuvent créés des rapports et les publier sans l'intervention d'informaticiens. L'utilisateur, en...

Lire la suite

Equivalent du SWITCH () en MDX sous SQL Server ?

Pour réaliser une requête conditionnelle avec plusieurs cas possible, un simple IIF(, ,) ne suffit pas. Le SWITCH() n'existe pas en MDX, les Switch utilisés dans SSRS viennent du fait que SSRS utilise le langage Visual Basic, pour ce faire en MDX il faut utiliser la commande CASE().

L'expression CASE en MDX permet de retourner des valeurs spécifiques en fonctions de plusieurs comparaisons, il existe 2 type d'expressions CASE. Un premier type (simple) qui permet de spécifier l'expression sur sur laquelle portera les tests. CASE [Expression à tester] WHEN Valeur1 THEN Valeur_de_retour_1 retournée si Expression est égale à la Valeur1 WHEN Valeur2 THEN Valeur_de_retour_2 retournée si Expression est égale à la Valeur2 ETC... [ELSE Valeur retournée dans tous les autres cas] END...

Lire la suite

Comment éviter les erreurs de type Division by Zero et les valeurs 1.#INF en MDX ?

En MDX, en calculant des taux, une erreur fréquente est la division par zéro quant le membre MDX retourné par la requête utilisé en tant que dividende est null ou égal à zéro.

Pour éviter les erreurs division by zero ou les résultats 1.#INF dans Reporting Services. On teste si le membre utilisé dans la division comme diviseur est égal à zéro, si c'est le cas on retourne la valeur NULL : MEMBER MEASURES.[Evolution] AS IIF( ([Measures].[Ventes Produit], [Date].[Date].CURRENTMEMBER.PREVMEMBER)=0, NULL, ([Measures].[Ventes Produit]-([Measures].[Ventes Produit], [Date].[Date].CURRENTMEMBER.PREVMEMBER)) / ([Measures].[Ventes Produit], [Date].[Date].CURRENTMEMBER.PREVMEMBER)...

Lire la suite

MdxScriptUpdater ou comment simplifier le passage en production de scripts MDX sous SQL Server Analysis Services ?

MdxScriptUpdater est une classe C# fournie en tant que freeware (freeware) entièrement gratuit qui simplifie la mise à jour de scripts MDX en environnement de production.

La dernière version est disponible en téléchargement : Télécharger gratuitement MdxScriptUpdater 1.0.0.0 L'utilisation n'est pas trés intuitive mais un article et une documentation sont disponibles en téléchargement : Article sur la classe MdxScriptUpdater. MdxScriptUpdater est proposé par la société SQLBI. Site officiel de SQLBI...

Lire la suite

Suivez le blog high-tech

  • Logo Twitter
  • Logo Facebook
  • Logo Youtube
  • Logo Fil RSS