【问题标题】:What methods of creating 'dynamic MDX' are easiest for debugging in SSRS?哪些创建“动态 MDX”的方法最容易在 SSRS 中进行调试?
【发布时间】:2012-10-04 09:16:53
【问题描述】:

我刚刚继承了一些似乎执行以下操作的报告:

在数据集中,有一个调用
code.getmymdx(dateparam, anotherparam, blahblahparam,...)

在代码中有一系列循环,天知道接下来要构造什么 MDX 语句。

到目前为止,我发现“查看”MDX 的唯一方法是将表达式放入相同的文本框中,即

 = code.getmymdx(datep...

肯定有更好的方法将东西传递给 SSAS 吗?

【问题讨论】:

    标签: reporting-services ssrs-2008 parameter-passing ssas mdx


    【解决方案1】:

    哇,他们说编码大师编写的代码会编写代码,但在这种情况下,我认为这是矫枉过正。 Code.getmymdx() 函数可能强制执行合法的业务规则,但如果它只是递归构造 MDX 语句的一种奇特方式,那么对于聪明但无聊的编码人员来说,这听起来只是一个有趣的项目。由于您概述的原因,在实践中不是很有用 - 您如何查看查询文本?

    诚然,MDX 是一种难以编写的语言,但 SSRS 中有一个内置工具可以直观地编写 MDX 查询。它还允许您创建计算成员,因此在深入了解 mdx 并进行手动编辑之前,这是一个很好的起点。 创建到“Microsoft SQL Server Analysis Services”的数据源连接,然后当您创建数据集并编辑查询时,它将连接到多维数据集并让您拖放字段,以及创建参数、过滤器,正如我已经说过的计算。

    在某些情况下,出于各种原因(例如,组合多个数据源),我在某些报告中使用了带有内联 MDX 的存储过程。在深入研究并手动编辑它之前,我仍然经常从创建 MDX 的自动工具开始。保存存储过程的 SQL Server 具有到 SSAS 实例的链接服务器连接,并在动态 SQL 中使用 Openquery()。 复杂但至少您存储的过程都在一个易于管理的地方。

    【讨论】:

    • 通常的语句是:一些硬编码的 MDX,一堆循环来构建另一个 MDX 部分,一些硬编码的 MDX,也许更多的循环,一些 HC MDX。没有“业务逻辑”
    猜你喜欢
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多