SSRS IsNothing 不适用于空日期时间

问题描述 投票:0回答:1

这是我的表达式,但它给出了 null DateExpired 值的 #ERROR

=SWITCH(
    IsNothing(Fields!DateExpired.Value), "N/A",
    Month(Fields!DateExpired.Value) = 2, "2/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    Month(Fields!DateExpired.Value) = 6, "6/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    Month(Fields!DateExpired.Value) = 8, "8/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    Month(Fields!DateExpired.Value) = 10, "10/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    Month(Fields!DateExpired.Value) = 12, "12/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    Fields!DateExpired.Value
)
c# reporting-services ssrs-2012
1个回答
0
投票

我只是想提出一些想法。这通常是类型错误。

请你尝试一下:

  1. 在开关中添加“true”条件
  2. 将默认条件转换为字符串

类似这样的:

=SWITCH(
    IsNothing(Fields!DateExpired.Value), "N/A",
    Month(Fields!DateExpired.Value) = 2, "2/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    Month(Fields!DateExpired.Value) = 6, "6/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    Month(Fields!DateExpired.Value) = 8, "8/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    Month(Fields!DateExpired.Value) = 10, "10/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    Month(Fields!DateExpired.Value) = 12, "12/1/" & DatePart("yyyy", DateAdd("yyyy", -1, Fields!DateExpired.Value)),
    True,
    Format(Fields!DateExpired.Value,"MM/d/yyyy")
)
© www.soinside.com 2019 - 2024. All rights reserved.