博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sharepoint 2010 视图过滤显示上周,本周或下一周的数据
阅读量:5141 次
发布时间:2019-06-13

本文共 1570 字,大约阅读时间需要 5 分钟。

最近在用sharepoint 2010 做一个叫:工作安排的功能。所有数据存放在一个自定义列表里,里面有个开始时间栏。用户要查看开始时间所在周的下一周的数据。比如,开始时间是2011-11-03,那么用户要查看2011-11-07~2011-11-13内的数据。

在这个过程遇到的一个最大的问题是怎么根据开始时间计算出开始时间所在周下周周一的日期。为这个问题纠结了好几天,不过在网友的帮助下终于解决了。

(注意,下面的内容并不能满足我的需求,但是它的思路非常好,让我有了启发)

1.获取指定日期所在周周一的日期。在自定义列表里添加一个计算栏叫:WeekStart。把下面的formula表达式写到公式里:

=IF(TEXT(WEEKDAY(开始时间),"ddd")="周一",开始时间,IF(TEXT(WEEKDAY(开始时间-1),"ddd")="周一",开始时间-1,IF(TEXT(WEEKDAY(开始时间-2),"ddd")="周一",开始时间-2,IF(TEXT(WEEKDAY(开始时间-3),"ddd")="周一",开始时间-3,IF(TEXT(WEEKDAY(开始时间-4),"ddd")="周一",开始时间-4,IF(TEXT(WEEKDAY(开始时间-5),"ddd")="周一",开始时间-5,开始时间-6))))))

注意:1.上面的公式应该在一行。2.你可以根据自己的需要将开始时间改成你需要的栏名,比如创建时间。3.如果你用的SharePoint 是英文版,请把周一改成:Mon。3.返回类型要选择日期和时间

上面公式的计算结果示例:

如果开始时间是:2011/11/22 17:11   WeekSart的值是:2011/11/21 。

 

扩展:

如果我们要获得开始时间所在周的周日的日期公式又是怎么样呢?新建一个计算栏WeekEnd,公式如下:

=IF(TEXT(WEEKDAY([开始时间]),"ddd")="周日",[开始时间],IF(TEXT(WEEKDAY([开始时间]+1),"ddd")="周日",[开始时间]+1,IF(TEXT(WEEKDAY([开始时间]+2),"ddd")="周日",[开始时间]+2,IF(TEXT(WEEKDAY([开始时间]+3),"ddd")="周日",[开始时间]+3,IF(TEXT(WEEKDAY([开始时间]+4),"ddd")="周日",[开始时间]+4,IF(TEXT(WEEKDAY([开始时间]+5),"ddd")="周日",[开始时间]+5,[开始时间]+6))))))

注意:和WeekStart一样,注意公式内容的调整。

上面公式的计算结果示例:

如果开始时间是:2011/11/22 17:11   WeekSart的值是:2011/11/27 。

注意,如果你的sp是中文版,请把公式中的Today换成今日。

说明:以上内容基于,这篇文章收集整理。

老外这篇文章写的我有点糊涂,他计算获取上下周数据的公式,也有点奇怪,所以具体公式我没有引用,如果需要请看英文原版。不管怎么样,老外公式的思想很有参考价值。这里要特别感谢我的那位网友。

另外,获取指定日期所在周周一的日期其实有更简单的公式:=日期-(WEEKDAY(日期))+2  

参考:

 

 经测试:老外的两个Formula公式获取的是指定日期所在周的周一和周日的日期。如下图,我是根据开始时间计算的。

另外,关于获取上周,本周及下周的数据的公式,也不对。除了获取本周的可行外,其他都不行,比如获取上周的数据,会把上周,上上周。。。的所有数据都获取到。

 

有问题欢迎留言。 

转载于:https://www.cnblogs.com/sygwin/archive/2011/11/03/2234275.html

你可能感兴趣的文章
Merge k Sorted Lists
查看>>
js 下载图片与下载文件的方式一样;保存至本地 ASP.NET 方式
查看>>
PoE以太网远程供电
查看>>
Unity3d 项目管理 版本管理
查看>>
输入法核心数据结构及算法的设计
查看>>
Step by Step 安装 BizTalk Server 2009
查看>>
[转]mysql性能优化-慢查询分析、优化索引和配置
查看>>
字符串转化为数字
查看>>
iso socket基础2
查看>>
【Nowcoder】玩游戏
查看>>
过滤器(Filter)
查看>>
字符串的操作
查看>>
性能优化之Java(Android)代码优化
查看>>
springMVC相关—文件上传
查看>>
由Oracle 11g SYSAUX 和 SYSTEM 表空间回收引发的联想
查看>>
[nRF51822] 9、基础实验代码解析大全 · 实验12 - ADC
查看>>
三十三、www服务apache软件
查看>>
利用jQuery获取鼠标当前的坐标
查看>>
POJ 3348 Cows | 凸包——童年的回忆(误)
查看>>
gevent协程
查看>>