基于“User!UserID”的列表中的过滤

时间:2013-12-09 20:47:56

标签: sql-server ssrs-2008 mdx

目标:
在表格列表中进行过滤,支持基于SSRS的“where”语句:SSRS中的内置函数“User!UserID”。

问题:
我需要应用代码的输出值

REPLACE
(

    MID
    (
        User!UserID,
        InStr(User!UserID,"\")+1, 
        Len(User!UserID)
    ),
    ".",
    " "
)

在数据集中,在Where语句中,但我检索错误。

我还尝试将源代码应用为变量并在数据集中使用它,但查询设计者抱怨该变量不存在。我正在使用MDX代码

我该怎么办?

WHERE
(
    FILTER
    (
        xxxxxxxx.xxxxxxxx.ALLMEMBERS AS c, 
        c.Current.Name =
        REPLACE
        (

            MID
            (
                User!UserID,
                InStr(User!UserID,"\")+1, 
                Len(User!UserID)
            ),
            ".",
            " "
        )

    )
)

1 个答案:

答案 0 :(得分:0)

1。 您应用代码

        REPLACE
    (

        MID
        (
            User!UserID,
            InStr(User!UserID,"\")+1, 
            Len(User!UserID)
        ),
        ".",
        " "
    )

在新参数中,默认值。

  1. 选择数据集并转到查询设计器并添加新参数。新参数应与维度表中具有类似名字和姓氏的其他数据具有相同的通用。
  2. 3.使用mdx编码在查询设计器模式中添加参数代码。