我正在运行以下命令以获取多值报告
StrToSet
("[Dim Branch].[HierarchyB-T-C].[Trading Code].&[" +
Replace(
Join(
Parameters!TradingName.Value,"],"
) +"]",",",",[Dim Branch].[HierarchyB-T-C].[Trading Code].&["),",")
但获取'加入'的语法不正确'。 我不知道我做错了什么。有人可以纠正我吗? 如果我简单地使用 StrToSet(@TradingName,Constrained)它适用于单值。 你的帮助会很明显
答案 0 :(得分:0)
你需要花括号来形成一套吗?我在下面的开头添加了一个...有点不确定字符串的结尾在哪里 - 它是否像.&["
那样结束了?!
StrToSet(
"{[Dim Branch].[HierarchyB-T-C].[Trading Code].&["
+
Replace(
Join(Parameters!TradingName.Value,"],") + "]"
, ","
, ",[Dim Branch].[HierarchyB-T-C].[Trading Code].&["
)
,","
)
如果Parameters!TradingName.Value
等于此格式MEC,RSA
的字符串,则可能不需要join
:
StrToSet(
"{"
+
Replace(
"[Dim Branch].[HierarchyB-T-C].[Trading Code].&["
+
Parameters!TradingName.Value
, ","
,"],[Dim Branch].[HierarchyB-T-C].[Trading Code].&["
)
+
"]}"
,constrained)
答案 1 :(得分:0)
要从参数传递多个值,我只需按照步骤操作即可 1添加参数并命名
SELECT
{[Total]} ON COLUMNS
,
{
[Dim Account].[Account Type].&[Income]
}
*
STRTOMEMBER("[Dim Fiscal Year].[HierarchyFiscal].[E Month].&[" + @FiscalYear +"]&[" + FORMAT(Now(),"MMMM") +"].PREVMEMBER")
*
ORDER
(
{
[Dim Branch].[Branch Name].[Branch Name]
},[Total], BDESC
)
ON ROWS
from [CubeProfitLoss]
WHERE (StrToSet(@TradingName))