Sql server 在列表中根据“过滤”;用户!用户ID“;

Sql server 在列表中根据“过滤”;用户!用户ID“;,sql-server,ssrs-2008,mdx,Sql Server,Ssrs 2008,Mdx,目标: 基于SSRS:s内置函数“User!UserID”在表列表中进行过滤,支持“where”语句 问题: 我需要应用代码的输出值 REPLACE ( MID ( User!UserID, InStr(User!UserID,"\")+1, Len(User!UserID) ), ".", " " ) 在数据集中的Where语句中,但我检索到错误 我还尝试将源代码作为变量应用并在数据集中使用它,但查询

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

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

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)
            ),
            ".",
            " "
        )

    )
)
一,。 你应用代码

        REPLACE
    (

        MID
        (
            User!UserID,
            InStr(User!UserID,"\")+1, 
            Len(User!UserID)
        ),
        ".",
        " "
    )
在新参数中,输入默认值

  • 选择dataset并转到查询设计器并添加新参数。新参数应与维度表中具有相似名字和姓氏的其他数据相同

  • 3.使用mdx编码在查询设计器模式下添加参数代码。

    进行mdx查询时,必须在数据集的查询设计器中添加参数。这将处理表示它不存在的错误消息。如何启用向参数添加sourcode及其值?我已经阅读了链接,该值不是从维度表或类似的表中获取的。价值的基础来自用户!UserId以及如何将其连接到参数?您有一个报表参数和一个查询参数。对于查询参数,您可以按照上面链接中所述定义它。您还必须具有同名的报告参数。您可以将代码中的值设置为报表参数中的默认值。我已再次阅读了内容及其标题“在查询模式下在MDX中定义查询参数”,但遗憾的是,它没有告诉我如何将代码及其“User!UserID”数据应用于查询参数。当您已经有av维度表将其应用于查询参数时,该指令是合适的。查询设计器的维度表中不包含代码“User!UserID”。您在报表参数中定义值,而不是在查询参数中定义值。