在DAX,ssrs中列为输入参数

时间:2015-09-25 13:24:14

标签: reporting-services dax

在另一个Stack Overflow问题中,我得到了以下代码,使用DAX查询根据SSRS报告中的输入参数提取正确的数据集。

    EVALUATE
(
    CALCULATETABLE
    (
        ADDCOLUMNS (  
            'Case',
            "Casenumber", RELATED( 'Casedetails'[Casenumber]),
            "Casetitle", RELATED('Casedetails'[Casetitle]),
            "Date", RELATED ( 'Casedates'[Shortdate]),
            "Caselink", RELATED ( 'Casedetails'[Caselink]),
            "Place", RELATED('Geography'[Place])
            ),
//insert filters here
        'Casedates'[Shortdate] = @Date,
        'Geography'[Place] = @Place
    )
)

但是,用户应该并且能够选择所有地点(@Place)。使用当前代码执行此操作会出现以下错误:

Cannot convert value '{20030, 20377, 20361..' of type Text to type Number.

因此,参数本质上是一个数字列表。正如我所发现的,DAX没有“IN”运算符,所以我该如何处理这种情况呢?

1 个答案:

答案 0 :(得分:2)

这样做有点棘手,而且它还不是我试图做的事情。然而,快速的谷歌搜索带来了一些不错的结果。这篇由Chris Webb撰写的特别博客非常全面且有用。您需要调整DAX表达式以使用pathcontains DAX函数,并且还需要将SSRS参数更改为多参数并执行一些字符串操作。见http://blog.crossjoin.co.uk/2012/06/01/handling-ssrs-multi-valued-parameters-in-dax-queries/