zoukankan      html  css  js  c++  java
  • 微软BI 之SSRS 系列

    这篇小文章的来源是 天善问答,比如在报表中要根据点击某一个成员名称然后作为参数传递给自身报表或者下一张报表,这个在普通的 SQL 查询中没有任何问题。但是在 MDX 中查询是有区别的,比如在 MDX 中显示在报表上的结果是 Category 下的一个分类 Bikes,但是当点击了 Bikes之后把 Bikes 作为参数传递下一个 MDX 查询的报表中,很显然我们要的是参数 [Product].[Product Categories].[Category].&[2] 去作为过滤条件。如果实现知道点击成员的层次结构路径,那么我们可以事先将整个成员的字符串准备好,然后只更改值的部分。但是如果成员实现不知道是哪一个层次上的话,就不好处理了。

    这样要使用到成员的一些相关属性 -

    SELECT {} on 0, 
           [Product].[Product Categories].[Category].MEMBERS 
            DIMENSION PROPERTIES 
            MEMBER_CAPTION, 
            UNIQUE_NAME, 
            LEVEL_UNIQUE_NAME, 
            MEMBER_KEY 
            ON 1 
    FROM [Step-by-Step]

    双击查询出来的成员值之后可以看到相关的属性,这样的查询结果如果在 SSRS 编辑器中,这些属性会跟随成员本身出现的。

    SSRS 中的编辑器 MDX 查询会出现全部的属性,这些属性也将作为 Dataset 的字段出现。

    属性以字段的形式出现。

    先设置好四个字符串参数变量,然后拖放到相关区域,当点击 Category 部分时候跳转到自身报表,然后显示相关参数的值。

    点击 Category 编辑它的 Action 动作,跳转到自身,然后把其它的几个属性作为参数传递。

    点击 Clothing 如果在普通 SQL 查询的时候就是传递 Clothing。但是在 MDX 中查询,可以传递很多种参数格式,但可能常用的是Unique Name,比如写到 WHERE 过滤中。

    点击 Accessories 时 -

    关于 MEMBER PROPERTIES 还有其它的很多属性,可以参看 MSDN


    更多 BI 文章请参看 BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)

    如果觉得这篇文章看了对您有帮助,请帮助推荐,以方便他人在 BIWORK 博客推荐栏中快速看到这些文章。


  • 相关阅读:
    express配置流程(windows)
    web性能优化
    解决“向终端显示内容产生时间延迟”
    node.js全局配置
    BootStrap基本模板
    移动Web开发小结
    理解一下vue的mvvm模式
    前端面试题
    使用layui遇到的一些问题及解决方案
    Vue之使用ajax获取json数据,并用v-for循环显示在表格中
  • 原文地址:https://www.cnblogs.com/biwork/p/3512931.html
Copyright © 2011-2022 走看看