Archives de la catégorie ‘Analysis Services’

Power View et SSAS – clarifications

9 novembre 2012

Suite à une discussion avec Frédéric Brossard (via les commentaires et lorsqu’on s’est vu au PASS), il y a eu un certain doute sur :

Power View dans Excel 2013 RTM peut-il attaquer du SSAS (tabular ou multidimensionnel) ?

Selon la Keynote du PASS Summit, la réponse est oui et les démos l’ont confirmé.

Avec mon modèle tabulaire (basé sur le projet AdventureWorks de CodePlex), j’ai cette erreur :

image

Donc je suis allé à la conclusion que Power View ne marchait toujours pas sur du SSAS Tabulaire. Mais la vérité est ailleurs©

En fait, avec une base tabulaire plus simple (ie. une table), Power View arrive à le charger et en effet, on peut faire des rapports Power View sur du tabulaire.

Moralité : j’ai un bug de compatibilité sur un élément de mon modèle (que je vais de ce pas mettre sur Connect). A retenir.

Le test bête sur du multidimensionnel :

image

L’erreur est plus explicite : ça ne marche pas actuellement sur du multidimensionnel.

Alors ?

Power View marche sur :

  • un Data Model dans Excel 2013
  • un classeur Excel 2013 dans SharePoint (Excel Web App)
  • un SSAS Tabulaire (attention, il peu y avoir un problème de modèle, cf. ci-dessus)

 

Sur du multidim, c’est pour quand ?

(gars qui siffle en regardant en l’air)

Microsoft travaille dessus c’est une certitude. Mais quand aura t-on une version, nous ne le savons pas encore.

Plus de détails sur le blog de Chris Web qui était à la session sur le sujet au PASS Summit :
http://cwebbbi.wordpress.com/2012/11/09/power-view-on-ssas-multidimensional/

Stay tuned !

Calcul de centile en DAX

14 août 2012

Après avoir calculé des centiles en MDX (article ici), nous allons faire la même chose dans PowerPivot avec le langage DAX.
Cela marchera également dans un cube tabulaire.

Rappels mathématiques

La formule de base est simple, on récupère la valeur du

p(n+1)/100 –ème élément

p : centile recherché (ici 1 car nous voulons le 1er centile)
n : nombre d’éléments dans l’échantillon

On applique ensuite une interpolation avec l’élément suivant :

1erCentile + (1erCentileSuivant – 1erCentile) * (RangCentileReel – RangCentile)

Les données

Je me base sur AdventureWorks et je récupère les ventes, le catalogue (produit-catégorie) et une dimension temps.

La complexité est que la granularité de la table est au niveau ligne de commande (SalesOrderLineNumber) alors que je souhaite baser mes calculs sur la commande.

Les calculs

  • On échantillonne nos données
  • On calcule le nombre d’échantillons
  • On calcule le rang de chaque échantillon
  • On récupère la valeur de l’échantillon au bon rang et au rang suivant
  • On interpole

Les formules DAX

L’échantillonnage sera fait dans les différentes formules, en faisant les changements de contexte de filtres (Filter Context).

Le nombre d’échantillons se calcule avec un COUNTROWS.

Le rang de chaque échantillon se calcule avec un RANKX.

Enfin, pour récupérer la valeur de l’échantillon, n’ayant pas la fonction ITEM (il n’y a pas de notion de SET en tabulaire), nous prendrons la dernière valeur d’un TOPN avec un MAXX (ça devrait vous rappeler le BOTTOMCOUNT en MDX).

Attention : Tous ces calculs sont des mesures et non pas des colonnes calculées.

Montant des ventes := SUM(Ventes[Montant])

Rang := RANKX(
  CALCULATETABLE(
    Ventes;
    ALL(Ventes[N° Commande]));
  [Montant des ventes];;1
)

CALCULATETABLE permet de changer le contexte de la fonction RANKX. Le ALL permet de retirer le filtre sur le N° de commande et donc de faire le ranking sur toutes les commandes. Tous les autres filtres qui pourraient être mis sont conservés dans le Filter Context.

Rang1erCentile := CALCULATE(
   ( COUNTROWS(Ventes) – 1 ) / 100 + 1;
   ALL(Ventes[N° Commande])
)

MAXX( Table, Valeur )
TOPN ( N, Table, Expression, Ordre )
(Table étant la table ET son contexte de filtres évidemment)

1erCentile := MAXX(
   TOPN(
      ROUNDDOWN([Rang1erCentile]; 0);
      CALCULATETABLE(Ventes; ALL(Ventes[N° Commande]));  
      [Montant des ventes];
      1);
   [Montant des ventes]
)

1erCentileSuivant := MAXX(
   TOPN(
      ROUNDUP([Rang1erCentile]; 0);
      CALCULATETABLE(Ventes; ALL(Ventes[N° Commande]));
      [Montant des ventes];
      1);
   [Montant des ventes]
)

Les 2 mesures se ressemblent évidemment sauf que l’une prend le ROUNDUP et l’autre le ROUNDDOWN.

Et on finit avec l’interpolation :

Centile:= [1erCentile] + ( [1erCentileSuivant] - [1erCentile] ) * ( [Rang1erCentile] - ROUNDDOWN([Rang1erCentile]; 0) )

Un problème d’agrégation ?

Je l’ai amorcé plus tôt dans l’article mais si vous essayez ces scripts, ils ne fonctionneront pas. Vous aurez des rangs incorrects et donc des centiles incorrects également.

Mais pourquoi ? Le problème vient de la granularité de la table source. Je vous disais que je récupère les lignes de la tables FactInternetSales qui sont à la granularité Ligne de commande donc ma table contient plusieurs lignes par N° de commande.

PowerPivot fait tout ses calculs directement sur la table en mémoire. Il n’y a pas d’agrégation intermédiaire comme dans un cube. Dans la version MDX, la granularité la plus fine du cube est la commande (à cause de ma dimension factuelle Commande, cf. l’article MDX).

J’ai beau changer dans la fonction CALCULATETABLE le contexte de filtre sur le n° de commande, cela n’agrège pas les données et j’ai toujours n-lignes, ce qui décale les rangs.

Les solutions

Tout d’abord, retenez que les scripts ci-dessus fonctionnent si vous avez le bon niveau d’agrégation dans vos données. Pour que cela fonctionne, il suffit de charger un agrégat de la table FactInternetSales (avec un GROUP BY SalesOrderNumber dans la requête).

Cela me permet d’insistez sur un point important dans PowerPivot (mais qui est valable également pour les DataWarehouse). Si vous travaillez sur une granularité N, ne chargez pas les données de la granularité N-1. Même si PowerPivot sait gérer un gros volume de données, cela allègera votre classeur PowerPivot et boostera vos calculs.

Une autre solution (car je connais le précepte “je vais tout mettre, on ne sait jamais…”) est d’utiliser un filtre supplémentaire dans le changement de contexte.

CALCULATETABLE(
   Ventes;
   ALL(Ventes[N° Commande]);
   Ventes[SalesOrderLineNumber]=1
)

Evidemment, je peux utiliser ce filtre car je sais que toutes les commandes ont au moins 1 ligne avec la valeur 1.

Merci à Colin Banfield qui m’a fait gagner un temps précieux et des formules optimisées.

Automatisation des sauvegardes de cubes SSAS

5 juillet 2012

Faire un backup de vos bases Analysis Services, c’est facile, c’est une commande XMLA.
Allez, je vous la mets pour la forme :

<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
  <0bject>
    <DatabaseID>Adventure Works DW 2008</DatabaseID>
  </0bject>
  <File>Adventure Works DW 2008.abf</File>
</Backup>

Si ensuite, je veux l’automatiser, je crée une étape “Commande Analysis Services” dans un job du SQL Agent.

Sauf que si je veux garder les 7 derniers backups, j’ai besoin d’ajouter la date dans le nom du fichier ABF. Dynamiquement.

La solution que j’ai pris, faire un peu de PowerShell :

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
[Microsoft.AnalysisServices.Server]$server = New-Object Microsoft.AnalysisServices.Server

[string]$instanceName = "BI1101ID\MSBI"
$server.connect($instanceName) 

$backupRoot = "C:\DataRoot\MSAS10_50.MSSQLSERVER\OLAP\BACKUP\"
$dbName = "UneBaseSSAS"

[string]$backupTimeStamp = Get-Date -Format "yyyyMMddHHmm"

$db = $server.databases[$dbName]
$backupFile = $backupRoot + $dbName + "-" + $backupTimeStamp + ".abf"

$db.Backup($backupFile)

Et voila.

Déploiement XMLA et mots de passe des Data Sources

12 mai 2012

imagePour déployer des modifications sur vos bases de données Analysis Services, vous devez préparer un script XMLA.

La syntaxe XML est une instruction Alter selon ce format :

 

 

<Command>
  <Alter AllowCreate="true" ObjectExpansion="enum">
    <!Object>...<!Object>
    <ObjectDefinition>...</ObjectDefinition>
  </Alter>
</Command>

L’attribut AllowCreate permet de créer l’objet s’il n’existe pas.

Le tag Object sert à pointer sur l’objet à modifier. Par exemple pour, modifier une dimension vous aurez ceci :

<!Object>
  <DatabaseID>ContosoUDM</DatabaseID>
  <DimensionID>Calendrier</DimensionID>
<!Object>

Le tag <ObjectDefinition/> contient quant à lui la définition de l’objet à créer ou à modifier.

Dans la vraie vie…

Dans les faits, on écrit jamais de zéro une instruction <Alter/>. On s’en remet à l’assistant de déploiement (Deployment Wizard), un outil fournit avec SSAS.
Cet assistant va générer le script XMLA et notamment la complexe définition de l’objet.
A noter qu’il est utilisable en ligne de commande : Microsoft.AnalysisServices.Deployment.exe

Le problème qu’on peut rencontrer, c’est quand on utilise un compte (compte de service ou un utilisateur Windows) pour l’impersonation des sources de données.
Dans ce cas, le script XMLA généré ne contient pas le mot de passe du compte or celui-ci doit être reprécisé.

On peut évidemment le rajouter le mot de passe dans le script avant de le lancer :

<ImpersonationInfo>
  <ImpersonationMode>ImpersonateAccount</ImpersonationMode>
  <Account>Domain\AS_Account</Account>
  <Password>***</Password>
</ImpersonationInfo>

Mais pourquoi doit ont repréciser le mot de passe à chaque déploiement ?

A cause de l’attribut ObjectExpansion de la commande Alter. Cet attribut est par défaut à ExpandFull, ce qui signifie que la définition de l’objet doit être complète.
Donc pour modifier le cube, il faut préciser tous les objets dépendants, ce qui inclut la data source et par conséquent le mot de passe du compte d’impersonation.

Peut-on faire autrement ?

ObjectExpansion peut prendre la valeur ObjectProperties, qui permet de n’indiquer que les éléments qui ont changé.
Il suffirait ainsi de ne pas préciser le bloc <ImpersonationInfo/> ou <DataSourceImpersonationInfo/>.

Sauf que ObjectProperties ne permet de modifier qu’objet par objet. Il faut donc toute une série de commandes Alter représentant toute la hiérarchie d’objets en pointant chacun avec le bloc <Object/>.

Alors finalement quelle solution ?

Il n’y en a pas vraiment Triste. Les outils ne récupèrent pas le mot de passe et vous devez le renvoyer lors de la mise à jour quand on est en ExpandFull. Et utiliser l’option ObjectProperties rend le script XMLA trop compliqué.

Quelques pistes que j’utilise (en fonction du projet ou de la plate-forme) :

  • utiliser le compte de service SSAS : vous n’aurez pas à manipuler de mot de passe dans les sources de données. L’inconvénient est que vous mutualisez l’accès aux données sources or on doit souvent cloisonner ces accès
  • Passer un script XMLA que vous gardez précieusement qui rétablit les mots de passe en post-déploiement (avec l’option ObjectProperties). Ca marche aussi avec un script PowerShell et de l’AMO

Note : sachez que dans la cas de “gros” cubes (ie. ceux qui mettent un temps de process tel qu’on ne peut reprocesser tout à chaque fois), on est très vigilant sur les mises à jour. En effet, elles ne doivent en aucun cas mettre les partitions dans un état Unprocessed.

Bonnes mises à jour de cubes !

Tabulaire versus Multidimensionnel

19 octobre 2011

imageDans ma série “je dépile mes posts du PASS Summit”, je vais vous parler de la session de Marco Russo à laquelle j’ai assisté.

Le sujet est la modélisation décisionnelle en OLAP ou Vertipaq et la façon de le présenter très pragmatique.
Marco Russo a simplement pris des scénarios décisionnels usuels et les a modélisé en multidimensionnel et en tabulaire.

Evidemment, une introduction claire a été faite rappelant les différences entre les 2 modèles (requêtage, modélisation, exécution, etc.).
J’ai retenu (entre autres) cette phrase de Marco :

Both Data Modeling will live side by side a long time

Je vous renvoie vers mes précédents articles sur le BISM pour plus d’infos.

 

Les exemples de modélisation présentés :

  • calcul de stock
  • nouveaux clients
  • matrice de transition (exploitation des changements d’une SCD)
  • classification ABC

Je ne vais pas vous refaire les démonstrations dans ce post mais il est apparu assez évidemment que Vertipaq, Tabular et DAX forme un trio simplifiant grandement la modélisation.

Certes, les scénarios ont été choisis en conséquence car la conclusion n’est pas de dire que le modèle tabulaire est meilleur. Il est différent et apporte de grandes simplifications dans de nombreux cas d’analyse. (je vous renvoie vers le blog de Marco).

 

J’ai aimé :

  • la simplicité intellectuelle de la modélisation Tabulaire (on réfléchit comme un utilisateur d’Excel)
  • Approche “Think as entities
  • les raccourcis du langage DAX qui réduit la taille du code des mesures calculées

 

Pour aller plus loin

Je vous invite à vous inscrire aux Journées SQL Server à Paris les 12 et 13 décembre. 2 sessions seront consacrées à la modélisation de solutions décisionnelles.

La première par François Jehl qui reprend le sujet de Marco Russo sur les différences entre Tabulaire et Multidimensionnel

S122 – Décider entre Tabular ou Multidimensional pour un projet Analysis Services

La seconde par Florian Eiden (je l’assisterai comme co-speaker sur le sujet) sur la modélisation dimensionnelle de façon plus générale.

S221 – Modélisation dimensionnelle : le fondement du DataWarehouse

 

See you in Paris.

Session : Delivering KPIs

17 octobre 2011

Speaker : Peter Myers

 

imageLa session parle des indicateurs de performances, les KPI. Dit comme cela, le sujet est simple mais la description m’a plutôt intéressé car elle décline le sujet sur les différents produits de la stack BI : SSAS, Excel, SSRS, PPS (PerformancePoint) et il y a même un peu de Data Mining.

Bon, pour être honnête, c’est le mot-clé MDX qui m’a décidé Sourire.

La session a été très claire et très didactite. Le speaker a pris le sujet à la base et a déroulé les implémentations, les façons de faire, les questions à se poser.

Même si je connaissais suffisamment le sujet pour ne pas le découvrir en séance, c’est bon de voir tout repris dans l’ordre et redémontré (surtout le Data Mining qui n’est pas ma tasse de thé et le Write-Back).

J’ai aimé :

  • Le rappel de l’importance de l’alignement à la stratégie métier (Balanced Scorecard – Norton/Kaplan)
  • Le rappel qu’un tableau de bord est un ensemble de KPI corrélées ensemble (encore une fois la méthodologie de Norton/Kaplan est en sur le devant de la scène)
  • Une super démo de Data Mining (algorithme Time Series)
  • La saisie des valeurs depuis Excel 2010 en utilisant le Write-Back
  • L’ensemble des métadonnées à mettre sur une KPI
  • La création d’un tableau de bord de KPI en provenance d’un cube dans Excel 2010 en mode Free-Form

 

Je pense que ça mérite un article sur le sujet alors je mets ça dans la pile.

Session avec SQLCAT – SSAS et Big Data

14 octobre 2011

imageHier, je suis allé à une session présentée par l’équipe SQLCAT (Customer Advisory Team) sur le cube Analysis Services  de Yahoo! qui ne fait pas moins de 24To.

SQLCAT est une équipe dédiée à l’architecture et la mise en œuvre de SQL Server sur des (très) gros environnements. On leur doit presque tous les livres blancs sur les performances SQL Server.
Ce sont aussi eux qui ont battu le record de chargement de données avec 1To en 30 minutes avec SSIS.

La session était très complexe, les speakers survoltés (et donc parlant très vite avec tout un tas de traits humoristiques que j’avais du mal à suivre). Je ne vais donc pas en faire un compte-rendu détaillé.

Ce que je veux partager avec vous, c’est la philosophie qu’il y a derrière une solution de cette taille (on parle de milliers de milliards de lignes).

Vous aurez peut-être deviné, il y a de l’Hadoop et du HiveQL dans la solution pour extraire et traiter les logs depuis les systèmes de fichiers de Yahoo!.

Ce n’est que pure spéculation, mais j’ai bien l’impression que ce projet a été très impliqué dans les phases de développement du driver Hadoop de SQL Server 2012

Revenons à la BI. Derrière, il y a bien un cube SSAS ; et pas d’Hadoop de ce côté là.

La clé est le partitionnement.

C’est la solution pour intégrer 135Go de données par jour et pour les processer (les traiter – pardon pour l’anglicisme).
Les partitions sont très petites ; les 135Go sont eux mêmes partitionnés pour avoir du quasi temps réel (near-time). Et régulièrement, les partitions sont fusionnées (commande XMLA MergePartitions).

L’autre point important est une modélisation simple et relativement rigide. On le comprend aisément, si les dimensions changent tous les 4 matins, on a un risque de devoir reprocesser l’ensemble des 24To. On est donc dans du pur ProcessAdd (si je parle en XMLA).

Bref, de beaux challenges à résoudre et j’adorerais passer un jour dans l’équipe pour aborder tout cela avec eux.

 

Pour le fun, voici quelques notes sur les éléments physiques de la solution :

  • 128 Cores
  • 2TB RAM
  • SAN : 400TB
  • 1M IOPS
  • 36Go/s en lecture depuis le DWH

 

Le conseil du jour de la part de Denny Lee :

Créez une nouvelle partition dans SSAS dès que la taille de la partition atteint 4Go

Nouveautés Analysis Services 2012

13 octobre 2011

Speakers : John Hancock & Ashivini Sharma (Lead Program Managers)

J’ai choisi de zapper une session level 300 sur le design de cube pour aller voir la présentation des nouveautés par les PM en personne.

Pour résumer, les points suivants ont été abordés (je rentre dans le détail par la suite) :

  • PowerPivot v2
  • BISM
  • Evolutions du moteur multidimensionnel (les 5 minutes de la fin)

 

BISM : one model for all End User experiences

La présentation de BISM m’a fait penser à la devise du seigneur des anneaux : un modèle pour les gouverner tous (et dans les ténèbres les lier). Retour sur la session.

 

Après une démo sur PowerPivot v2 (les nouveautés avaient été présentées dans ce précédent post), le modèle est sauvegardé sur Sharepoint.

A ce stade, vous avez une solution décisionnelle disponible et vous pouvez directement faire un rapport Crescent Power View.

Mais comment manager cela quand la source est un fichier Excel qui prend ses données d’un rapport qui prend sa source dans un flux OData ? (là je pousse le bouchon mais admettons…)

L’objectif est de pouvoir promouvoir un modèle créé par l’utilisateur dans un vrai cadre Analysis Services. Pour cela, on peut réimporter  notre classeur PowerPivot.

image

Vous noterez qu’il nous faut un Analysis Services en mode Vertipaq (tabulaire) mais ça reste une base de données SSAS gérée sur un serveur SSAS et attaquable depuis les outils classiques (Excel, PowerPivot, Power View, SSRS, etc.).

 

Revenons sur le BISM. J’avais déjà parlé du sujet (le post ici) mais je vais faire une piqure de rappel. BISM est un super-modèle, il ne remplace rien. Les sous-ensemble sont :

  • le très connu UDM (SSAS 2005-2008R2)
  • le nouveau modèle tabulaire qui a démarré avec PowerPivot

Ces 2 modèles ont chacun leurs outils, langages et une conception différente.
BISM les réunit afin d’offrir aux outils de restitution de données un modèle commun (en programmation objet, on dirait une abstraction).

Evidemment, quand j’évoque les différences, elles vont s’effacer par la suite car elles sont déjà quasiment iso-fonctionnelles (là j’exagère un peu mais l’idée est là). On peut déjà tout faire dans Visual Studio par exemple.

Mais alors que doit-on choisir ?

La question est difficile à répondre aujourd’hui donc on se contentera de celle du consultant : ça dépend Sourire.

Ma vision est que le modèle tabulaire est pour l’instant plutôt orienté pour les POC, les développements rapides ou la réalisation de modèle décisionnel par les utilisateurs eux même (et c’est ce dernier point qui est le point important).
Si vous êtes développeur (T-SQL, DWH, MDX, Visual Studio, etc.), restez sur le modèle UDM, mais commencez à y jeter un œil.

De toute façon, tabulaire, étoile, flocon, etc., au final, on a bien des tables et des relations entre elles. Qu’importe la modélisation suivie (Kimbal, Inmon, Tabular, etc.), on a bien des données tabulaires.

C’est pour cela que le BISM est le modèle commun !

Et ma conclusion sera (attention, je polémique) :

BISM peut être vu comme un revamping de l’UDM.

Soit dit en passant, UDM n’a jamais vraiment pris. Je n’ai jamais entendu une seule fois chez un client “nous avons un modèle UDM…”

Pendant les Journées SQL Server en décembre à Paris, nous reviendrons sur la modélisation avec François Jehl donc si la polémique le débat vous intéresse, venez nous y écouter.

 

Petite remarque : vous serez obligé de faire du tabulaire pour utiliser Power View dans la RTM (ça c’est important et pourtant c’est juste une phrase perdue après la conclusion).

 

Quelques autres notes de la session :

J’ai aimé :

  • le mode avancé de PowerPivot qui permet aux utilisateurs Business de ne pas être perturbé par des options trop compliquées dès l’ouverture tout en offrant de la richesse pour les développeurs
  • la réimportation d’un modèle PowerPivot dans SSAS
  • la sécurité des modèles tabulaires. Du Role Based comme avant mais plus simple à construire (surtout pour le niveau cellule). Je n’ai pas retrouvé l’écran présenté donc ce sera plus tard pour un screenshot.

Je n’ai pas aimé :

  • Crescent over Multidimensionnal (ie. faire un rapport Crescent sur un cube classique) n’est pas encore possible et ça arrivera avec la prochaine update.

 

Et les évolutions SSAS Multidimensionnel ?

Comme je le disais, les 5 minutes de la fin (la salle était pleine et il y a eu de nombreuses questions) ont été consacrées à un slide sur les nouveautés de SSAS en mode multidimensionnel.

Je n’ai pas tout noté mais ce sont principalement des limitations repoussées ou supprimées et des améliorations des performances. On peut noter par exemple le support du DISTINCT COUNT sur ROLAP.

Je me rattraperai dans un prochain post dès que les slides seront en ligne.

You cannot open the BIM file

12 octobre 2011

Vous avez la CTP3 de Denali (dispo ici) et vous voulez tester votre premier projet de Analysis ServicesTabulaire”.

Vous créez votre projet dans BIDS et en ouvrant le modèle (fichier .bim), vous êtes confronté à ce message d’erreur :

You cannot open the BIM file. Reason : the workspace database server ‘localhost’ is not running in VertiPaq mode

image

 

La raison est que pour travailler en mode tabulaire, il vous faut une instance SSAS installée en mode Vertipaq à disposition, même en développement. Par défaut, Visual Studio la recherche sur l’instance par défaut du poste local(localhost).

Il vous faut donc modifier :

  • les propriétés du fichier BIM (pour définir où doit se trouver le workspace)
  • les propriétés du projet (pour le serveur où déployer)
  • dans les options de BIDS (rubrique Analysis Services) pour mettre un serveur par défaut pour vos prochains modèles

propriété workspace BISM tabulairepropriété serveur déploiement BISM tabulaire

That’s all folks !

SSAS Tabular mode

24 juillet 2011

On le sait depuis un moment, le décisionnel Microsoft s’oriente vers le BISM (Business Intelligence Semantic Model) en fusionnant le modèle de PowerPivot et celui plus classique de Analysis Services (UDM).

Je vous renvoie à un de mes précédent post : Un peu plus sur le BISM

Avec la CTP3, on en découvre plus puisqu’on peut jouer avec.

 

Le premier effet se voit dès l’installation de SQL Server puisque dans la configuration de votre instance SSAS, on a le choix entre 2 modes de fonctionnement.

  • Multidimensional : Analysis Services classique avec un modèle UDM
  • Tabular Mode : modèle BISM (à-la PowerPivot) et moteur Vertipaq

Installation tabular mode

Notez que si vous voulez les 2 modes, il vous faudra installer 2 instances.

 

Le second effet se voit au démarrage de BIDS avec un nouveau type de projet. Ce type de projet est simple, il représente exactement ce que vous faites dans PowerPivot sauf que vous êtes dans Visual Studio (avec donc un accès à TFS pour le Source Control).

Analysis Services Tabular Project

L’interface principale ressemble à la PowerPivot Window de la version Excel

Analysis Services Tabular mode

On importe les “tables”, on crée les relations entre elles, on crée ses formules en DAX et on envoie le tout dans Excel pour tester.

La plus grande nouveauté reste une vue Diagramme, bien plus pratique pour réaliser votre modèle d’analyse.

Analysis Services Tabular project - vue diagramme

Vous noterez au passage que les projets BISM tabulaire ont maintenant la notion de hiérarchie.

Dans un prochain post, je parlerai des autres nouvelles options de Power Pivot (et donc des projets SSAS tabulaires).

 

PS : Notez le code couleur avec les icônes entre les modes tabulaires et multidimensionnels.

image


Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 325 followers