Неправильное поведение сортировки с FormatDate

Я редактирую отчет Webi с помощью SAP Business Objects BI4.

У меня есть отчет с таблицей, в которой я отображаю дату в следующем формате:

=FormatDate([Sales Date];"dd-MMM-yyyy")

Первоначально параметр «Дата продажи» имеет формат «мм/дд/гггг».

Я хочу отсортировать свою таблицу по этому отформатированному измерению даты в порядке возрастания, поэтому я просто выбираю свою таблицу> щелкните правой кнопкой мыши> выберите «Сортировать», а затем я выбираю = FormatDate ([Дата продажи]; «дд-МММ-гггг») в порядке возрастания заказ.

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

Sales Date
----------
01-AUG-2006
----------
01-JUL-2010
----------
02-FEB-2006
----------
03-AUG-2005

Как вы можете видеть выше, кажется, что сортировка выполняется только по значению «день» и полностью игнорирует «месяц» и «год».

Мой объект правильно определен как «Дата» во вселенной.

и сортировка выполняется правильно, если я не использую форматирование «дд-МММ-гггг» и сохраняю исходный формат даты продажи.

Любые предложения, пожалуйста? Спасибо!


person salamey    schedule 22.07.2016    source источник


Ответы (1)


Тип возвращаемых данных FormatDate — это строка. Вот почему сортировка будет нарушена, поскольку она будет сортировать строковое значение вместо значения даты.

У вас есть два варианта:

  1. Отформатируйте дату, используя (настраиваемый) формат даты (в разделе Форматирование, если документ находится в режиме Редактировать). Вам нужно будет использовать RIA (апплет Java), чтобы определить свой собственный формат даты. В качестве альтернативы вы можете использовать один из доступных форматов. Это не изменит тип данных, а только представление, поэтому сортировка должна быть в порядке.

Форматирование

  1. Если вы все еще хотите использовать параметр FormatDate, вы можете добавить [Sales Date] во второй столбец, использовать его для сортировки данных, а затем скрыть столбец.
person ƘɌỈSƬƠƑ    schedule 22.07.2016
comment
Большое спасибо! Я думаю, что ваш первый вариант лучше соответствует требованиям, и это сработало :) - person salamey; 22.07.2016