分析数据市场
- 版本 :2023.1(当前版本)
分析数据市场
你可使用多种工具分析数据市场,其中包括数据市场编辑器和 SQL 查询编辑器。 本文介绍如何使用这些工具来分析数据市场,并就查看所需信息的最佳方法提出建议。
在数据市场编辑器中进行分析
数据市场编辑器提供了一个简单的可视化界面,用于分析数据市场。 以下各部分提供有关如何使用数据市场编辑器深入了解数据市场和数据的指导。
可视化查询
将数据加载到数据市场后,就可以使用“数据市场编辑器”来创建用于分析数据的查询了。 你可使用可视化查询编辑器获得用于创建查询的无代码体验。
可通过两种方法访问可视化查询编辑器:
在“数据网格”视图中,使用功能区上的“+ 新建查询”按钮创建一个新查询,如下图所示。
此外,你也可以使用数据市场编辑器窗口底部的“设计视图”图标,如下图所示。
若要创建查询,请将表从左侧的对象资源管理器拖放到画布上。
将一个或多个表拖到画布上后,你就可以使用视觉对象体验来设计查询。 数据市场编辑器使用类似的 Power Query 关系图视图体验,使你能够轻松查询和分析数据。 详细了解 Power Query 关系图视图。
处理可视化查询时,查询会每隔几秒自动保存一次。 底部查询选项卡中显示的“保存指示器”表示正在保存查询。
下图显示使用无代码可视化查询编辑器创建的示例查询,用于检索“按订单排列的排名靠前的客户”。
关于可视化查询编辑器,以下几点需要牢记:
你只能编写 DQL(而不能编写 DDL 或 DML)
目前仅支持一部分支持查询折叠的 Power Query 操作
当前无法在 Excel 中打开可视化查询
SQL 查询编辑器
SQL 查询编辑器提供了一个文本编辑器,用于使用 T-SQL 编写查询。 若要访问内置 SQL 查询编辑器,请选择位于数据市场编辑器窗口底部的“SQL 查询编辑器视图”图标。
可以在查询编辑器窗口中编写 SQL 查询,其中包括 intellisense 支持。 完成后,选择“运行”按钮以执行查询。 查询结果显示在结果部分。 通过选择“在 Excel 中打开”按钮,可在 Excel 中打开结果,以进行进一步分析。
处理 SQL 查询时,查询会每隔几秒自动保存一次。 底部查询选项卡中显示的“保存指示器”表示正在保存查询。
SQL 查询编辑器支持 IntelliSense、代码完成、语法突出显示、客户端分析和验证。 编写 T-SQL 查询后,选择“运行”以执行查询。 “结果”预览显示在“结果”部分。 “在 Excel 中打开”按钮将在 Excel 中打开相应的 T-SQL 查询并执行查询,使你能够在 Excel 中查看结果。
关于可视化查询编辑器,以下几点需要牢记:
你只能编写 DQL(而不能编写 DDL 或 DML)
在编辑器外部进行分析
数据市场通过你自己的开发环境(例如 SSMS 或 Azure Data Studio)提供 SQL DQL(查询)体验。 必须运行最新版本的工具并使用 Azure Active Directory 或 MFA 进行身份验证。 登录过程与 Power BI 的登录过程相同。
何时使用内置查询与外部 SQL 工具
Power BI 中为数据市场提供了无代码可视化查询编辑器和数据市场编辑器。 无代码可视化查询编辑器可供不熟悉 SQL 语言的用户使用,而数据市场编辑器有助于快速监视 SQL DB。
对于提供更全面的实用工具的查询体验,请将各种图形工具与许多丰富的脚本编辑器结合使用,SQL Server Management Studio (SSMS) 和 Azure Data Studio (ADS) 是更可靠的开发环境。
何时使用 SQL Server Management Studio 与 Azure Data Studio
虽然这两种分析体验都为 SQL 查询提供了广泛的开发环境,但每种环境都是针对单独的用例量身定制的。
可将 SSMS 用于:
复杂的管理或平台配置
安全管理,包括用户管理和安全功能配置
实时查询统计信息或客户端统计信息
将 ADS 用于:
macOS 和 Linux 用户
大部分编辑或执行查询
快速绘制图表并可视化集的结果
获取 T-SQL 连接字符串
对于具备 SQL 经验的开发人员和分析师,使用 SQL Server Management Studio 或 Azure Data Studio 作为 Power BI 数据市场的扩展可以提供更全面的查询环境。
若要使用客户端工具连接到数据市场的 SQL 终结点,请导航到数据集设置页。 在此处展开“服务器设置”部分,然后复制连接字符串,如下图所示。
SSMS 入门
若要使用 SQL Server Management Studio (SSMS),则必须使用 SSMS 版本 18.0 或更高版本。 当打开 SQL Server Management Studio 时,将显示“连接到服务器”窗口。 可通过选择“对象资源管理器”>“连接”>“数据库引擎”手动将其打开。
“连接到服务器”窗口打开后,将从本文上一部分复制的连接字符串粘贴到“服务器名称”框中。 选择“连接”,然后继续使用适当的凭据进行身份验证。 请记住,仅支持 Azure Active Directory MFA 身份验证。
建立连接后,对象资源管理器将显示来自数据市场的已连接 SQL DB 及其各自的表和视图,所有这些都已准备好进行查询。
若要轻松预览表中的数据,请右键单击表,然后从显示的上下文菜单中选择“选择前 1000 行”。 自动生成的查询将根据表的主键返回显示前 1,000 行的结果集合。
下图显示此类查询返回的结果。
若要查看表中的列,请在“对象资源管理器”中展开表。
当使用 SSMS 或其他客户端工具连接到数据市场时,可以看到在数据市场的模型架构中创建的视图。 数据市场上的默认架构配置设置为“模型”。
当使用 SSMS 进行连接时,数据市场将在安全性下显示另外两个角色:“管理员”和“查看者”。 以任何“管理员”、“成员”或“参与者”角色添加到工作区的用户都将被添加到数据市场上的“管理员”角色中。 在工作区中被添加到“查看者”角色的用户会被添加到数据市场中的“查看者”角色。
关系元数据
通过数据市场中添加的扩展属性 isSaaSMetadata,可知道此元数据正在用于 SaaS 体验。 可按下面所示查询此扩展属性:
SQL复制
SELECT [name], [value] FROM sys.extended_properties WHERE [name] = N'isSaaSMetadata'
客户端(如 SQL 连接器)可以通过查询表值函数来读取关系,如下所示:
SQL复制
SELECT * FROM [metadata].[fn_relationships]();
请注意,元数据架构下有 relationships 和 relationshipColumns 命名视图,用于维护数据市场中的关系。 以下各表依次描述了每个视图:
[metadata].[relationships]
列名称 | 数据类型 | 说明 |
---|---|---|
RelationshipId | Bigint | 关系的唯一标识符 |
名称 | Nvarchar(128) | 关系的名称 |
FromSchemaName | Nvarchar(128) | 定义关系的源表“From”的架构名称。 |
FromObjectName | Nvarchar(128) | 定义关系的表/视图名称“From” |
ToSchemaName | Nvarchar(128) | 定义关系的接收器表“To”的架构名称 |
ToObjectName | Nvarchar(128) | 定义关系的表/视图名称“To” |
TypeOfRelationship | Tinyint | 关系基数,可能的值为:0 - None 1 - OneToOne 2 - OneToMany 3 - ManyToOne 4 - ManyToMany |
SecurityFilteringBehavior | Tinyint | 指示当对行级别安全性表达式进行求值时关系影响数据筛选的方式。 可能的值为:1 - OneDirection 2 - BothDirections 3 - None |
IsActive | bit | 关系是标记为活动还是非活动的布尔值。 |
RelyOnReferentialIntegrity | bit | 一个布尔值,指示关系是否可以依赖引用完整性。 |
CrossFilteringBehavior | Tinyint | 指示关系如何影响数据的筛选。 可能的值为:1 - OneDirection 2 - BothDirections 3 - Automatic |
CreatedAt | datetime | 创建关系的日期。 |
UpdatedAt | 日期/时间 | 修改关系的日期。 |
DatamartObjectId | Navrchar(32) | 数据市场的唯一标识符 |
[metadata].[relationshipColumns]
列名称 | 数据类型 | 说明 |
---|---|---|
RelationshipColumnId | bigint | 关系列的唯一标识符。 |
RelationshipId | bigint | 外键,引用关系表中的 RelationshipId 键。 |
FromColumnName | Navrchar(128) | “From”列的名称 |
ToColumnName | Nvarchar(128) | “To”列的名称 |
CreatedAt | 日期/时间 | 创建关系的日期。 |
DatamartObjectId | Navrchar(32) | 数据市场的唯一标识符 |
可以联接这两个视图,以在数据市场中添加关系。 以下查询将联接这些视图:
SQL复制
SELECT R.RelationshipId,R.[Name],R.[FromSchemaName],R.[FromObjectName],C.[FromColumnName],R.[ToSchemaName],R.[ToObjectName],C.[ToColumnName]FROM [METADATA].[relationships] AS RJOIN [metadata].[relationshipColumns] AS CON R.RelationshipId=C.RelationshipId