在 DAX、ssrs 中作为输入参数列出

List as input parameter in DAX, ssrs

在另一个 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
    )
)

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

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

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

这做起来有点棘手,我还没有尝试过。然而,快速 google 搜索会带来一些不错的结果。这篇由 Chris Webb 撰写的特别博客非常全面且很有帮助。您需要调整 DAX 表达式以使用 pathcontains DAX 函数,您还需要将 SSRS 参数更改为多参数并进行一些字符串操作。看这里http://blog.crossjoin.co.uk/2012/06/01/handling-ssrs-multi-valued-parameters-in-dax-queries/