Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: LoryMax от 21 марта 2017, 03:53:37

Название: Странная сортировка дат
Отправлено: LoryMax от 21 марта 2017, 03:53:37
Приветствую!
Сделал в таблице вывод "месяц, год"
month(CREATEDAT) & ' ' & year(CREATEDAT)

Почему то за сен, окт, ноя 2016 года оказались в низу списка, выше пошли июл 2011 и наст. времени.

в таблице с выводом полной даты все нормально. Что может быть?
Название: Re: Странная сортировка дат
Отправлено: millik от 21 марта 2017, 09:50:47
Предположу следующие
month(CREATEDAT) & ' ' & year(CREATEDAT) - текстовая мера, соответственно в сортировке идет посимвольное сравнение.
Название: Re: Странная сортировка дат
Отправлено: admin от 22 марта 2017, 07:00:42
Привет.
Все верно, сортировка текстом не даст ожидаемого результата.
Используйте функцию dual().
Например,
dual(month(DateId) & '-' & year(DateId),year(DateId) & num(month(DateId), '00')) as 'Месяц-год',
Название: Re: Странная сортировка дат
Отправлено: LoryMax от 22 марта 2017, 11:21:13
не помогает. результаты те же.
Сентябрь-ноябрь 2016 среди 2011 года.  :P
Название: Re: Странная сортировка дат
Отправлено: LoryMax от 22 марта 2017, 11:25:17
Решил в скрипте сортировку сделать. Тогда все ОК. Но также не должно быть?!


Finance:
load *
  from lib://SSD/Finance.qvd (qvd)
;

NoConcatenate
d4:
load *
Resident Finance Order by CREATEDAT;
drop table Finance;
Название: Re: Странная сортировка дат
Отправлено: admin от 22 марта 2017, 11:59:23
Почему это не должно быть?
Именно так и работает.
Или вы пытались сделать сортировку в выражении для измерения?
Тогда надо было использовать aggr().
Но это не лучший вариант.
Лучше всего использовать измерения подготовленные в скрипте.
Название: Re: Странная сортировка дат
Отправлено: LoryMax от 22 марта 2017, 01:17:13
Дело в том, что я это делал в диаграммах (QS).
Спасибо за подсказку, что измерения лучше подготавливать в скрипте.

"Почему это не должно быть?" Грузим данные как есть, и мы же должны свободно сортировать в созданных таблицах (диаграммы). Полные даты (по типу: 01.11.2011) нормально сортируются, а num(CREATEDAT) уже нет... как это может быть?

08.11.2011 - 40702
09.11.2011 - 40703
11.09.2016 - 42624
...
16.11.2016 - 42690
10.06.2011 - 40704
11.06.2011 - 40705
Причем сортировка стоит по Num... )
Название: Re: Странная сортировка дат
Отправлено: admin от 22 марта 2017, 03:16:38
Попробуйте Сортировку по выражению и пропишите там выражение для даты.
Название: Re: Странная сортировка дат
Отправлено: LoryMax от 23 марта 2017, 01:35:08
Еще заметил, что сортировка в легенде тоже некорректно работает.
Минимальный год находится всегда внизу, не зависимо от того, что указано в настройках сортировки.
В данном случае Месяц у меня на Авто, Год с сортировкой по численным значениям По возрастанию.
Здесь что можно сделать?