Формула ApplySimple для текущего года в микростратегии

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

Формула, которую я пробовал:

ApplySimple("to_char(SYSTIMESTAMP,'Год')")

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

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

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


person Hormigas    schedule 07.10.2014    source источник


Ответы (2)


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

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

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

Year(CurrentDate())

для вашего сравнения.

person paulbailey    schedule 09.10.2014

Вы уверены, что хотите сравнить строку "двадцать четырнадцать"? Потому что 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)")
person Lalit Kumar B    schedule 07.10.2014
comment
Я все еще получаю пустой результат. Я пытался изменить формат формы->Тип на номер (созданного атрибута) безрезультатно. - person Hormigas; 07.10.2014
comment
Просто используйте EXTRACT(YEAR FROM SYSTIMESTAMP, как я предложил. - person Lalit Kumar B; 07.10.2014
comment
Не могли бы вы изменить ответ, чтобы указать полную формулу ApplySimple, которую следует использовать? Спасибо - person Hormigas; 07.10.2014
comment
Каков тип данных другого атрибута, с которым вы сравниваете? - person Lalit Kumar B; 07.10.2014
comment
@ Анант, см. формулу в моем ответе. - person Lalit Kumar B; 07.10.2014
comment
На данный момент я не сравниваю его ни с каким другим атрибутом. это статический атрибут, который я пытаюсь создать. Я попробовал код в предоставленной вами дополнительной информации. Тем не менее, я все еще получаю пустой столбец - person Hormigas; 07.10.2014
comment
@Anant, см. это community.microstrategy.com/t5/Object-Development/ - person Lalit Kumar B; 07.10.2014
comment
@Anant, дайте мне знать, если информация о ссылке работает для вас, я добавлю шаги в ответ. - person Lalit Kumar B; 07.10.2014
comment
Я попробовал предложения по ссылке - я все еще получаю пустой столбец - person Hormigas; 07.10.2014
comment
Кроме того, ссылка не очень актуальна, так как я создаю статический атрибут. Он имеет постоянное значение. Это одна из причин, по которой я получаю пустой столбец? - person Hormigas; 07.10.2014
comment
во всех примерах, которые я видел, они используют #0, что является своего рода переменной связывания, вместо прямого использования SYSTIMESTAMP - person psaraj12; 07.10.2014