我想知道如何使用适用于微策略的Oracle数据库的ApplySimple公式来提取当前年份。
我尝试的公式是:
ApplySimple(" TO_CHAR(SYSTIMESTAMP,'年份')&#34)
即使这个公式是有效的 - 当我尝试使用这个公式来创建属性,并在报告中显示它时,我没有得到任何结果(空白列)
我实际上要做的是将当前年份属性与另一年属性进行比较,并根据此属性创建过滤器。
任何帮助都将不胜感激!
答案 0 :(得分:2)
我根本不打扰ApplySimple
,可以直接在过滤器中完成。
对要比较的属性表单(可能是年份ID)进行限定,然后在“运算符”部分中,将下拉列表从默认的“值”更改为“自定义”。
这使您可以在资格认证中使用MicroStrategy的内置功能。可以通过以下方式返回当前年份:
Year(CurrentDate())
供您比较。
答案 1 :(得分:0)
你确定要比较字符串“二十四”吗?因为,TO_CHAR(SYSTIMESTAMP,'year')
会返回。相反,您可能需要YYYY
格式:
TO_CHAR(SYSTIMESTAMP,'YYYY')
但那仍然是一个字符串。
您可能需要NUMBER
:
所以,我更喜欢,EXTRACT(YEAR FROM SYSTIMESTAMP)
因为,这会将2014
作为NUMBER
返回。
SQL> SELECT EXTRACT(YEAR FROM SYSTIMESTAMP) FROM DUAL;
EXTRACT(YEARFROMSYSTIMESTAMP)
-----------------------------
2014
<强>式强>
如果属性为NUMBER
数据类型,则可能需要以下公式:
ApplySimple("EXTRACT(YEAR FROM SYSTIMESTAMP)")