我正在使用DAX查询为报告服务报告建立数据集。我想使用参数,以便用户可以过滤日期和位置,但我不知道如何将这些变量传递给我的DAX表达式。
这是我检索数据集的DAX查询:
EVALUATE
(
ADDCOLUMNS (
'Case',
"Casenumber", RELATED( 'Casedetails'[Casenumber]),
"Casetitle", RELATED('Casedetails'[Casetitle]),
"Date", RELATED ( 'Casedates'[Shortdate]),
"Caselink", RELATED ( 'Casedetails'[Caselink]),
"Place", RELATED('Geography'[Place])
)
)
如何根据@Date和@Place参数建立过滤器?
答案 0 :(得分:2)
您需要更改DAX查询以使用calculatetable函数。此函数接受第二个参数,用于过滤第一个参数。请参阅以下示例代码:
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
)
)
然后,您需要像在SSRS中一样在查询设计器中添加参数。您还需要像往常一样在报表级别添加参数。我假设您已经知道需要在查询设计器中使用DMX选项来在SSRS中执行DAX。
如果有效,请告诉我,我的DAX有点生锈!