【问题标题】:Extract data from a cube's dimension created from a View从视图创建的多维数据集维度中提取数据
【发布时间】:2013-03-14 20:20:16
【问题描述】:

我们已将 SQL 视图表导入到维度中。 我们已经编写了一个与数据立方体(MDX 查询)对话的连接器。 也就是说,我们最初导入的视图包含我们需要查询的所有原始数据。 问题是,MDX 客户端只需要“选择”度量。我们想要显示原始数据,这意味着我们想要查看与创建的初始 SQL 视图相同的列\属性。

这甚至可能吗? 我们知道我们可以使用 Linq 或其他任何东西来与 SQL 视图表对话,但最好以 MDX 多维数据集模式与“哑”多维数据集维度的数据对话。

谢谢。

【问题讨论】:

  • 您创建了多维数据集吗?如果您已经从视图中的表创建了维度,您应该还可以创建一些表示您需要查看的数据的度量,然后运行您的 mdx-query 并显示数据。 “哑”立方体是什么意思?
  • 是的,我们创建了立方体。问题是编码人员已经开发了使用 MDX 查询来查询多维数据集的连接器。这很好,但是立方体是用一个视图创建的,它已经包含了我们需要为项目的第一个任务检索的基本信息。所以我想知道我们是否可以在不采取任何措施的情况下解决立方体问题。但看起来 Cube 宣言反对“愚蠢的立方体”,因为只使用原始数据而不做任何措施。

标签: tsql ssas mdx data-mining cube-dimension


【解决方案1】:

我不明白为什么你真的想使用多维数据集而不是你的视图,但无论如何你有两种解决方案可以从多维数据集中提取维度的成员:通过 DMV 或通过标准 MDX 查询。

名为 $system.MdSchema_members 的 DMV 将返回您的维度的成员。您应该能够检索您正在寻找的值。 http://msdn.microsoft.com/en-us/library/ms126046.aspx

另一种解决方案是在您的 MDX 查询上方使用 create measure 语句创建一个虚拟度量。在您的 SQL 语句中,然后将此虚拟度量放在轴 0 上,并将您要查找的所有属性放在轴 1 上。这应该会返回接近您视图中 select * 返回的结果的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    相关资源
    最近更新 更多