Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Cet article récapitule les nouvelles fonctionnalités, les améliorations, les fonctionnalités déconseillées et supprimées, ainsi que les comportements et changements perturbants dans les versions les plus récentes de SQL Server Analysis Services (SSAS).
SQL Server 2025 Analysis Services (Services d'analyse)
Améliorations des performances
Modèles avec des groupes de calcul et des chaînes de format dans Excel
Nous avons apporté des améliorations significatives aux performances des requêtes MDX sur les modèles avec des groupes de calcul et des chaînes de format pour réduire l’utilisation de la mémoire et améliorer la réactivité. Les dernières modifications améliorent les performances et la fiabilité des opérations dans Analyser dans Excel sur les modèles qui incluent une ou les deux :
Chaînes de format dynamique pour les mesures
Éléments calculés avec des chaînes de format
Pour plus d’informations, consultez les chaînes de formats dynamiques
Exécution de requête parallèle pour DirectQuery
L’amélioration du parallélisme en mode DirectQuery permet des temps de réponse plus rapides pour les requêtes complexes. L’idée fondamentale consiste à optimiser les performances des requêtes en parallélisant plusieurs requêtes à la source de données pour une requête DAX unique. Cette parallélisation des requêtes réduit l’impact des retards de source de données et des latences réseau sur les performances des requêtes. Pour plus d’informations, consultez ce blog.
Fusion horizontale
SQL Server Analysis Services 2025 intègre la dernière version de Fusion horizontale, une optimisation des performances des requêtes qui réduit le nombre de requêtes SQL générées par DAX, améliorant ainsi l’efficacité de DirectQuery. Pour plus d’informations, visitez : Annonce de fusion horizontale.
Fonctions et fonctionnalités DAX
Calculs visuels
La façon dont vous écrivez le DAX évolue avec l’introduction des calculs visuels. Les calculs visuels sont des calculs DAX définis et exécutés directement sur un visuel. Un calcul visuel peut faire référence à toutes les données du visuel, y compris les colonnes, les mesures ou d’autres calculs visuels. Cette approche supprime la complexité du modèle sémantique et simplifie le processus d’écriture de DAX. Vous pouvez utiliser des calculs visuels pour effectuer des calculs métier courants tels que l’exécution de sommes ou de moyennes mobiles. Pour en savoir plus sur l’activation et l’utilisation des calculs visuels, consultez la vue d’ensemble des calculs visuels.
Comportement du filtre de valeur
Nous introduisons une nouvelle option pour contrôler le comportement du filtre de valeur. En activant le paramètre « Filtres de valeurs indépendants », les utilisateurs peuvent empêcher la combinaison automatique de plusieurs filtres sur la même table en un seul filtre fusionné. Cette modification offre une plus grande flexibilité, ce qui permet un filtrage plus précis et indépendant pour répondre à des besoins de modélisation spécifiques et améliorer la précision et le contrôle des requêtes de données. Pour définir cette propriété pour SSAS, vous pouvez utiliser le modèle objet tabulaire ou TMSL en fonction de la propriété ValueFilterBehavior . Pour plus d’informations, consultez : Comportement du filtre de valeur.
Expressions de sélection pour les groupes de calcul
Les expressions de sélection permettent un contrôle affiné sur le comportement des calculs lorsque certaines conditions sont remplies. Les expressions de sélection introduisent une logique supplémentaire pour la gestion des cas où plusieurs éléments de calcul sont sélectionnés ou lorsqu’aucune sélection spécifique n’est effectuée sur un groupe de calcul. Pour plus d’informations, consultez : Groupes de calculs.
Améliorations des fonctions DAX
SQL Server Analysis Services 2025 inclut la prise en charge de plusieurs nouvelles fonctions DAX et améliorations, notamment :
LINEST et LINESTX : ces deux fonctions effectuent une régression linéaire, à l’aide de la méthode Least Squares, pour calculer une ligne droite qui correspond le mieux aux données données données et retourner une table décrivant cette ligne. Ces fonctions sont particulièrement utiles pour prédire des valeurs inconnues (Y) lorsqu’elles reçoivent des valeurs connues (X). Pour plus d’informations, consultez : fonction DAX LINEST et fonction DAX LINESTX.
Fonctions INFO : les DMV TMSCHEMA existantes sont désormais disponibles en tant que nouvelle famille de fonctions DAX, ce qui permet d’interroger des métadonnées sur des modèles sémantiques directement dans DAX, offrant une intégration avec d’autres fonctions DAX pour des diagnostics et une analyse améliorés. Pour plus d’informations, consultez : Fonctions DAX Info.
APPROXIMATEDISTINCTCOUNT : Cette fonction est actuellement disponible pour le mode DirectQuery et retourne un nombre estimé de valeurs uniques dans une colonne en appelant une opération d’agrégation correspondante dans la source de données, qui est optimisée pour les performances des requêtes. Pour plus d’informations, consultez la fonction DAX Nombre approximatif distinct, qui répertorie les sources de données prises en charge.
Fonctions de fenêtre : cette fonction récupère une tranche de résultats à l’aide d’un positionnement absolu ou relatif. La fonction WINDOW facilite l’exécution de calculs tels que l’ajout d’un total en cours d’exécution, d’une moyenne mobile ou de calculs similaires qui s’appuient sur la sélection d’une plage de valeurs. Il est également fourni avec deux fonctions d’assistance appelées ORDERBY et PARTITIONBY. Pour plus d’informations, consultez : Fonction DAX de fenêtre.
MINX/MAXX : Nous avons ajouté un paramètre de variante facultatif aux fonctions MINX et MAXX DAX. Traditionnellement, ces fonctions ignorent le texte et les valeurs booléennes lorsqu’il existe des variantes ou des types de données mixtes, tels que du texte et des valeurs numériques. Maintenant, avec le nouveau paramètre de variante facultatif défini sur TRUE, les fonctions considèrent les valeurs de texte. Pour plus d’informations, consultez la fonction MINX DAX et la fonction MAXX DAX.
Conseil / Astuce
Les fonctions INFO peuvent évoluer dans Power BI pour prendre en charge la découverte d’informations dans de nouveaux artefacts de modèle sémantique. Consultez [MS-SSAS-T] pour connaître l’ensemble d’artefacts qui peuvent avoir une fonction INFO correspondante dans SQL Server Analysis Services 2025.
Nouvelles éditions pour les développeurs
Remarque
L’édition complète et la prise en charge des fonctionnalités pour SQL Server Analysis Services 2025 ne sont pas entièrement documentées tant que le produit n’est pas disponible en disponibilité générale (GA). Les fonctionnalités et les éditions décrites dans cet article sont susceptibles de changer jusqu'à la disponibilité générale (GA).
Les éditions gratuites suivantes sont conçues pour fournir toutes les fonctionnalités de leurs éditions payantes correspondantes. Ils peuvent être utilisés pour développer des applications SQL Server sans nécessiter de licence payante.
Pour les fonctionnalités par édition, passez en revue les fonctionnalités prises en charge par SQL Server Edition
Les éditions et les fonctionnalités prises en charge pour SQL Server 2025 (17.x) Preview sont susceptibles de changer jusqu’à ce que le produit soit généralement disponible.
Édition développeur standard
SQL Server 2025 Standard Developer Edition est une édition gratuite sous licence pour le développement. Il inclut toutes les fonctionnalités de l’édition SQL Server Standard.
- Développez de nouvelles applications pour l’édition Standard.
- Configurez un environnement intermédiaire pour certifier la mise à niveau d’une application existante de l’édition Standard vers SQL Server 2025 Standard avant de la déployer en production.
Édition Développeur d’entreprise
SQL Server 2025 Enterprise Developer edition inclut les fonctionnalités de l’édition SQL Server Enterprise.
- Développez de nouvelles applications pour l’édition Entreprise.
- Équivaut fonctionnellement à l’édition Developer dans les versions précédentes.
Fonctionnalités supplémentaires
Mises à jour de la bibliothèque cliente
Les clients sont encouragés à effectuer une mise à niveau vers les dernières bibliothèques Analysis Services pour tirer parti des améliorations des performances, de la fiabilité et des fonctionnalités telles que la prise en charge xml binaire, la sérialisation TMDL et bien plus encore. Plus précisément, nous avons basculé la communication XMLA en texte brut en XML binaire et nous avons activé la compression pour les bibliothèques clientes .NET. Pour plus d’informations, consultez le blog sur l'amélioration des performances de communication des outils basés sur xmla. Vous pouvez également toujours trouver les dernières versions des bibliothèques clientes sur la page de téléchargement des bibliothèques clientes Analysis Services.
Améliorations apportées à la gestion des caractères Unicode
SQL Server Analysis Services 2025 prend désormais en charge les normes Unicode mises à jour en fournissant la prise en charge des paires de substitution Unicode pour les normes de caractères telles que la norme du gouvernement chinois GB18030 dans DAX.
Métriques d’exécution pour les diagnostics
Les métriques d’exécution sont désormais exposées via des traces XEvents et Profiler, ce qui permet aux clients d’analyser plus efficacement les performances des requêtes. Pour plus d’informations, consultez ce blog.
Prise en charge des clusters de basculement
Pour plus d’informations, consultez cet article sur le schéma de chiffrement mis à niveau.
Fonctionnalités déconseillées et changements cassants dans SQL Server Analysis Services 2025
Excel PowerPivot pour SharePoint supprimé
Nous avons supprimé Excel PowerPivot pour le mode SharePoint du programme d’installation. Cette fonctionnalité a été déconseillée dans les versions antérieures et n’est plus prise en charge dans SQL Server Analysis Services 2025.
Mise à jour de l’assemblage SQL Client
SQL Server Analysis Services 2025 utilise désormais une bibliothèque de client SQL plus récente. Les clients peuvent avoir besoin de mettre à jour les définitions de modèle pour refléter le nouveau nom du fournisseur (Microsoft.Data.SqlClient).
Modifications d’accès HTTP
À compter de SQL Server Analysis Services 2025, les connexions HTTP via msmdpump.dll sont désactivées par défaut. Toutes les connexions via msmdpump.dll doivent être effectuées via un canal sécurisé tel que HTTPS. Pour plus d’informations, consultez Configurer l’accès HTTP.
Problèmes connus
Windows Arm64 non pris en charge
SQL Server Analysis Services 2025 n’est pas pris en charge sur Windows Arm64. Seuls les processeurs Intel et AMD x86-64 avec jusqu’à 64 cœurs par nœud NUMA sont actuellement pris en charge.
SQL Server 2022 Analysis Services
Mise à jour cumulative 1 (CU1)
Mise à niveau du chiffrement
Cette mise à jour inclut une amélioration de l’algorithme de chiffrement d’opération d’écriture de schéma. Cette amélioration peut vous obliger à mettre à niveau des bases de données de modèle tabulaires et multidimensionnelles pour garantir un chiffrement approprié. Pour plus d’informations, consultez Mettre à niveau le chiffrement.
Disponibilité générale (GA)
Fusion horizontale
Cette version introduit horizontal Fusion, une optimisation du plan d’exécution de requête visant à réduire le nombre de requêtes de source de données requises pour générer et retourner des résultats. Plusieurs requêtes de source de données plus petites sont fusionnées en une requête de source de données plus grande. Moins de requêtes de source de données signifient moins d’allers-retours et moins d’analyses coûteuses sur de grandes sources de données, ce qui entraîne des gains de performances DAX volumineux et une réduction de la demande de traitement à la source de données. Les requêtes DAX s’exécutent plus rapidement avec fusion horizontale, en particulier en mode DirectQuery. En outre, la scalabilité augmente également.
Plans d’exécution parallèles pour DirectQuery
Cette amélioration permet au moteur Analysis Services d’analyser les requêtes DAX sur une source de données DirectQuery et d’identifier les opérations indépendantes du moteur de stockage. Le moteur peut ensuite exécuter ces opérations sur la source de données en parallèle. En exécutant des opérations en parallèle, le moteur Analysis Services peut améliorer les performances des requêtes en tirant parti de la scalabilité des grandes sources de données peuvent être en mesure de fournir. Pour vous assurer que le traitement des requêtes ne surcharge pas votre source de données, utilisez le paramètre de propriété MaxParallelism pour spécifier un nombre fixe de threads qui peuvent être utilisés pour les opérations parallèles.
Prise en charge des modèles sémantiques Power BI DirectQuery
Cette version introduit la prise en charge des modèles Power BI avec des connexions DirectQuery aux modèles SQL Server 2022 Analysis Services. Les modélisateurs de données et les auteurs de rapports utilisant les versions de mai 2022 et ultérieures de Power BI Desktop peuvent désormais combiner d’autres données importées et DirectQuery à partir de modèles Power BI, Azure Analysis Services et désormais SSAS 2022.
Pour plus d’informations, consultez Utilisation de DirectQuery pour les modèles sémantiques et Analysis Services | Documentation Power BI.
Performances des requêtes MDX
D'abord introduit dans Power BI et maintenant dans SSAS 2022, MDX Fusion inclut l'optimisation du Moteur de Formule (FE) réduisant le nombre de requêtes du Moteur de Stockage (SE) par requête MDX. Les applications clientes qui utilisent des expressions multidimensionnelles (MDX) pour interroger des données de modèle/jeu de données telles que Microsoft Excel verront des performances de requête améliorées. Les modèles de requête MDX courants nécessitent désormais moins de requêtes SE, où de nombreuses requêtes SE ont été nécessaires pour prendre en charge différentes granularités. Moins de requêtes SE signifient moins d’analyses coûteuses sur de grands modèles, ce qui entraîne des gains de performances significatifs, en particulier lors de la connexion à des modèles tabulaires en mode Requête directe.
Pour plus d’informations, consultez Annonce d’amélioration des performances des requêtes MDX dans Power BI | Blog Microsoft Power BI.
Gouvernance des ressources
Cette version inclut une précision améliorée pour la propriété mémoire du serveur QueryMemoryLimit et la propriété de chaîne de connexion DbpropMsmdRequestMemoryLimit.
Tout d’abord introduite dans SSAS 2019, la propriété mémoire du serveur QueryMemoryLimit appliquée uniquement aux pools de mémoire où les résultats de requête DAX intermédiaires sont créés pendant le traitement des requêtes. Désormais, dans SSAS 2022, il s’applique également aux requêtes MDX, couvrant efficacement toutes les requêtes. Vous pouvez mieux contrôler les requêtes coûteuses qui entraînent une matérialisation significative. Si la requête atteint la limite spécifiée, le moteur annule la requête et retourne une erreur à l’appelant, ce qui réduit l’impact sur d’autres utilisateurs simultanés.
Les applications clientes peuvent réduire davantage la mémoire autorisée par requête en spécifiant la propriété de chaîne de connexion DbpropMsmdRequestMemoryLimit . Spécifiée en kilo-octets, cette propriété remplace la valeur de propriété mémoire du serveur QueryMemoryLimit pour une connexion.
Entrelacement des requêtes - Biais des requêtes courtes avec annulation rapide
Cette version introduit une nouvelle valeur qui spécifie un biais de requête court avec annulation rapide pour le paramètre de propriété Threadpool\SchedulingBehavior. Ce paramètre de propriété améliore les temps de réponse des requêtes utilisateur dans les scénarios de haute concurrence. Pour plus d’informations, consultez Configurer l’interlacement des requêtes.
Niveau de compatibilité du modèle tabulaire 1600
Cette version introduit le niveau de compatibilité 1600 pour les modèles tabulaires. Le niveau de compatibilité 1600 coïncide avec les fonctionnalités les plus récentes dans Power BI et Azure Analysis Services.
Fonctionnalités déconseillées dans SSAS 2022
Aucune fonctionnalité déconseillée n’est annoncée avec cette version.
Fonctionnalités abandonnées dans SSAS 2022
Les fonctionnalités suivantes sont supprimées dans cette version :
| Mode/Catégorie | Caractéristique |
|---|---|
| Tabulaire | Niveaux de compatibilité 1100 et 1103 |
| Multidimensionnel | Exploration de données |
| Power Pivot en mode | Power Pivot pour SharePoint |
Changements cassants dans SSAS 2022
Les niveaux de compatibilité du modèle tabulaire 1100 et 1103 sont supprimés dans cette version. Pour éviter tout changement perturbateur, mettez à jour les modèles au niveau de compatibilité 1200 avant de mettre à jour une version SSAS antérieure vers SSAS 2022.
Changements de comportement dans SSAS 2022
Il n’existe aucune modification de comportement dans cette version.
SQL Server 2019 Analysis Services
SQL Server 2019 Analysis Services CU 5
Les mises à jour cumulatives SQL Server Analysis Services sont incluses avec les mises à jour cumulatives SQL Server. Pour en savoir plus sur la dernière mise à jour cumulative et télécharger la dernière mise à jour cumulative, consultez la dernière mise à jour cumulative de SQL Server 2019. Les pages KB des mises à jour cumulatives résument les problèmes connus, les améliorations et les correctifs pour toutes les fonctionnalités de SQL Server, y compris SSAS. Des détails supplémentaires sur les principales mises à jour des fonctionnalités pour SSAS sont décrits ici.
SuperDAX pour les modèles multidimensionnels (SuperDAXMD)
Avec CU5, les clients DAX peuvent désormais utiliser des fonctions SuperDAX et des modèles de requête sur des modèles multidimensionnels, ce qui améliore les performances lors de l’interrogation des données du modèle. SuperDAX a d’abord introduit des optimisations de requête DAX pour les modèles tabulaires avec Power BI et SQL Server Analysis Services 2016. SuperDAXMD apporte désormais ces améliorations aux modèles multidimensionnels.
Une annonce distincte sur le blog Power BI met en évidence la façon dont les utilisateurs de Power BI peuvent tirer parti de cette amélioration des performances de modèle multidimensionnel en téléchargeant la dernière version de Power BI Desktop. Les rapports interactifs existants dans le service Power BI peuvent bénéficier sans aucune étape supplémentaire, car Power BI génère automatiquement les requêtes SuperDAX optimisées. Power BI détecte automatiquement les connexions à des modèles multidimensionnels avec la prise en charge de SuperDAX et utilise les mêmes fonctions DAX optimisées et modèles de requête qu’il utilise déjà par rapport aux modèles tabulaires. Bien que Power BI puisse basculer automatiquement vers SuperDAXMD, dans vos propres solutions décisionnels, vous devrez peut-être optimiser manuellement les modèles de requête DAX.
Les modèles de requête optimisés doivent utiliser la fonction SUMMARIZECOLUMNS pour remplacer la fonction SUMMARIZE standard moins efficace. Utilisez des variables DAX, VAR, pour calculer des expressions une seule fois à la place de la définition, puis réutiliser les résultats dans d’autres expressions DAX sans avoir à effectuer à nouveau le calcul. D’autres fonctions SuperDAX et peut-être moins courantes sont SUBSTITUTEWITHINDEX, ADDMISSINGITEMS, ainsi que NATURALLEFTOUTERJOIN et NATURALINNERJOIN, ISONORAFTER et GROUPBY. SELECTCOLUMNS et UNION sont également des fonctions SuperDAX.
Pour en savoir plus sur le fonctionnement de DAX avec les modèles multidimensionnels et les modèles et contraintes importants à prendre en compte, veillez à voir DAX pour les modèles multidimensionnels.
SQL Server 2019 Analysis Services GA (en disponibilité générale)
Niveau de compatibilité du modèle tabulaire
Cette version introduit le niveau de compatibilité 1500 pour les modèles tabulaires.
Intercalage des requêtes
L’entrelacement de requêtes est une configuration système en mode tabulaire qui peut améliorer les temps de réponse des requêtes utilisateur dans des scénarios à concurrence élevée. L’interlacement des requêtes avec un biais de requête court permet aux requêtes simultanées de partager des ressources processeur. Pour en savoir plus, consultez Entrelacement de requêtes.
Groupes de calcul dans les modèles tabulaires
Les groupes de calcul peuvent réduire de manière significative le nombre de mesures redondantes en regroupant les expressions de mesure courantes en tant qu’éléments de calcul. Les groupes de calcul sont affichés dans les clients de création de rapports sous forme de table avec une seule colonne. Chaque valeur de la colonne représente un calcul réutilisable ou un élément de calcul qui peut être appliqué à l’une des mesures. Un groupe de calcul peut avoir n’importe quel nombre d’éléments de calcul. Chaque élément de calcul est défini par une expression DAX. Pour plus d’informations, consultez Groupes de calcul.
Paramètre de gouvernance pour les actualisations du cache Power BI
Le paramètre de propriété ClientCacheRefreshPolicy est désormais pris en charge dans SSAS 2019 et versions ultérieures. Ce paramètre de propriété est déjà disponible pour Azure Analysis Services. Le service Power BI met en cache les données de vignette du tableau de bord et les données de rapport pour la charge initiale du rapport Live Connect, provoquant l'envoi d'un nombre excessif de requêtes de cache au moteur et, dans des cas extrêmes, surcharger le serveur. La propriété ClientCacheRefreshPolicy vous permet de remplacer ce comportement au niveau du serveur. Pour plus d’informations, consultez Propriétés générales.
Attachement en ligne
Cette fonctionnalité permet d’attacher un modèle tabulaire en tant qu’opération en ligne. L’attachement en ligne peut être utilisé pour la synchronisation des réplicas en lecture seule dans les environnements locaux de scale-out des requêtes. Pour effectuer une opération d’attachement en ligne, utilisez l’option AllowOverwrite de la commande Attach XMLA.
Cette opération peut nécessiter deux fois la mémoire du modèle pour conserver l’ancienne version en ligne lors du chargement de la nouvelle version.
Un modèle d’utilisation classique peut être le suivant :
DB1 (version 1) est déjà attaché sur le serveur en lecture seule B.
DB1 (version 2) est traitée sur le serveur d’écriture A.
DB1 (version 2) est détaché et placé sur un emplacement accessible au serveur B (via un emplacement partagé ou à l’aide de robocopy, etc.).
La commande Attach avec AllowOverwrite=True est exécutée sur le serveur B avec le nouvel emplacement de DB1 (version 2).
Sans cette fonctionnalité, les administrateurs sont d’abord tenus de détacher la base de données, puis d’attacher la nouvelle version de la base de données. Cela entraîne un temps d’arrêt lorsque la base de données n’est pas disponible pour les utilisateurs et que les requêtes sur celles-ci échouent.
Lorsque ce nouvel indicateur est spécifié, la version 1 de la base de données est supprimée atomiquement dans la même transaction sans temps d’arrêt. Toutefois, cela implique que les deux bases de données soient chargées simultanément en mémoire.
Relations plusieurs-à-plusieurs dans les modèles tabulaires
Cette amélioration permet des relations plusieurs-à-plusieurs entre les tables où les deux colonnes ne sont pas uniques. Une relation peut être définie entre une table de faits et une dimension à une granularité supérieure à la colonne clé de la dimension. Cela évite d’avoir à normaliser les tables de dimension et peut améliorer l’expérience utilisateur, car le modèle résultant a un plus petit nombre de tables avec des colonnes regroupées logiquement.
Les relations plusieurs-à-plusieurs nécessitent que les modèles soient au niveau de compatibilité 1500 et supérieur. Vous pouvez créer des relations plusieurs-à-plusieurs à l’aide de Visual Studio 2019 avec les projets Analysis Services VSIX update 2.9.2 et versions ultérieures, l’API du modèle objet tabulaire (TOM), le langage de script du modèle tabulaire (TMSL) et l’éditeur tabulaire open source.
Paramètres de mémoire pour la gouvernance des ressources
Les paramètres de propriété suivants fournissent une gouvernance améliorée des ressources :
- Memory\QueryMemoryLimit : cette propriété mémoire peut être utilisée pour limiter les pools de mémoire générés par les requêtes DAX soumises au modèle.
- DbpropMsmdRequestMemoryLimit : cette propriété XMLA peut être utilisée pour remplacer la valeur de propriété du serveur Memory\QueryMemoryLimit pour une connexion.
- OLAP\Query\RowsetSerializationLimit : cette propriété de serveur limite le nombre de lignes retournées dans un ensemble de lignes, protégeant ainsi les ressources du serveur contre une utilisation étendue de l’exportation des données. Cette propriété s'applique à la fois aux requêtes DAX et MDX.
Ces propriétés peuvent être définies à l’aide de la dernière version de SQL Server Management Studio (SSMS). Ces paramètres sont déjà disponibles pour Azure Analysis Services.
Fonctionnalités déconseillées dans SSAS 2019
Aucune fonctionnalité déconseillée n’est annoncée avec cette version.
Fonctionnalités abandonnées dans SSAS 2019
Il n’y a pas de fonctionnalités abandonnées annoncées avec cette version.
Changements cassants dans SSAS 2019
Il n’y a pas de changements cassants dans cette version.
Changements de comportement dans SSAS 2019
Il n’y a aucune modification de comportement dans cette version.
SQL Server 2017 Analysis Services
SQL Server 2017 Analysis Services voit certaines des améliorations les plus importantes depuis SQL Server 2012. En s’appuyant sur la réussite du mode tabulaire (d’abord introduit dans SQL Server 2012 Analysis Services), cette version rend les modèles tabulaires plus puissants que jamais.
Le mode multidimensionnel et le mode Power Pivot pour SharePoint constituent un élément essentiel pour de nombreux déploiements Analysis Services. Dans le cycle de vie du produit Analysis Services, ces modes sont matures. Il n’existe aucune nouvelle fonctionnalité pour l’un de ces modes dans cette version. Toutefois, les correctifs de bogues et les améliorations des performances sont inclus.
Les fonctionnalités décrites ici sont incluses dans SQL Server 2017 Analysis Services. Mais pour tirer parti d’eux, vous devez également utiliser les dernières versions de Visual Studio avec des projets Analysis Services et SQL Server Management Studio (SSMS). Les projets Analysis Services et SSMS sont mis à jour tous les mois avec de nouvelles fonctionnalités améliorées qui coïncident généralement avec de nouvelles fonctionnalités dans SQL Server.
Bien qu’il soit important d’en savoir plus sur toutes les nouvelles fonctionnalités, il est également important de savoir ce qui est déconseillé et supprimé dans cette version et les versions futures. Pour plus d’informations, consultez Fonctionnalités déconseillées dans SSAS 2017.
Examinons quelques-unes des nouvelles fonctionnalités clés de cette version.
Niveau de compatibilité 1400 pour les modèles tabulaires
Pour tirer parti de la plupart des nouvelles fonctionnalités décrites ici, les modèles tabulaires nouveaux ou existants doivent être définis ou mis à niveau vers le niveau de compatibilité 1400. Les modèles au niveau de compatibilité 1400 ne peuvent pas être déployés sur SQL Server 2016 SP1 ou version antérieure, ou rétrogradés vers des niveaux de compatibilité inférieurs. Pour plus d’informations, consultez le niveau de compatibilité pour les modèles tabulaires Analysis Services.
Dans Visual Studio, vous pouvez sélectionner le nouveau niveau de compatibilité 1400 lors de la création de projets de modèle tabulaire.
Pour mettre à niveau un modèle tabulaire existant dans Visual Studio, dans l’Explorateur de solutions, cliquez avec le bouton droit sur Model.bim, puis dans Propriétés, définissez la propriété niveau de compatibilité sur SQL Server 2017 (1400).
Il est important de garder à l’esprit, une fois que vous mettez à niveau un modèle existant vers 1400, vous ne pouvez pas rétrograder. Veillez à conserver une sauvegarde de votre base de données de modèle 1200.
Expérience d’obtention de données moderne
Lorsqu’il s’agit d’importer des données à partir de sources de données dans vos modèles tabulaires, SSDT présente l’expérience get data moderne pour les modèles au niveau de compatibilité 1400. Cette nouvelle fonctionnalité est basée sur des fonctionnalités similaires dans Power BI Desktop et Microsoft Excel 2016. L’expérience Get Data moderne fournit d’immenses fonctionnalités de transformation de données et de mashup de données à l’aide du générateur de requêtes Get Data et des expressions M.
L’expérience Get Data moderne offre une prise en charge d’un large éventail de sources de données. À l’avenir, les mises à jour incluront la prise en charge d’encore plus.
Une interface utilisateur puissante et intuitive facilite la sélection de vos fonctionnalités de transformation de données et de transformation de données/mashup plus facile que jamais.
L’expérience Get Data moderne et les fonctionnalités de mashup M ne s’appliquent pas aux modèles tabulaires existants mis à niveau du niveau de compatibilité 1200 à 1400. La nouvelle expérience s’applique uniquement aux nouveaux modèles créés au niveau de compatibilité 1400.
Indicateurs d’encodage
Cette version introduit des indicateurs d’encodage, une fonctionnalité avancée utilisée pour optimiser le traitement (actualisation des données) des modèles tabulaires volumineux en mémoire. Pour mieux comprendre l’encodage, consultez Le paramétrage des performances des modèles tabulaires dans le livre blanc SQL Server 2012 Analysis Services pour mieux comprendre l’encodage.
L’encodage de valeur offre de meilleures performances de requête pour les colonnes qui sont généralement utilisées uniquement pour les agrégations.
L'encodage de hachage est préféré pour les colonnes groupées (souvent des valeurs de tables de dimensions) et les clés étrangères. Les colonnes de chaîne de caractères sont toujours encodées en hachage.
Les colonnes numériques peuvent utiliser l’une de ces méthodes d’encodage. Lorsque Analysis Services démarre le traitement d’une table, si la table est vide (avec ou sans partitions) ou si une opération de traitement de table complète est en cours d’exécution, les valeurs d’exemples sont prises pour chaque colonne numérique pour déterminer s’il faut appliquer une valeur ou un encodage de hachage. Par défaut, l’encodage de valeur est choisi lorsque l’exemple de valeurs distinctes dans la colonne est suffisamment grand ; sinon, l’encodage de hachage fournit généralement une meilleure compression. Il est possible pour Analysis Services de modifier la méthode d’encodage une fois la colonne partiellement traitée en fonction d’informations supplémentaires sur la distribution des données et de redémarrer le processus d’encodage ; toutefois, cela augmente le temps de traitement et est inefficace. Le livre blanc d’optimisation des performances décrit plus en détail le re-encodage et décrit comment le détecter à l’aide de SQL Server Profiler.
Les indicateurs d’encodage permettent au modélisateur de spécifier une préférence pour la méthode d’encodage en fonction des connaissances préalables du profilage des données et/ou en réponse aux événements de trace de recodage. Étant donné que l’agrégation sur les colonnes encodées par hachage est plus lente que les colonnes codées sur des valeurs, l’encodage des valeurs peut être spécifié comme indicateur pour ces colonnes. Il n’est pas garanti que la préférence soit appliquée. Il s’agit d’un indicateur plutôt qu’un paramètre. Pour spécifier un indicateur d’encodage, définissez la propriété EncodingHint sur la colonne. Les valeurs possibles sont « Default », « Value » et « Hash ». L’extrait de code suivant des métadonnées JSON du fichier Model.bim spécifie l’encodage de valeur pour la colonne Sales Amount.
{
"name": "Sales Amount",
"dataType": "decimal",
"sourceColumn": "SalesAmount",
"formatString": "\\$#,0.00;(\\$#,0.00);\\$#,0.00",
"sourceProviderType": "Currency",
"encodingHint": "Value"
}
Hiérarchies déséquilibrées
Dans les modèles tabulaires, vous pouvez modéliser des hiérarchies parent-enfant. Les hiérarchies avec un nombre différent de niveaux sont souvent appelées hiérarchies irrégulières. Par défaut, les hiérarchies irrégulières sont affichées avec des espaces pour les niveaux inférieurs au plus bas niveau enfant. Voici un exemple de hiérarchie irrégulière dans un organigramme :
Cette version introduit la propriété Hide Members . Vous pouvez définir la propriété Masquer les membres d’une hiérarchie pour masquer les membres vides.
Remarque
Les membres vides du modèle sont représentés par une valeur vide DAX, et non par une chaîne vide.
Lorsque la valeur est Définie sur Masquer les membres vides et le modèle déployé, une version plus facile à lire de la hiérarchie s’affiche dans les clients de création de rapports comme Excel.
Lignes de détails
Vous pouvez maintenant définir un jeu de lignes personnalisé contribuant à une valeur de mesure. Les lignes de détail sont similaires à l’action d’exploration détaillée par défaut dans les modèles multidimensionnels. Cela permet aux utilisateurs finaux d’afficher des informations plus en détail que le niveau agrégé.
Le tableau croisé dynamique suivant montre les ventes totales sur Internet par année à partir du modèle tabulaire d'exemple Adventure Works. Vous pouvez cliquer avec le bouton droit sur une cellule avec une valeur agrégée à partir de la mesure, puis cliquer sur Afficher les détails pour afficher les lignes de détails.
Par défaut, les données associées dans la table Internet Sales s’affichent. Ce comportement limité n’est souvent pas significatif pour l’utilisateur, car la table peut ne pas avoir les colonnes nécessaires pour afficher des informations utiles telles que le nom du client et les informations de commande. Avec les lignes de détail, vous pouvez spécifier une propriété Expression de lignes de détail pour les mesures.
Propriété des lignes de détail pour l'expression des mesures
La propriété Expression de lignes de détail pour les mesures permet aux auteurs de modèles de personnaliser les colonnes et les lignes retournées à l’utilisateur final.
La fonction SELECTCOLUMNS DAX est couramment utilisée dans une expression de lignes de détail. L’exemple suivant définit les colonnes à renvoyer pour les lignes du tableau Internet Sales dans le modèle tabulaire d'exemple Adventure Works.
SELECTCOLUMNS(
'Internet Sales',
"Customer First Name", RELATED( Customer[Last Name]),
"Customer Last Name", RELATED( Customer[First Name]),
"Order Date", 'Internet Sales'[Order Date],
"Internet Total Sales", [Internet Total Sales]
)
Une fois la propriété définie et le modèle déployé, un jeu de lignes personnalisé est retourné lorsque l’utilisateur sélectionne Afficher les détails. Il respecte automatiquement le contexte de filtre de la cellule sélectionnée. Dans cet exemple, seules les lignes de la valeur 2010 sont affichées :
Propriété par défaut de l'expression des lignes de détail pour les tables
Outre les mesures, les tables ont également une propriété pour définir une expression de lignes de détail. La propriété Expression de lignes de détails par défaut agit comme valeur par défaut pour toutes les mesures de la table. Les mesures qui n’ont pas leur propre expression définie héritent de l’expression de la table et affichent l’ensemble de lignes défini pour la table. Cela permet la réutilisation des expressions et les nouvelles mesures ajoutées à la table héritent automatiquement de l’expression.
DETAILROWS DAX, fonction
Cette version inclut une nouvelle DETAILROWS fonction DAX qui retourne l'ensemble de lignes défini par l’expression de lignes de détail. Il fonctionne de la même façon que l’instruction DRILLTHROUGH dans MDX, qui est également compatible avec les expressions de lignes de détail définies dans les modèles tabulaires.
La requête DAX suivante renvoie l'ensemble de lignes définies par l'expression des lignes de détail pour la mesure ou sa table. Si aucune expression n’est définie, les données de la table Internet Sales sont retournées, car il s’agit de la table contenant la mesure.
EVALUATE DETAILROWS([Internet Total Sales])
Sécurité au niveau de l’objet
Cette version introduit la sécurité au niveau de l’objet pour les tables et les colonnes. En plus de restreindre l’accès aux données de table et de colonne, les noms de tables et de colonnes sensibles peuvent être sécurisés. Cela permet d’empêcher un utilisateur malveillant de découvrir une telle table.
La sécurité au niveau de l’objet doit être définie à l’aide des métadonnées JSON, du langage TMSL (Tabular Model Scripting Language) ou du modèle objet tabulaire (TOM).
Par exemple, le code suivant permet de sécuriser la table Product dans l’exemple de modèle tabulaire Adventure Works en définissant la propriété MetadataPermission de la classe TablePermission sur None.
//Find the Users role in Adventure Works and secure the Product table
ModelRole role = db.Model.Roles.Find("Users");
Table productTable = db.Model.Tables.Find("Product");
if (role != null && productTable != null)
{
TablePermission tablePermission;
if (role.TablePermissions.Contains(productTable.Name))
{
tablePermission = role.TablePermissions[productTable.Name];
}
else
{
tablePermission = new TablePermission();
role.TablePermissions.Add(tablePermission);
tablePermission.Table = productTable;
}
tablePermission.MetadataPermission = MetadataPermission.None;
}
db.Update(UpdateOptions.ExpandFull);
Vues de gestion dynamique (DMV)
Les DMV sont des requêtes dans SQL Server Profiler qui retournent des informations sur les opérations du serveur local et l’intégrité du serveur. Cette version inclut des améliorations apportées aux vues de gestion dynamique (DMV) pour les modèles tabulaires aux niveaux de compatibilité 1200 et 1400.
DISCOVER_CALC_DEPENDENCY fonctionne désormais avec des modèles tabulaires 1200 et supérieurs. Les modèles tabulaires 1400 et supérieurs affichent des dépendances entre les partitions M, les expressions M et les sources de données structurées. Pour en savoir plus, consultez le blog Analysis Services.
MDSCHEMA_MEASUREGROUP_DIMENSIONS Des améliorations sont incluses pour cette DMV, qui est utilisée par différents outils clients pour montrer la granularité dimensionnelle des mesures. Par exemple, la fonctionnalité Explorer dans les tableaux croisés dynamiques Excel permet à l’utilisateur d’explorer les dimensions liées aux mesures sélectionnées. Cette version corrige les colonnes de cardinalité, qui affichaient auparavant des valeurs incorrectes.
Améliorations de DAX
L’un des éléments les plus importants de la nouvelle fonctionnalité DAX est la nouvelle fonction IN Operator / CONTAINSROW pour les expressions DAX. Ceci est similaire à l’opérateur TSQL IN couramment utilisé pour spécifier plusieurs valeurs dans une WHERE clause.
Auparavant, il était courant de spécifier des filtres à valeurs multiples à l’aide de l’opérateur logique OR , comme dans l’expression de mesure suivante :
Filtered Sales:=CALCULATE (
[Internet Total Sales],
'Product'[Color] = "Red"
|| 'Product'[Color] = "Blue"
|| 'Product'[Color] = "Black"
)
Cela est simplifié à l’aide de l’opérateur IN :
Filtered Sales:=CALCULATE (
[Internet Total Sales], 'Product'[Color] IN { "Red", "Blue", "Black" }
)
Dans ce cas, l’opérateur IN fait référence à une table à colonne unique avec 3 lignes ; une pour chacune des couleurs spécifiées. Notez que la syntaxe du constructeur de table utilise des accolades.
L’opérateur IN est fonctionnellement équivalent à la CONTAINSROW fonction :
Filtered Sales:=CALCULATE (
[Internet Total Sales], CONTAINSROW({ "Red", "Blue", "Black" }, 'Product'[Color])
)
L’opérateur IN peut également être utilisé efficacement avec les constructeurs de table. Par exemple, la mesure suivante filtre par des combinaisons de couleur et de catégorie de produit :
Filtered Sales:=CALCULATE (
[Internet Total Sales],
FILTER( ALL('Product'),
( 'Product'[Color] = "Red" && Product[Product Category Name] = "Accessories" )
|| ( 'Product'[Color] = "Blue" && Product[Product Category Name] = "Bikes" )
|| ( 'Product'[Color] = "Black" && Product[Product Category Name] = "Clothing" )
)
)
En utilisant le nouvel IN opérateur, l’expression de mesure ci-dessus est désormais équivalente à celle ci-dessous :
Filtered Sales:=CALCULATE (
[Internet Total Sales],
FILTER( ALL('Product'),
('Product'[Color], Product[Product Category Name]) IN
{ ( "Red", "Accessories" ), ( "Blue", "Bikes" ), ( "Black", "Clothing" ) }
)
)
Autres améliorations
En plus de toutes les nouvelles fonctionnalités, Analysis Services, SSDT et SSMS incluent également les améliorations suivantes :
- La hiérarchie et la colonne sont réutilisées dans des emplacements plus utiles dans la liste des champs Power BI.
- Relations de date pour créer facilement des relations avec des dimensions de date en fonction des champs de date.
- L’option d’installation par défaut pour Analysis Services est désormais en mode tabulaire.
- Nouvelles sources de données Get Data (Power Query).
- Éditeur DAX pour SSDT.
- Les sources de données DirectQuery existantes prennent en charge les requêtes M.
- Améliorations de SSMS, telles que l’affichage, la modification et la prise en charge des scripts pour les sources de données structurées.
Fonctionnalités déconseillées dans SSAS 2017
Les fonctionnalités suivantes sont déconseillées dans cette version :
| Mode/Catégorie | Caractéristique |
|---|---|
| Multidimensionnel | Exploration de données |
| Multidimensionnel | Groupes de mesures liés à distance |
| Tabulaire | Modèles au niveau de compatibilité 1100 et 1103 |
| Tabulaire | Propriétés du modèle objet tabulaire - Column.TableDetailPosition, Column.IsDefaultLabel, Column.IsDefaultImage |
| Outils | Générateur de profils SQL Server pour la capture de trace Le remplacement consiste à utiliser le profileur d’événements étendus incorporé dans SQL Server Management Studio. Voir Surveillance des Services d'Analyse avec les événements étendus de SQL Server. |
| Outils | Profileur de serveur pour la relecture des traces Remplacement. Il n’y a pas de remplacement. |
| Objets de gestion des traces et API de traces | Objets Microsoft.AnalysisServices.Trace (contient les API pour les objets Trace et Replay d'Analysis Services). Le remplacement est en plusieurs parties : - Configuration de trace : Microsoft.SqlServer.Management.XEvent - Lecture de trace : Microsoft.SqlServer.XEvent.Linq - Relecture de trace : Aucun |
Fonctionnalités abandonnées dans SSAS 2017
Les fonctionnalités suivantes sont supprimées dans cette version :
| Mode/Catégorie | Caractéristique |
|---|---|
| Tabulaire | Valeur de la propriété mémoire VertiPaqPagingPolicy (2), active la pagination sur le disque en utilisant des fichiers mappés en mémoire. |
| Multidimensionnel | Partitions distantes |
| Multidimensionnel | Groupes de mesures liés à distance |
| Multidimensionnel | Réécriture dimensionnelle |
| Multidimensionnel | Dimensions liées |
Changements majeurs dans SSAS 2017
Il n’y a pas de changements cassants dans cette version.
Changements de comportement dans SSAS 2017
Modifications apportées à MDSCHEMA_MEASUREGROUP_DIMENSIONS et DISCOVER_CALC_DEPENDENCY, détaillées dans les nouveautés de SQL Server 2017 CTP 2.1 pour Analysis Services.
SQL Server 2016 Analysis Services
SQL Server 2016 Analysis Services inclut de nombreuses nouvelles améliorations qui offrent des performances améliorées, une création de solutions plus facile, une gestion automatisée des bases de données, des relations améliorées avec le filtrage croisé bidirectionnel, le traitement parallèle des partitions et bien plus encore. Au cœur de la plupart des améliorations de cette version est le nouveau niveau de compatibilité 1200 pour les bases de données de modèle tabulaire.
SQL Server 2016 Service Pack 1 (SP1) Analysis Services
Télécharger SQL Server 2016 SP1
SQL Server 2016 Service SP1 Analysis Services offre des performances et une scalabilité améliorées grâce à la prise en charge de l’accès à la mémoire non uniforme (NUMA) et à une allocation de mémoire optimisée basée sur les blocs de construction Intel Threading (Intel TBB). Cette nouvelle fonctionnalité permet de réduire le coût total de possession (TCO) en prenant en charge davantage d’utilisateurs sur moins de serveurs d’entreprise plus puissants.
En particulier, SQL Server 2016 SP1 Analysis Services offre des améliorations dans ces domaines clés :
- Sensibilisation à NUMA : pour une meilleure prise en charge de NUMA, le moteur en mémoire (VertiPaq) dans Analysis Services gère désormais une file d'attente des tâches distincte sur chaque nœud NUMA. Cela garantit que les travaux d’analyse de segment s’exécutent sur le même nœud que celui où la mémoire est allouée pour les données de segment. Notez que la prise en charge de NUMA est activée uniquement par défaut sur les systèmes avec au moins quatre nœuds NUMA. Sur les systèmes à deux nœuds, les coûts d’accès à la mémoire allouée à distance ne justifient généralement pas la surcharge de gestion des spécificités NUMA.
- Allocation de mémoire : Analysis Services a été accéléré avec les blocs de construction Intel Threading, un allocateur évolutif qui fournit des pools de mémoire distincts pour chaque cœur. À mesure que le nombre de cœurs augmente, le système peut effectuer une mise à l’échelle presque linéaire.
- Fragmentation du tas : l’allocateur évolutif basé sur Intel TBB permet également d’atténuer les problèmes de performances en raison de la fragmentation du tas qui a été démontrée avec le tas Windows.
Les tests de performances et d’extensibilité ont montré des gains significatifs en débit de requête lors de l’exécution de SQL Server 2016 SP1 Analysis Services sur de grands serveurs d’entreprise à plusieurs nœuds.
Bien que la plupart des améliorations de cette version soient spécifiques aux modèles tabulaires, plusieurs améliorations ont été apportées aux modèles multidimensionnels ; par exemple, l’optimisation ROLAP pour le nombre distinct avec des sources de données telles que DB2 et Oracle, la prise en charge de la sélection multiple en drill-through avec Excel 2016, et les optimisations des requêtes Excel.
SQL Server 2016 Disponibilité générale (GA) Analysis Services
Modélisation
Amélioration des performances de modélisation pour les modèles tabulaires 1200
Pour les modèles tabulaires 1200, les opérations de métadonnées dans SSDT sont beaucoup plus rapides que les modèles tabulaires 1100 ou 1103. Par comparaison, sur le même matériel, la création d’une relation sur un modèle défini sur le niveau de compatibilité SQL Server 2014 (1103) avec 23 tables prend 3 secondes, tandis que la même relation sur un modèle créé sur le niveau de compatibilité 1200 prend juste moins d’une seconde.
Modèles de projet ajoutés pour les modèles tabulaires 1200 dans SSDT
Avec cette version, vous n’avez plus besoin de deux versions de SSDT pour créer des projets relationnels et BI. SQL Server Data Tools pour Visual Studio 2015 ajoute des modèles de projet pour les solutions Analysis Services, notamment les projets tabulaires Analysis Services utilisés pour créer des modèles au niveau de compatibilité 1200. D’autres modèles de projet Analysis Services pour les solutions multidimensionnelles et d’exploration de données sont également inclus, mais au même niveau fonctionnel (1100 ou 1103) que dans les versions précédentes.
Afficher les dossiers
Les dossiers d’affichage sont désormais disponibles pour les modèles tabulaires 1200. Défini dans SQL Server Data Tools et rendu dans les applications clientes comme Excel ou Power BI Desktop, les dossiers d’affichage vous aident à organiser un grand nombre de mesures dans des dossiers individuels, en ajoutant une hiérarchie visuelle pour faciliter la navigation dans les listes de champs.
Filtrage croisé bidirectionnel
Nouveauté de cette version est une approche intégrée pour activer les filtres croisés bidirectionnels dans les modèles tabulaires, ce qui élimine la nécessité de solutions de contournement DAX conçues manuellement pour propager le contexte de filtre entre les relations de table. Les filtres sont générés automatiquement uniquement lorsque la direction peut être établie avec un degré élevé de certitude. S’il existe une ambiguïté sous la forme de plusieurs chemins d’accès de requête entre les relations de table, un filtre ne sera pas créé automatiquement. Pour plus d’informations, consultez les filtres croisés bidirectionnels pour les modèles tabulaires dans SQL Server 2016 Analysis Services .
Traductions
Vous pouvez maintenant stocker les métadonnées traduites dans un modèle tabulaire 1200. Les métadonnées du modèle incluent des champs pour la culture, les légendes traduites et les descriptions traduites. Pour ajouter des traductions, utilisez la> commandeModel Translations dans SQL Server Data Tools. Pour plus d’informations , consultez Traductions dans les modèles tabulaires (Analysis Services ).
Tables collées
Vous pouvez maintenant mettre à niveau un modèle tabulaire 1100 ou 1103 vers 1200 lorsque le modèle contient des tables collées. Nous vous recommandons d’utiliser SQL Server Data Tools. Dans SSDT, définissez CompatibilityLevel sur 1200, puis déployez sur une instance SQL Server 2017 de SQL Server Analysis Services. Pour plus d’informations, consultez le niveau de compatibilité pour les modèles tabulaires dans Analysis Services .
Tables calculées dans SSDT
Une table calculée est une construction de modèle uniquement basée sur une expression ou une requête DAX dans SSDT. Lorsqu’elle est déployée dans une base de données, une table calculée est indistinguishable à partir de tables régulières.
Il existe plusieurs utilisations pour les tables calculées, notamment la création de nouvelles tables pour exposer une table existante dans un rôle spécifique. L’exemple classique est une table Date qui fonctionne dans plusieurs contextes (date de commande, date d’expédition, etc.). En créant une table calculée pour un rôle donné, vous pouvez désormais activer une relation de table pour faciliter les requêtes ou l’interaction des données à l’aide de la table calculée. Une autre utilisation pour les tables calculées consiste à combiner des parties de tables existantes dans une table entièrement nouvelle qui existe uniquement dans le modèle. Pour plus d’informations, consultez Créer une table calculée .
Réparation de formule
Grâce à la correction des formules du modèle tabulaire 1200, SSDT met automatiquement à jour toutes les mesures qui référencent une colonne ou une table renommée.
Prise en charge du gestionnaire de configuration Visual Studio
Pour prendre en charge plusieurs environnements, tels que les environnements de test et de préproduction, Visual Studio permet aux développeurs de créer plusieurs configurations de projet à l’aide du gestionnaire de configuration. Les modèles multidimensionnels tirent déjà parti de cela, mais les modèles tabulaires ne l’ont pas fait. Avec cette version, vous pouvez désormais utiliser le gestionnaire de configuration pour déployer sur différents serveurs.
Gestion d’instance
Administrer des modèles Tabulaire 1200 dans SSMS
Dans cette version, une instance Analysis Services en mode serveur tabulaire peut exécuter des modèles tabulaires à n’importe quel niveau de compatibilité (1100, 1103, 1200). La dernière version de SQL Server Management Studio est mise à jour pour afficher les propriétés et fournir l’administration des modèles de base de données pour les modèles tabulaires au niveau de compatibilité 1200.
Traitement parallèle pour plusieurs partitions de table dans des modèles tabulaires
Cette version inclut de nouvelles fonctionnalités de traitement parallèle pour les tables avec deux partitions ou plus, ce qui augmente les performances de traitement. Il n’existe aucun paramètre de configuration pour cette fonctionnalité. Pour plus d’informations sur la configuration des partitions et le traitement des tables, consultez partitions de modèle tabulaire.
Ajouter des comptes d’ordinateur en tant qu’administrateurs dans SSMS
Les administrateurs SQL Server Analysis Services peuvent désormais utiliser SQL Server Management Studio pour configurer des comptes d’ordinateur pour qu’ils soient membres du groupe d’administrateurs SQL Server Analysis Services. Dans la boîte de dialogue Sélectionner des utilisateurs ou des groupes , définissez les emplacements du domaine des ordinateurs , puis ajoutez le type d’objet Computers . Pour plus d’informations, voir Accorder des droits d’administrateur de serveur à une instance de Analysis Services.
DBCC pour Analysis Services
Le vérificateur de cohérence de base de données (DBCC) s’exécute en interne pour détecter les problèmes potentiels de corruption des données sur la charge de base de données, mais peut également être exécuté à la demande si vous soupçonnez des problèmes dans vos données ou votre modèle. DBCC exécute des vérifications différentes selon que le modèle est tabulaire ou multidimensionnel. Consultez le vérificateur de cohérence de base de données (DBCC) pour les bases de données tabulaires et multidimensionnelles (Analysis Services) pour plus d’informations.
Mises à jour des Événements Étendus
Cette version ajoute une interface utilisateur graphique à SQL Server Management Studio pour configurer et gérer des événements étendus SQL Server Analysis Services. Vous pouvez configurer des flux de données en direct pour surveiller l’activité du serveur en temps réel, conserver les données de session chargées en mémoire pour une analyse plus rapide ou enregistrer des flux de données dans un fichier pour une analyse hors connexion. Pour plus d’informations, consultez Surveiller Analysis Services avec les Événements étendus de SQL Server.
Écriture de scripts
PowerShell pour les modèles tabulaires
Cette version inclut des améliorations PowerShell pour des modèles tabulaires au niveau de compatibilité 1200. Vous pouvez utiliser toutes les applets de commande applicables, ainsi que les applets de commande spécifiques au mode tabulaire : Invoke-ProcessASDatabase et Invoke-ProcessTable applet de commande.
Opérations de scripting de bases de données avec SSMS
Dans la dernière version de SQL Server Management Studio (SSMS), le script est désormais activé pour les commandes de base de données, notamment Create, Alter, Delete, Backup, Restore, Attach, Detach. La sortie est en Tabular Model Scripting Language (TMSL) en JSON. Pour plus d’informations, consultez la référence TMSL (Tabular Model Scripting Language).
Tâche d'exécution de DDL d'Analysis Services
Analysis Services Execute DDL Task accepte désormais les commandes TMSL (Tabular Model Scripting Language).
Applet de commande PowerShell SSAS
L’applet de commande PowerShell SSAS Invoke-ASCmd accepte désormais les commandes TMSL (Tabular Model Scripting Language). D'autres applets de commande PowerShell SSAS pourront être mises à jour dans une prochaine version pour utiliser les nouvelles métadonnées tabulaires (les exceptions seront précisées dans les notes de version). Consultez la référence PowerShell Analysis Services pour plus d’informations.
Langage TMSL (Tabular Model Scripting Language) pris en charge dans SSMS
À l’aide de la dernière version de SSMS, vous pouvez désormais créer des scripts pour automatiser la plupart des tâches d’administration pour les modèles tabulaires 1200. Actuellement, les tâches suivantes peuvent être scriptées : traiter à n’importe quel niveau, plus CREATE, ALTER, DELETE au niveau de la base de données.
Fonctionnellement, TMSL équivaut à l’extension ASSL XMLA qui fournit des définitions d’objets multidimensionnels, sauf que TMSL utilise des descripteurs natifs comme le modèle, la table et la relation pour décrire les métadonnées tabulaires. Consultez la référence TMSL (Tabular Model Scripting Language) pour plus d’informations sur le schéma.
Un script JSON généré pour un modèle tabulaire peut ressembler à ce qui suit :
{
"create": {
"database": {
"name": "AdventureWorksTabular1200",
"id": "AdventureWorksTabular1200",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
}
}
La charge utile est un document JSON qui peut être aussi minimal que l’exemple indiqué ci-dessus, ou fortement embelli avec l’ensemble complet de définitions d’objets. La référence TMSL (Tabular Model Scripting Language) décrit la syntaxe.
Au niveau de la base de données, les commandes CREATE, ALTER et DELETE génèrent un script TMSL dans la fenêtre XMLA familière. D’autres commandes, telles que Process, peuvent également être scriptées dans cette version. La prise en charge des scripts pour de nombreuses autres actions peut être ajoutée dans une prochaine version.
| Commandes scriptables | Description |
|---|---|
| créer | Ajoute une base de données, une connexion ou une partition. L’équivalent ASSL est CREATE. |
| createOrReplace | Met à jour une définition d’objet existante (base de données, connexion ou partition) en remplaçant une version précédente. L’équivalent ASSL est ALTER avec AllowOverwrite défini sur true et ObjectDefinition sur ExpandFull. |
| supprimer | Supprime une définition d’objet. L’équivalent ASSL est DELETE. |
| actualiser | Traite l’objet. L’équivalent ASSL est PROCESS. |
DAX
Amélioration de l'édition des formules DAX
Les mises à jour de la barre de formule vous permettent d’écrire des formules plus facilement en distinguant les fonctions, les champs et les mesures grâce à la coloration syntaxique. Elle vous propose des suggestions intelligentes de fonctions et de champs et vous signale si certaines parties de votre expression DAX sont incorrectes à l’aide de soulignements en zigzag d'erreur. Il vous permet également d’utiliser plusieurs lignes (Alt + Entrée) et mise en retrait (Tab). La barre de formule vous permet désormais d’écrire des commentaires dans le cadre de vos mesures, tapez simplement « // » et tout ce qui suit ces caractères sur la même ligne sera considéré comme un commentaire.
Variables DAX
Cette version inclut désormais la prise en charge des variables dans DAX. Les variables peuvent désormais stocker le résultat d’une expression sous la forme d’une variable nommée, qui peut ensuite être passée en tant qu’argument à d’autres expressions de mesure. Une fois que les valeurs résultantes ont été calculées pour une expression de variable, ces valeurs ne changent pas, même si la variable est référencée dans une autre expression. Pour plus d’informations, consultez fonction VAR.
Nouvelles fonctions DAX
Avec cette version, DAX introduit plus de cinquante nouvelles fonctions pour prendre en charge des calculs plus rapides et des visualisations améliorées dans Power BI. Pour en savoir plus, consultez Nouvelles fonctions DAX.
Enregistrer les mesures incomplètes
Vous pouvez désormais enregistrer des mesures DAX incomplètes directement dans un projet de modèle tabulaire 1200 et la reprendre lorsque vous êtes prêt à continuer.
Améliorations supplémentaires de DAX
- Calcul non vide : réduit le nombre d'analyses nécessaires pour les éléments non vides.
- Fusion de mesures : plusieurs mesures de la même table seront combinées en un seul moteur de stockage - requête.
- Ensembles de regroupement - Lorsqu’une requête demande des mesures à plusieurs granularités (Total/Année/Mois), une requête unique est envoyée au niveau le plus bas et le reste des granularités sont dérivées du niveau le plus bas.
- Élimination de jointure redondante : une requête unique au moteur de stockage retourne les colonnes de dimension et les valeurs de mesure.
- Évaluation stricte de IF/SWITCH : une branche dont la condition est false n’entraîne plus de requêtes de moteur de stockage. Auparavant, les branches étaient évaluées avec empressement, mais les résultats ont été écartés plus tard.
Développeur
Espace de noms Microsoft.AnalysisServices.Tabular pour la programmabilité Tabulaire 1200 dans AMO
Analysis Services Management Objects (AMO) est mis à jour pour inclure un nouvel espace de noms tabulaire pour gérer une instance de mode tabulaire de SQL Server 2016 Analysis Services, ainsi que fournir le langage de définition de données pour créer ou modifier des modèles tabulaires 1200 par programmation. Visitez Microsoft.AnalysisServices.Tabular pour lire sur l’API.
Mises à jour AMO (Analysis Services Management Objects)
Analysis Services Management Objects (AMO) a été refacturé pour inclure un deuxième assembly, Microsoft.AnalysisServices.Core.dll. Le nouvel assembly sépare les classes courantes telles que Le serveur, la base de données et le rôle qui ont une application étendue dans Analysis Services, quel que soit le mode serveur. Auparavant, ces classes faisaient partie de l’assembly Microsoft.AnalysisServices d’origine. Le déplacement vers un nouvel assembly ouvre la voie aux futures extensions vers AMO, avec une division claire entre les API génériques et spécifiques au contexte. Les applications existantes ne sont pas affectées par les nouveaux assemblages. Toutefois, si vous choisissez de reconstruire des applications à l’aide du nouvel assembly AMO pour une raison quelconque, veillez à ajouter une référence à Microsoft.AnalysisServices.Core. De même, les scripts PowerShell qui chargent et appellent dans AMO doivent maintenant charger Microsoft.AnalysisServices.Core.dll. Veillez à mettre à jour tous les scripts.
Éditeur JSON pour les fichiers BIM
La vue du code dans Visual Studio 2015 affiche désormais le fichier BIM au format Json pour les modèles tabulaires 1200. La version de Visual Studio détermine si le fichier BIM est rendu au format JSON via l’éditeur JSON intégré ou en tant que texte simple.
Pour utiliser l’éditeur JSON, avec la possibilité de développer et de réduire les sections du modèle, vous aurez besoin de la dernière version de SQL Server Data Tools et de Visual Studio 2015 (toute édition, y compris l’édition Community gratuite). Pour toutes les autres versions de SSDT ou Visual Studio, le fichier BIM est affiché en JSON sous forme de texte simple. Au minimum, un modèle vide contient le code JSON suivant :
{
"name": "SemanticModel",
"id": "SemanticModel",
"compatibilityLevel": 1200,
"readWriteMode": "readWrite",
"model": {}
}
Avertissement
Évitez de modifier directement le JSON. Cela peut endommager le modèle.
Nouveaux éléments dans le schéma MS-CSDLBI 2.0
Les éléments suivants ont été ajoutés au type complexe TProperty défini dans le schéma [MS-CSDLBI] 2.0 :
| Élément | Définition |
|---|---|
| DefaultValue | Propriété qui spécifie la valeur utilisée lors de l’évaluation de la requête. La propriété DefaultValue est facultative, mais elle est automatiquement sélectionnée si les valeurs du membre ne peuvent pas être agrégées. |
| Statistiques | Ensemble de statistiques à partir des données sous-jacentes associées à la colonne. Ces statistiques sont définies par le type complexe TPropertyStatistics et sont fournies uniquement si elles ne sont pas coûteuses à générer, comme décrit dans la section 2.1.13.5 du format de fichier de définition de schéma conceptuel avec le document Annotations Business Intelligence. |
Requête Directe
Nouvelle implémentation de DirectQuery
Cette version présente des améliorations significatives dans DirectQuery pour les modèles tabulaires 1200. Voici un résumé :
- DirectQuery génère désormais des requêtes plus simples qui offrent de meilleures performances.
- Contrôle supplémentaire sur la définition d’exemples de jeux de données utilisés pour la conception et le test des modèles.
- La sécurité au niveau des lignes (RLS) est désormais prise en charge pour les modèles tabulaires 1200 en mode DirectQuery. Auparavant, la présence de RLS empêchait le déploiement d’un modèle tabulaire en mode DirectQuery.
- Les colonnes calculées sont désormais prises en charge pour les modèles tabulaires 1200 en mode DirectQuery. Auparavant, la présence de colonnes calculées empêchait le déploiement d’un modèle tabulaire en mode DirectQuery.
- Les optimisations des performances incluent l’élimination de jointure redondante pour VertiPaq et DirectQuery.
Nouvelles sources de données pour le mode DirectQuery
Les sources de données prises en charge pour les modèles tabulaires 1200 en mode DirectQuery incluent désormais Oracle, Teradata et Microsoft Analytics Platform (anciennement Parallel Data Warehouse). Pour plus d’informations, consultez le mode DirectQuery.
Fonctionnalités déconseillées dans SSAS 2016
Les fonctionnalités suivantes sont déconseillées dans cette version :
| Mode/Catégorie | Caractéristique |
|---|---|
| Multidimensionnel | Partitions distantes |
| Multidimensionnel | Groupes de mesures liés à distance |
| Multidimensionnel | Réécriture dimensionnelle |
| Multidimensionnel | Dimensions liées |
| Multidimensionnel | Notifications de table SQL Server pour la mise en cache proactive. Le remplacement consiste à utiliser l’interrogation pour la mise en cache proactive. Consultez La mise en cache proactive (dimensions) et la mise en cache proactive (partitions). |
| Multidimensionnel | Cubes de session. Il n’y a pas de remplacement. |
| Multidimensionnel | Cubes locaux. Il n’y a pas de remplacement. |
| Tabulaire | Les niveaux de compatibilité du modèle tabulaire 1100 et 1103 ne seront pas pris en charge dans une version ultérieure. Le remplacement consiste à définir des modèles au niveau de compatibilité 1200 ou supérieur, en convertissant les définitions de modèle en métadonnées tabulaires. Consultez le niveau de compatibilité pour les modèles tabulaires dans Analysis Services. |
| Outils | Générateur de profils SQL Server pour la capture de trace Le remplacement consiste à utiliser le profileur d’événements étendus incorporé dans SQL Server Management Studio. Voir Surveillance des Services d'Analyse avec les événements étendus de SQL Server. |
| Outils | Profileur de serveur pour la relecture des traces Remplacement. Il n’y a pas de remplacement. |
| Objets de gestion des traces et API de traces | Objets Microsoft.AnalysisServices.Trace (contient les API pour les objets Trace et Replay d'Analysis Services). Le remplacement est en plusieurs parties : - Configuration de trace : Microsoft.SqlServer.Management.XEvent - Lecture de trace : Microsoft.SqlServer.XEvent.Linq - Relecture de trace : Aucun |
Fonctionnalités abandonnées dans SSAS 2016
Les fonctionnalités suivantes sont supprimées dans cette version :
| Caractéristique | Remplacement ou contournement |
|---|---|
| CalculationPassValue (MDX) | Aucun. Cette fonctionnalité a été déconseillée dans SQL Server 2005. |
| CalculationCurrentPass (MDX) | Aucun. Cette fonctionnalité a été déconseillée dans SQL Server 2005. |
| NON_EMPTY_BEHAVIOR directive d'optimisation de requête | Aucun. Cette fonctionnalité a été déconseillée dans SQL Server 2008. |
| Assemblages COM | Aucun. Cette fonctionnalité a été déconseillée dans SQL Server 2008. |
| Propriété intrinsèque de la cellule CELL_EVALUATION_LIST | Aucun. Cette fonctionnalité a été déconseillée dans SQL Server 2005. |
Changements cassants dans SSAS 2016
Mise à niveau de la version de .NET 4.0
Les bibliothèques clientes AMO (Analysis Services Management Objects), ADOMD.NET et TOM (Tabular Object Model) ciblent désormais le runtime .NET 4.0. Il peut s’agir d’une modification cassant pour les applications qui ciblent .NET 3.5. Les applications utilisant des versions plus récentes de ces assemblys doivent désormais cibler .NET 4.0 ou version ultérieure.
Mise à niveau de version AMO
Cette version est une mise à niveau de la version de Analysis Services Management Objects (AMO) et constitue un changement important dans certaines circonstances. Le code et les scripts existants qui appellent AMO continueront à s’exécuter comme avant si vous effectuez une mise à niveau à partir d’une version précédente. Toutefois, si vous devez recompiler votre application et que vous ciblez une instance SQL Server 2016 Analysis Services, vous devez ajouter l’espace de noms suivant pour rendre votre code ou script opérationnel :
using Microsoft.AnalysisServices;
using Microsoft.AnalysisServices.Core;
L’espace de noms Microsoft.AnalysisServices.Core est désormais requis chaque fois que vous référencez l’assembly Microsoft.AnalysisServices dans votre code. Les objets qui étaient précédemment uniquement dans l’espace de noms Microsoft.AnalysisServices sont déplacés vers l’espace de noms Core dans cette version si l’objet est utilisé de la même façon dans les scénarios tabulaires et multidimensionnels. Par exemple, les API liées au serveur sont déplacées vers l’espace de noms Core.
Bien qu'il existe maintenant plusieurs espaces de noms, les deux existent dans le même ensemble (Microsoft.AnalysisServices.dll).
Changements de XEvent DISCOVER
Pour mieux prendre en charge le streaming XEvent DISCOVER dans SSMS pour SQL Server 2016 Analysis Services, DISCOVER_XEVENT_TRACE_DEFINITION est remplacé par les traces XEvent suivantes :
DÉCOUVRIR_ENSEMBLES_XEVENT
DISCOVER_XEVENT_OBJECT
DISCOVER_XEVENT_OBJECT_COLUMNS
DISCOVER_XEVENT_SESSION_TARGETS
Changements de comportement dans SSAS 2016
Analysis Services en mode SharePoint
L’exécution de l’Assistant de Configuration de Power Pivot n’est plus nécessaire après l’installation. Cela est vrai pour toutes les versions prises en charge de SharePoint qui chargent des modèles à partir de SQL Server 2016 Analysis Services actuel.
Mode DirectQuery pour les modèles tabulaires
DirectQuery est un mode d’accès aux données pour les modèles tabulaires, où l’exécution des requêtes est effectuée sur une base de données relationnelle principale, en récupérant un jeu de résultats en temps réel. Il est souvent utilisé pour les jeux de données très volumineux qui ne peuvent pas tenir dans la mémoire ou lorsque les données sont volatiles et que vous souhaitiez que les données les plus récentes soient retournées dans les requêtes sur un modèle tabulaire.
DirectQuery a existé comme mode d’accès aux données pour les dernières versions. Dans SQL Server 2016 Analysis Services, l’implémentation a été légèrement révisée, en supposant que le modèle tabulaire est au niveau de compatibilité 1200 ou supérieur. DirectQuery a moins de restrictions qu’auparavant. Il a également différentes propriétés de base de données.
Si vous utilisez DirectQuery dans un modèle tabulaire existant, vous pouvez conserver le modèle à son niveau de compatibilité actuel de 1100 ou 1103 et continuer à utiliser DirectQuery comme implémenté pour ces niveaux. Vous pouvez également effectuer une mise à niveau vers la version 1200 ou ultérieure pour bénéficier des améliorations apportées à DirectQuery.
Il n’existe aucune mise à niveau sur place d’un modèle DirectQuery, car les paramètres des niveaux de compatibilité plus anciens n’ont pas d’équivalents exacts dans les plus récents niveaux de compatibilité 1200 et supérieurs. Si vous disposez d’un modèle tabulaire existant qui s’exécute en mode DirectQuery, vous devez ouvrir le modèle dans SQL Server Data Tools, désactiver DirectQuery, définir la propriété Niveau de compatibilité sur 1200 ou version ultérieure, puis reconfigurer les propriétés DirectQuery. Pour plus d’informations, consultez le mode DirectQuery .
Définitions
Une fonctionnalité déconseillée sera supprimée du produit dans une version ultérieure, mais elle est toujours prise en charge et incluse dans la version actuelle pour maintenir la compatibilité descendante. Nous vous recommandons de cesser d’utiliser des fonctionnalités déconseillées dans des projets nouveaux et existants pour maintenir la compatibilité avec les futures versions. La documentation n’est pas mise à jour pour les fonctionnalités déconseillées.
Une fonctionnalité abandonnée a été déconseillée dans une version antérieure. Il peut continuer à être inclus dans la version actuelle, mais n’est plus pris en charge. Les fonctionnalités supprimées peuvent être supprimées entièrement dans la version indiquée ou ultérieure.
Une modification cassante provoque le dysfonctionnement d’une fonctionnalité, d’un modèle de données, d’un code d’application ou d’un script après la mise à niveau vers la version actuelle.
Une modification de comportement affecte le fonctionnement de la même fonctionnalité dans la version actuelle par rapport à la version précédente. Seules les modifications significatives du comportement sont décrites. Les modifications apportées à l’interface utilisateur ne sont pas incluses. Les modifications apportées aux valeurs par défaut, à la configuration manuelle requise pour effectuer une fonctionnalité de mise à niveau ou de restauration, ou à une nouvelle implémentation d’une fonctionnalité existante sont tous des exemples de changement de comportement.