繁体   English   中英

报表生成器 (SSRS) SWITCH 语句空白值

[英]Report builder (SSRS) SWITCH statement blank values

对于我正在构建的报告,有些字段取决于用户选择将其他人添加到他们的策略(在数据集中命名为dependent1、dependent2 等)。

我们需要确定这些家属是成年人还是儿童进行报告。 这将通过 DOB 和我理解的 DateDiff 完成

目前,如果数据存在,我可以让报告显示ADULTCHILD ,但是如果没有任何数据,我无法返回""值,它只是默认为ADULT

我正在使用:

=Switch(DateDiff("yyyy", Fields!Dependant1DoB.Value, Fields!Policy_Start_Date.Value) < 18, "CHILD", 
        DateDiff("yyyy", Fields!Dependant1DoB.Value, Fields!Policy_Start_Date.Value) >= 18, "ADULT", 
        DateDiff("yyyy", Fields!Dependant1DoB.Value, Fields!Policy_Start_Date.Value), "")

我还创建了另一列,它使用 Fields!Dependant1DoB.Value & Fields!Policy_Start_Date.Value 之间的 DateDiff 来显示年数。 这有效并返回一个数字。 但是,由于某些未知原因,在没有数据的情况下,它仍然返回“2019”,这可能会影响它? 我已经尝试在 Switch 语句中包含它( DateDiff("yyyy",Fields!Dependant1DoB.Value,Fields!Policy_Start_Date.Value)=2019, "") ),但这仍然不起作用。

有人请帮忙,因为这让我疯了!

您需要先检查什么,然后应用开关功能,示例如下:

=IIF(IsNothing(Fields!Dependent1DoB.Value),"", Switch(DateDiff("yyyy",Fields!Dependent1DoB.Value,Fields!Policy_Start_Date.Value)<18, "CHILD", DateDiff("yyyy",Fields! Dependent1DoB.Value,Fields!Policy_Start_Date.Value)>=18, "ADULT" ) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM