过滤日期的年份值视图

时间:2017-08-28 15:31:05

标签: lotus-domino lotus-formula

我有一个观点,到目前为止工作正常,但现在我需要添加一个列,显示文档创建的年份,并过滤为仅显示2011年之后创建的文档(2012年的病房)。使用公式

创建视图

SELECT ApplicationAcceptanceDate =""

我试图过滤的栏目(创建年份)的格式为dd / mm / yyyy hh:mm:ss我正在使用@Year来显示目前为止所有文档年份值。但是,如何使用@year公式过滤到2012年的年份呢?这是一张视图的图像,它的字段和我到目前为止尝试过的公式。

enter image description here

3 个答案:

答案 0 :(得分:3)

使用@ToTime()将字段转换为日期时间值,无论它是作为字符串存储在文档中还是日期时间值。

将您的选择公式扩展为

SELECT ApplicationAcceptanceDate = "" & @Year(@ToTime(CreatedOn)) > 2011

在列"创建年份"中显示创建年份用公式

@Year(@ToTime(CreatedOn))

请记住,您只能使用选择公式过滤视图,而不能使用列公式过滤视图。

或者,您可以使用@Created。它返回创建文档的日期时间。您的选择公式将是

SELECT ApplicationAcceptanceDate = "" & @Year(@Created) > 2011

然后和列公式

@Year(@Created)

答案 1 :(得分:0)

字段CreatedOn是文本字段还是DateTime字段?我的猜测是它是作为文本字段创建的。即使您现在在表单中更改它,任何现有文档仍将将值存储为文本。 您需要将所有文档上的字段转换为DateTime,编写代理来执行此操作或使用NoteMan等工具快速更改字段类型。

您还可以使用@Year(@TextToTime(CreatedOn))或(如果您在不同文档中包含text和datetime字段)@Year(@TextToTime(@text(CreatedOn)))

答案 2 :(得分:0)

图像显示您正在编辑“创建年份”列的“列公式”。单击视图的空白区域以确保您正在编辑视图选择公式。然后使用:

SELECT ApplicationAcceptanceDate = "" & @Year(CreatedOn) > 2011