表达式抛出错误中的 SSRS 嵌套 IIF 语句
SSRS Nested IIF statements in expression throwing error
我一直收到错误 [,无效。 InvalidSyntax] 在 Visual Studio 中部署此报告时。我找不到不正确的 [ , ],也不确定大括号的位置是否正确。我是 SSRS 的新手,如果有人能帮助我,我将不胜感激。
先谢谢你。
简短描述我想要实现的目标。
如果满足下面的条件
=iif((First(Fields!ShowCut.Value, "SalesDataSet") = "No",
然后运行这个IIF语句下面
iif((Fields!CutSize1.Value = "C1" or Fields!CutSize1.Value = "C2", Space(0), Iif(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value)),
Else 运行 这个 IIF 语句低于
iif((Fields!CutSize.Value = "C2",FormatNumberCulture(CStr(Fields!PriceQty.Value),Parameters!AX_RenderingCulture.Value), Iif(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value)) )
经过一些尝试和错误后,我已经找到了解决方案。
=iif(First(Fields!ShowCut.Value, "SalesDataSet") = "No",
iif(Fields!CutSize1.Value = "C1" or Fields!CutSize1.Value = "C2", Space(0), Iif(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value))),
iif((Fields!CutSize.Value = "C2",FormatNumberCulture(CStr(Fields!PriceQty.Value),Parameters!AX_RenderingCulture.Value), Iif(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value))) )
放置的括号太多,而且位置不对。
您仍然有一组不必要的括号,格式也无法帮助您弄清楚它在做什么。为 IIF 的每个条件添加新行并缩进条件可以更容易排除故障。
=IIF(First(Fields!ShowCut.Value, "SalesDataSet") = "No",
IIF(Fields!CutSize1.Value = "C1" or Fields!CutSize1.Value = "C2",
Space(0),
IIF(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,
FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value),
FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value)
)
),
IIF(Fields!CutSize.Value = "C2",
FormatNumberCulture(CStr(Fields!PriceQty.Value),Parameters!AX_RenderingCulture.Value),
IIF(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,
FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value)
)
)
)
我一直收到错误 [,无效。 InvalidSyntax] 在 Visual Studio 中部署此报告时。我找不到不正确的 [ , ],也不确定大括号的位置是否正确。我是 SSRS 的新手,如果有人能帮助我,我将不胜感激。
先谢谢你。
简短描述我想要实现的目标。
如果满足下面的条件
=iif((First(Fields!ShowCut.Value, "SalesDataSet") = "No",
然后运行这个IIF语句下面
iif((Fields!CutSize1.Value = "C1" or Fields!CutSize1.Value = "C2", Space(0), Iif(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value)),
Else 运行 这个 IIF 语句低于
iif((Fields!CutSize.Value = "C2",FormatNumberCulture(CStr(Fields!PriceQty.Value),Parameters!AX_RenderingCulture.Value), Iif(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value)) )
经过一些尝试和错误后,我已经找到了解决方案。
=iif(First(Fields!ShowCut.Value, "SalesDataSet") = "No",
iif(Fields!CutSize1.Value = "C1" or Fields!CutSize1.Value = "C2", Space(0), Iif(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value))),
iif((Fields!CutSize.Value = "C2",FormatNumberCulture(CStr(Fields!PriceQty.Value),Parameters!AX_RenderingCulture.Value), Iif(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value))) )
放置的括号太多,而且位置不对。
您仍然有一组不必要的括号,格式也无法帮助您弄清楚它在做什么。为 IIF 的每个条件添加新行并缩进条件可以更容易排除故障。
=IIF(First(Fields!ShowCut.Value, "SalesDataSet") = "No",
IIF(Fields!CutSize1.Value = "C1" or Fields!CutSize1.Value = "C2",
Space(0),
IIF(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,
FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value),
FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value)
)
),
IIF(Fields!CutSize.Value = "C2",
FormatNumberCulture(CStr(Fields!PriceQty.Value),Parameters!AX_RenderingCulture.Value),
IIF(Fields!SalesUnitTxt.Value<>Fields!PriceUnitId.Value,
FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value) + vbCRLF + FormatNumberCulture(CStr(Fields!Qty.Value), Parameters!AX_RenderingCulture.Value), FormatNumberCulture(CStr(Fields!PriceQty.Value), Parameters!AX_RenderingCulture.Value)
)
)
)