【发布时间】:2017-01-27 15:10:56
【问题描述】:
请问,我可以在一个多维数据集中从两个不同的数据源视图创建维度吗? 我有一个 AS DB,一个 dsv 和一个立方体 现在我想创建另一个基于其他 dsv 但具有相同维度日期的多维数据集 使用过的表在同一日期字段上与 DimDate 表具有相同的结构 我看不到其他原始 dsv 的 tebles
BIDS x MSSQL
非常感谢!
【问题讨论】:
标签: ssas dimension datasourceview
请问,我可以在一个多维数据集中从两个不同的数据源视图创建维度吗? 我有一个 AS DB,一个 dsv 和一个立方体 现在我想创建另一个基于其他 dsv 但具有相同维度日期的多维数据集 使用过的表在同一日期字段上与 DimDate 表具有相同的结构 我看不到其他原始 dsv 的 tebles
BIDS x MSSQL
非常感谢!
【问题讨论】:
标签: ssas dimension datasourceview
您不能定义使用来自多个 DSV 的表的单个维度。它不知道如何将两个表连接在一起以创建单个维度。但是,您可以将表添加到来自辅助数据源的第一个 DSV。请注意,它将尝试让 SQL Server 打开一个临时链接服务器以连接到辅助数据源,并且在处理过程中性能可能会受到影响,并且凭据可能需要双跳。
相反,我只建议在处理多维数据集之前使用 SSIS 将维度所需的两个表都拉到一个数据库中。
【讨论】:
答案是否定的,因为这不是最佳实践。请注意,在 BIDS 设计器中,您可以创建多个“数据源”,它们是利用数据提供者的对象,例如文本文件提供者或任何其他受支持的数据提供者。 This image shows some of the Data Source providers.
“数据源视图 (DSV) 是一个不同的设计表面 - 它从数据源 (DS) 中的提供程序链接对象中“继承”允许的对象。This image shows two Data Sources and two DSV objects
你可以有多个数据源(DS),任何连接的对象都可以在任何DSV(数据源视图)中使用,你也可以有多个DSV对象。
例如,如果您使用 Visual Studio BIDS 中的“添加新数据源”向导为 SQL Server 2012 连接一个数据源 (DS) 提供程序,并为文本文件连接另一个数据源 (DS),这两个数据源可以在您创建的一个或多个数据源视图 (DSV) 中公开。
您可以通过添加或创建通过数据源提供程序公开的对象来将项目添加到任何 DSV。 DSV 是所有具有数据的对象的容器,但数据源连接器并不存在于 DSV 中,它们仅通过数据源提供程序在 DSV 中公开。
数据源连接器及其“连接字符串”位于 DS(数据源)的设计图面中。
鉴于此,最佳做法是创建一个包含来自一个 DSV 的维度的多维数据集,因为这是最佳做法。绑定到单个多维数据集(具有多个度量值组)的任何一个维度都应该来自同一个 DSV,因为这就是它们向多维数据集设计器公开的方式。
DSV 中的对象可以来自通过数据源节点中的提供程序公开的任意数量的有效连接数据源。
【讨论】: