从单个 table 列创建超过 1 个度量
Create more than 1 measure from single table column
我是 SSAS OLAP Cube 的新手。我需要从单个 table 列创建 3 个度量。这里是 table,
因此,我在数据源视图中使用命名查询创建了 3 个 table。但是,它限制为 3 个度量创建 3 个度量组。有没有简单的方法可以做到这一点。
在不知道您有多少访问权限的情况下,可以在创建此多维数据集的数据库上创建视图,有几种方法可以做到这一点。
选项 1 - 在数据库中
最好在要构建多维数据集的 table 上放置一个视图,并将多维数据集指向这些视图而不是基础数据库 table。如果您在此 table 上创建一个视图,您可以在您的视图中针对您在上面指定的列创建三列。在您的数据源视图中,您将使用数据库中的视图而不是 table,并且由于此视图具有所有三列,您可以将它们放在一个度量组中。
这意味着您的视图需要执行 WHERE 子句过滤和数据透视。
选项 2 - 在数据源视图中
如果无法在数据库中创建视图,则可以在一个命名查询中创建所有三列,从而在数据源视图中拥有一个包含所有三列的对象。然后,这将允许您以选项 1 中的视图允许的相同方式将这些列用作度量。
选项 3 - 从三个 DSV 对象计算的度量
您可以保持您的解决方案与当前完全相同,并拥有三个度量值组,每个度量值组中包含一个度量值。然后将这些度量中的每一个设置为 Hidden,这将对用户隐藏度量组。然后,您在 SSAS 中创建三个计算量度,每个都指向其中一个量度,并将所有三个计算量度的显示文件夹设置为相同。当用户随后连接到您的多维数据集时,他们将只能看到计算的度量值,并且它们将全部出现在同一个文件夹中,看起来像是在同一个度量值组中。
选项 4 - 使用维度过滤计算度量
如果您在 DSV 中的 where 子句中过滤的值被带入维度中的多维数据集,那么您可以改为从您创建的命名查询中只创建一个度量。然后,您可以创建三个计算度量,在每个度量的 MDX 中,您将引用度量组中的度量,并根据 Dimension 属性及其成员值进行筛选。然后,您可以将这些计算出的度量值放在您的度量值组中,并将原始度量值设置为 Hidden.
选项 5 - 按维度属性过滤
如果您有一个包含 TxType 的维度,您可以将度量的聚合函数设置为 Count,然后只需将 TxType 属性从它所在的维度拖到您的报告中,即可根据其成员过滤该度量。
希望对您有所帮助。
我是 SSAS OLAP Cube 的新手。我需要从单个 table 列创建 3 个度量。这里是 table,
因此,我在数据源视图中使用命名查询创建了 3 个 table。但是,它限制为 3 个度量创建 3 个度量组。有没有简单的方法可以做到这一点。
在不知道您有多少访问权限的情况下,可以在创建此多维数据集的数据库上创建视图,有几种方法可以做到这一点。
选项 1 - 在数据库中
最好在要构建多维数据集的 table 上放置一个视图,并将多维数据集指向这些视图而不是基础数据库 table。如果您在此 table 上创建一个视图,您可以在您的视图中针对您在上面指定的列创建三列。在您的数据源视图中,您将使用数据库中的视图而不是 table,并且由于此视图具有所有三列,您可以将它们放在一个度量组中。
这意味着您的视图需要执行 WHERE 子句过滤和数据透视。
选项 2 - 在数据源视图中
如果无法在数据库中创建视图,则可以在一个命名查询中创建所有三列,从而在数据源视图中拥有一个包含所有三列的对象。然后,这将允许您以选项 1 中的视图允许的相同方式将这些列用作度量。
选项 3 - 从三个 DSV 对象计算的度量
您可以保持您的解决方案与当前完全相同,并拥有三个度量值组,每个度量值组中包含一个度量值。然后将这些度量中的每一个设置为 Hidden,这将对用户隐藏度量组。然后,您在 SSAS 中创建三个计算量度,每个都指向其中一个量度,并将所有三个计算量度的显示文件夹设置为相同。当用户随后连接到您的多维数据集时,他们将只能看到计算的度量值,并且它们将全部出现在同一个文件夹中,看起来像是在同一个度量值组中。
选项 4 - 使用维度过滤计算度量
如果您在 DSV 中的 where 子句中过滤的值被带入维度中的多维数据集,那么您可以改为从您创建的命名查询中只创建一个度量。然后,您可以创建三个计算度量,在每个度量的 MDX 中,您将引用度量组中的度量,并根据 Dimension 属性及其成员值进行筛选。然后,您可以将这些计算出的度量值放在您的度量值组中,并将原始度量值设置为 Hidden.
选项 5 - 按维度属性过滤
如果您有一个包含 TxType 的维度,您可以将度量的聚合函数设置为 Count,然后只需将 TxType 属性从它所在的维度拖到您的报告中,即可根据其成员过滤该度量。
希望对您有所帮助。