2014-10-07 4 views
0

Я хотел бы узнать, как извлечь текущий год, используя формулу ApplySimple для базы данных Oracle, используемой на микростратегии.ApplySimple Formula для текущего года в Microstrategy

Формула Я попытался это:

ApplySimple («to_char (SYSTIMESTAMP,„Год“)»)

Даже если эта формула является допустимым - когда я попробовать использовать эту формулу, чтобы создать атрибут , и отобразите его в отчете, я не получаю никаких результатов (пустой столбец)

То, что я пытаюсь сделать, это сравнить этот атрибут текущего года с атрибутом другого года и создать afilter на основе этого.

Любая помощь будет оценена по достоинству!

ответ

2

Я бы не заморачиваться с ApplySimple вообще, это может быть сделано непосредственно в фильтре.

Присвойте форму атрибута, которую вы хотите сравнить (предположительно, идентификатор года), а затем в разделе «Оператор» измените раскрывающийся список по умолчанию «Значение» на «Пользовательский».

Это позволяет использовать встроенные функции MicroStrategy в вашей квалификации. В текущем году можно вернуть:

Year(CurrentDate()) 

для сравнения.

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)") 
+0

Я все еще получаю пустой результат. Я попытался изменить формат формы-> Тип на номер (созданного атрибута) безрезультатно. – Anant

+0

Просто используйте EXTRACT (YEAR FROM SYSTIMESTAMP), как я предложил. –

+0

Не могли бы вы изменить ответ, чтобы указать полную формулу формула ApplySimple, которая должна использоваться? Thanks – Anant