我正面临一个SSRS报告参数的奇怪问题。目前正在开发SSRS 2016版本。我们连接到SSAS模型并使用报告中的DAX查询创建Data_sets。
以下是我的报表数据集中使用的示例DAX查询,
evaluate
summarize(
calculatetable(
('Field Measures',
PATHCONTAINS(substitute(
substitute(
substitute(
@Parameter_District
, "{ ", "")
, " }", "")
, ",", "|") , 'Field Location'[District]),
PATHCONTAINS(substitute(
substitute(
substitute(
@Parameter_City
, "{ ", "")
, " }", "")
, ",", "|") , 'Field Location'[City])
)
'Field Fact'[Field Interview Number],
'Occurred Date'[Date],
'Occurred Date'[Year]
))
我在此查询中定义了两个参数(区域和城市),这两个字段来自同一个表“归档位置”。
我面临的问题是,如果我删除第二个参数“CITY”,这个查询效果很好。但是当我在查询中包含它时失败了。为简单起见,我在这里只提到了2个参数,但我有大约5个来自同一个表的参数,它们工作正常。 我正在敲打我的脑袋为什么只有当我在参数列表中包含[CITY]对象以及为什么它在我删除它时才能正常工作时才会发生这种情况。从字面上看,我不在乎:(
请建议我调试此问题的一些方法。
谢谢一堆。巴拉吉
我为我的问题找到了解决方案,但我没有合理的理由说明它的工作原理。
让我重新发布我在报告中使用的DAX查询,
evaluate
summarize(
calculatetable(
('Field Measures',
PATHCONTAINS(substitute(
substitute(
substitute(
@Parameter_District
, "{ ", "")
, " }", "")
, ",", "|") , 'Field Location'[District]),
PATHCONTAINS(substitute(
substitute(
substitute(
@Parameter_City
, "{ ", "")
, " }", "")
, ",", "|") , 'Field Location'[City])
)
'Field Fact'[Field Interview Number],
'Occurred Date'[Date],
'Occurred Date'[Year],
"Field Count",[FieldInterview - Count]
))
如果我们观察我之前发布的原始代码和我现在发布的代码,它们之间存在一条线差异。即测量值(场计数)。在格式化我的问题时,我删除了最后一行代码(错误地)。但是当我重新访问我自己的问题以获得任何可能的答案时,我注意到了这种差异,我只是尝试通过删除上面提到的Measure值来使用查询就像魔法一样!
所以,我真的不明白测量,连接和参数如何在内部工作。我仍然愿意接受专家的任何讨论/投入。
谢谢。巴拉吉