reporting-services - 如何在两个工作日期之间获得以下 SRSS IFF 表达式
问题描述
我正在努力使以下表达式起作用;有人可以建议吗?表达式将运行,但所有字段都填充有 #Error 消息。
=iif(Fields!From.Value>="01/09/2021" and Fields!From.Value <= "31/08/2022", "Sept 2021",
iif(Fields!From.Value>= "01/09/2020" and Fields!From.Value <= "31/08/2021", "Sept 2020",
iif(Fields!From.Value >= "01/09/2019" and Fields!From.Value <= "31/08/2020", "Sept 2019",
iif(Fields!From.Value >= "01/09/2018" and Fields!From.Value <= "31/08/2019", "Sept 2018",
iif(Fields!From.Value >= "01/09/2017" and Fields!From.Value <= "31/08/2018","Sept 2017",
iif(Fields!From.Value >= "01/09/2016" and Fields!From.Value <="31/08/2017","Sept 2016","0"))))))
任何帮助都感激不尽!
解决方案
假设From
实际上是一个日期而不是字符串,那么如果这样你可以简化。
="Sept " &
(YEAR(Fields!From.Value)
- IIF(Month(Fields!From.Value) >= 9, 0, 1)
)
这只是检查月份是否 >=9,然后在字段的年份部分中减去零或 1 From
。然后就贴"Sept "
在它前面。这也意味着您不需要长的 IIF 或 SWITCH 语句,它适用于任何一年。
关于你原来的表情。如果您需要使用字符串文字来表示日期,那么最好使用明确的格式。"01/09/2021"
在英国可以解释为“2021 年 9 月 1 日”,在美国可以解释为“2021 年 1 月 9 日”。如果您使用"2021-09-01"
它,则应始终正确解释。
推荐阅读
- c# - 项目 xxx 与 netcoreapp2.2 (.NETCoreApp,Version=v2.2) 不兼容。项目 xxx 支持:net48 (.NETFramework,Version=v4.8)
- php - 如何在 laravel 中生成动态 mysql 查询?
- events - 有没有办法在 CQRS 中结合查询和命令?
- javascript - 如何将图像数据从本地存储输入到 vaadin-upload?
- ios - 如何屏蔽 UILabel 或 UITextView 的文本?
- azure - Azure 使用 Azure Resource Graph 计算 VMSS 中的所有 VM
- javascript - 如何查找对象的父对象 - 带有 espree 的 Eslint 选择器
- android - 使用 Intent.ACTION_SEND 附加图像
- powercli - 从脚本中排除虚拟机列表删除 vmware 中的快照
- python - 尝试在 python 中导入 pouchdb 时出错