Analysis Services 开发人员文档
适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
使用 Analysis Services 时,几乎每个对象和工作负载都是可编程的,并且通常有多种方法可供选择。 选项包括编写托管代码、脚本或使用开放标准(如 XMLA 和 MSOLAP),前提是解决方案要求阻止使用 .NET Framework。
可以在代码中完成的操作
典型的编程方案包括服务器、数据库和语义模型部署、管理、数据刷新和分区管理、从自定义应用程序访问数据以及外部工具。 所有这些方案通用的是固定的体系结构和对象定义层次结构,其中包含涵盖数据定义、处理和查询工作负载的知名操作。
尽管对象和工作负载是可编程的,但它们不可扩展。 具体而言,不能创建自定义数据盒来从不受支持的数据源检索数据、自定义或替换公式或存储引擎行为,也不能在服务器、数据库或模型上创建新的对象元数据类型。
若要进一步详细说明有关创建新对象类型的最后一点,虽然不能创建新的对象类型,但可以在运行时创建从表达式或代码生成的计算对象。 并非模型中的所有内容都需要预定义并映射到现有数据结构。 此外,还可以通过 AMO 中的注释扩展架构,以便将特定于对象的信息传递给客户端应用程序。
选择开发平台或方法
Analysis Services 提供了许多通过代码自定义解决方案的方法,但大多数开发人员使用托管 API 或脚本。
托管 API 包括用于数据定义和管理任务的 AMO 和 TOM , 以及用于 从客户端代码查询支持的 ADOMD.NET。 SQL Server 2016 及更高版本中,AMO 已更新为对创建或升级到兼容级别 1200 及更高级别的模型使用新的表格元数据。
脚本通常可以实现与程序可执行文件相同的结果,工作可能更少。
可以使用直接调用 AMO 类型的 Analysis Services PowerShell 组件编写 PowerShell 脚本。 在 PowerShell 中,还可以在 JSON) 脚本中创建和执行 ASSL/XMLA 或 TMSL (。
兼容级别为 1200 及更高级别的表格模型或数据库使用表格模型脚本语言 (TMSL) (JSON 格式)。
兼容级别为 1050-1103 的多维模型和表格模型使用 Analysis Services 脚本语言 (ASSL) ,这是 XMLA 开放标准的 Analysis Services 扩展。
可以在 Management Studio 中生成 ASSL 或 TMSL 脚本。 还可以使用 SQL Server Data Tools 中的“查看代码”来查看 ASSL 或 TMSL 中的模型定义。
虽然可以基于 XMLA 和 MDX 的开放标准生成解决方案,但这种情况很少见。 除了 XMLA 和 MDX 参考之外,没有其他文档可为你提供帮助,大多数社区和论坛支持都借鉴了 .NET 或本机 (MSOLAP) 技术的经验。
Analysis Services 编程
Analysis Services 管理对象 (AMO) - 用于数据定义和管理(包括处理)的托管提供程序、Analysis Services 管理对象 (AMO) 的开发人员参考文档。
表格对象模型 - AMO 客户端库的扩展,为支持在兼容级别 1200 及更高级别创建的表格模型的编程方案而创建。
表格模型定义语言 (TMDL) - 兼容级别为 1200 或更高级别的表格数据模型的对象模型定义语法。 与 TOM 完全兼容。 基于文本,针对人机交互和可读性进行优化。
表格模型脚本语言 (TMSL) 参考 - 兼容级别为 1200 及更高级别的表格模型的 JSON 表示形式。 如果不熟悉表格模式下的 Analysis Services 数据建模,则对象定义基于表格元数据构造(如表、列和关系),而不是可能不熟悉的多维元数据。
多维模型编程 - 介绍在自定义解决方案中集成多维模型对象的开发任务和方法。
ADOMD.NET - 托管提供程序的开发人员参考文档,ADOMD.NET,用于以编程方式访问和查询工作负载。
XML for Analysis (XMLA) 参考 - 介绍 XMLA 概念,可帮助你了解 XMLA 如何为自定义解决方案做出贡献。 它还说明遵从 XMLA 1.1 规范的级别。
Analysis Services Scripting Language (ASSL for XMLA) - 描述 XMLA 的 ASSL 扩展。 ASSL 提供补充 XMLA 规范的 Analysis Services 多维模型的数据定义和操作语言。
Analysis Services 架构行集 - 描述提供有关服务器状态、服务器操作和数据库对象信息的架构行集。
Analysis Services PowerShell 参考 - 记录用于管理功能的 cmdlet,以及接受任何脚本或查询作为输入的常规用途 Invoke-ASCmd cmdlet。