日付と時刻に基づいてSharepointリストをフィルタリングしようとしています。ただし、日付でのみ機能し、データと時間フィールドの時間を無視します。
SharePoint Designerで、詳細モードのビューからCAMLクエリを編集します。そして、CAMLタグにIncludeTimeValue = "True"を追加しますValue Type = "DateTime"。結果を時間でフィルタリングしています。
<Query>
<OrderBy>
<FieldRef Name="Modified" Ascending="FALSE"/>
</OrderBy>
<Where>
<Or>
<Gt>
<FieldRef Name="Start"/>
<Value Type="DateTime" IncludeTimeValue="True">
<Today/>
</Value>
</Gt>
<Gt>
<FieldRef Name="TimeOver"/>
<Value Type="DateTime" IncludeTimeValue="True">
<Today/>
</Value>
</Gt>
</Or>
</Where>
</Query>
まず、[Today]ワイルドカードを使用したSharePointフィルタリングでは、時刻ではなく日付のみが比較されます。私の知る限り、時間を比較するWebインターフェイスの方法はありません。
「TimeOver」がプロジェクトの締め切りであり、「Start」がプロジェクトの開始時であると仮定します...
期限が過ぎたら、次のように言ってリストに何かを追加します。TimeOverは[今日]未満です
今日開始されたときにリストに何かを追加します。開始は[今日]と同じです。
先週作成されたものを追加してください:開始が[今日] -7より大きい
30日以内に期限が切れるリストに何かを追加します。TimeOverが[Today]より大きく、TimeOverが[Today] +30より小さい
NUMBER形式で計算列を作成します(たとえば、「CreatNum」と呼びます)。列の値は日付フィールドです(例:= Created)。次に、CreateNumフィールドが46,885.3313(数値の日付)より大きいため、そのフィールドでフィルタリングします。同じ計算列が既存の日付フィールドを数値に変換するため、フィルタリングする数値を簡単に判断できます。