如何解决按day_of_week /工作日的Cognos结果
我正在研究一个非常基本的列表,以便根据星期几的日期按日期检索记录。
我不知道如何使表达式正常工作。
我想要完成的是 安排周一至周五。
如果day_of_week(current_date)= Monday,则获取上一个星期五的[记录日期](星期一提取星期五的记录)
否则,如果day_of_week(current_date)= Tuesday,则获取周六-周一(周二拉周六-周一记录)之间的几天的[记录日期]
否则获取[记录日期] =当前日期-1(所有其他工作日提取以前的记录)
我尝试根据查询表达式[data item1]在[记录日期]创建过滤器,以获取星期几。 day_of_week(current_date,1)
但是没有运气。感谢任何可能的帮助。谢谢!
解决方法
从数据库中的数据开始,然后计算要显示数据的日期。
以下是使用蛮力方法的示例过滤器表达式:
current_date =
case
when _day_of_week ([Sales (query)].[Time].[Date],1) in (6,7)
then _add_days ([Sales (query)].[Time].[Date],9 - _day_of_week ([Sales (query)].[Time].[Date],1))
when _day_of_week ([Sales (query)].[Time].[Date],1) in (5)
then _add_days ([Sales (query)].[Time].[Date],3)
else _add_days([Sales (query)].[Time].[Date],1)
end
您绝对可以为此使用IF-THEN-ELSE。我通常使用CASE-WHEN-THEN,因为我通常在处理SQL数据库,并且以相同的方式进行操作更容易。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。