Documentation pour les développeurs Analysis Services

S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Avec Analysis Services, presque tous les objets et charges de travail sont programmables, et il existe souvent plusieurs approches à choisir. Les options incluent l’écriture de code managé, de script ou l’utilisation de normes ouvertes telles que XMLA et MSOLAP si les exigences de votre solution empêchent l’utilisation du .NET Framework.

Ce que vous pouvez accomplir dans le code

Les scénarios de programmation classiques incluent le déploiement de serveurs, de bases de données et de modèles sémantiques, l’administration, l’actualisation des données et la gestion des partitions, l’accès aux données à partir d’applications personnalisées et des outils externes. Dans tous ces scénarios, il existe une architecture fixe et une hiérarchie de définition d’objet, avec des opérations bien comprises qui couvrent la définition des données, le traitement et les charges de travail de requête.

Bien que les objets et les charges de travail soient programmables, ils ne sont pas extensibles. Plus précisément, vous ne pouvez pas créer de cartouches de données personnalisées qui récupèrent des données à partir de sources de données non prises en charge, personnaliser ou remplacer des comportements de formule ou de moteur de stockage, ni créer de nouveaux types de métadonnées d’objet sur un serveur, une base de données ou un modèle.

Pour approfondir le dernier point sur la création de nouveaux types d’objets, bien que vous ne puissiez pas créer un nouveau type d’objet, vous pouvez créer des objets calculés créés à partir d’expressions ou de code au moment de l’exécution. Tous les éléments de votre modèle ne doivent pas être prédéfinis et mappés à une structure de données existante. En outre, vous pouvez étendre le schéma via des annotations dans AMO pour transmettre des informations spécifiques à un objet à votre application cliente.

Choisir une plateforme ou une approche de développement

Analysis Services offre de nombreuses façons de personnaliser une solution par le biais du code, mais la plupart des développeurs utilisent les API ou le script managés.

  • Les API managées incluent AMO et TOM pour la définition des données et les tâches d’administration, et ADOMD.NET pour la prise en charge des requêtes à partir du code client. Dans SQL Server 2016 et versions ultérieures, AMO est mis à jour pour utiliser les nouvelles métadonnées tabulaires pour les modèles créés ou mis à niveau vers le niveau de compatibilité 1200 et supérieur.

  • Le script peut souvent obtenir les mêmes résultats qu’un exécutable de programme, avec peut-être moins de travail.

    • Vous pouvez écrire un script PowerShell à l’aide de composants PowerShell Analysis Services qui appellent directement des types AMO. Dans PowerShell, vous pouvez également créer et exécuter un script ASSL/XMLA ou TMSL (en JSON).

    • TMSL et ASSL sont des langages de script qui fournissent des objets utilisés dans les opérations de découverte et d’exécution. Le type de script que vous utilisez dépend du serveur, de la base de données ou du modèle sous-jacent.

    • Les modèles tabulaires ou les bases de données au niveau de compatibilité 1200 et supérieur utilisent le langage TMSL (Tabular Model Scripting Language), qui est en JSON.

    • Les modèles multidimensionnels et les modèles tabulaires aux niveaux de compatibilité 1050-1103 utilisent le langage de script Analysis Services (ASSL), qui est l’extension Analysis Services de la norme ouverte XMLA.

    • Vous pouvez générer un script ASSL ou TMSL dans Management Studio. Vous pouvez également utiliser Afficher le code dans SQL Server Data Tools pour afficher la définition de modèle dans ASSL ou TMSL.

  • Bien qu’il soit possible de créer une solution basée sur les normes ouvertes de XMLA et MDX, il est assez rare de le faire. Il n’existe aucune documentation autre que XMLA et MDX pour vous aider, et la plupart des services de support de la communauté et des forums s’appuient sur des expériences avec les technologies .NET ou natives (MSOLAP).

Programmation pour Analysis Services

Analysis Services Management Objects (AMO) - Documentation de référence des développeurs pour le fournisseur managé, AMO (Analysis Services Management Objects), pour la définition et l’administration des données, y compris le traitement.

Modèle objet tabulaire : extension de la bibliothèque cliente AMO, créée pour prendre en charge les scénarios de programmation pour les modèles tabulaires créés au niveau de compatibilité 1200 et supérieur.

Langage TMDL (Tabular Model Definition Language) : syntaxe de définition de modèle objet pour les modèles de données tabulaires au niveau de compatibilité 1200 ou supérieur. Entièrement compatible avec TOM. Basé sur du texte et optimisé pour l’interaction humaine et la lisibilité.

Référence TMSL (Tabular Model Scripting Language) : représentation JSON des modèles tabulaires au niveau de compatibilité 1200 et supérieur. Les définitions d’objet sont basées sur des constructions de métadonnées tabulaires telles que la table, la colonne et la relation, plutôt que sur des métadonnées multidimensionnelles qui peuvent ne pas être familières si vous débutez dans la modélisation des données Analysis Services en mode tabulaire.

Programmation de modèles multidimensionnels : décrit les tâches de développement et les approches d’intégration d’objets de modèle multidimensionnel dans une solution personnalisée.

ADOMD.NET - Documentation de référence pour les développeurs pour le fournisseur managé, ADOMD.NET, utilisé pour l’accès aux données par programmation et les charges de travail de requête.

Référence XML for Analysis (XMLA) : décrit les concepts XMLA qui peuvent vous aider à comprendre comment XMLA contribue à votre solution personnalisée. Décrit également le niveau de compatibilité avec la spécification XMLA 1.1.

Langage de script Analysis Services (ASSL pour XMLA) : décrit les extensions ASSL de XMLA. ASSL propose un langage de manipulation et de définition de données pour les modèles multidimensionnels Analysis Services qui complète la spécification XMLA.

Ensembles de lignes de schéma Analysis Services : décrit les ensembles de lignes de schéma qui fournissent des informations sur l’état du serveur, les opérations du serveur et les objets de base de données.

Référence PowerShell Analysis Services : documente les applets de commande utilisées pour les fonctions d’administration, ainsi que l’applet de commande Invoke-ASCmd à usage général qui accepte n’importe quel script ou requête en tant qu’entrée.