求Deltek CostPoint 8.0从日期字段提取年份的公式
解决方案:从CostPoint 8.0(基于Cognos Analytics)的DOB字段提取年份
- 针对标准日期类型的DOB字段
直接使用Cognos内置的year()函数,在数据项的表达式编辑器里输入:
year([DOB])
这个表达式会直接返回DOB字段对应的四位数字年份,可直接用于报表计算或展示。
- 若DOB字段实际存储为文本格式(显示为日期但本质是字符串)
先将字符串转换为日期类型,再提取年份。根据你的日期格式调整格式参数,比如常见的MM/DD/YYYY格式:
year(parseDate([DOB], 'MM/DD/YYYY'))
如果是YYYY-MM-DD格式,就把第二个参数改成'YYYY-MM-DD'即可。
- CostPoint专属场景的替代方案
如果上述方法无效,可能是CostPoint对系统字段有特殊处理,可以尝试调用底层数据库的原生年份提取函数:- 若底层是SQL Server:
DATEPART(year, [DOB]) - 若底层是Oracle:
EXTRACT(YEAR FROM [DOB])
你可以通过Cognos的自定义SQL或者数据库查询主题来使用这些原生函数。
- 若底层是SQL Server:
内容的提问来源于stack exchange,提问作者Olendris63
相关产品推荐
相关产品推荐

