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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Анна от 12 марта 2020, 03:19:07

Название: Сортировка месяцев
Отправлено: Анна от 12 марта 2020, 03:19:07
Добрый день.

Подскажите, как отсортировать месяцы за период MAT, если дата у меня выбирается переменной.

То есть если мы выбираем дату - февраль 2020, то на графике должны отображаться месяцы в таком порядке: март 2019, апр 2019, май 2019, июнь 2019, июль 2019, авг 2019, сент 2019, окт 2019, нояб 2019, дек 2019, янв 2020, фев 2020.

Название: Re: Сортировка месяцев
Отправлено: govorun от 13 марта 2020, 10:41:48
Вопрос из далека... В свойствах графика поищи раздел "сортировка". На память не помню, но в диаграммах точно есть такой раздел
Название: Re: Сортировка месяцев
Отправлено: RinatG от 19 апреля 2020, 10:27:38
У меня этот вопрос также в списке задач находится. Встроенная сортировка не очень помогает, так как использую иерархическую группировку год-квартал-месяц-день. проблему с кварталами решил форматом Год/№кврт от 1 до 4. С месяцами сложнее так как Qlik не умеет стандартно сортировать месяца с названиями (или я не умею), поэтому вынужден пока использовать формат типа 1.2020...12.2020. На графике не оч красиво выглядит, хочу найти элегантный способ решения для этой задачи.
Название: Re: Сортировка месяцев
Отправлено: govorun от 20 апреля 2020, 06:34:55
Первое, что приходит на ум, это узнать как в таблицу попадает месяц+год.
Qlik не умеет стандартно сортировать месяца с названиями
Покажите строку скрипта...
Название: Re: Сортировка месяцев
Отправлено: Uunit от 20 апреля 2020, 05:26:04
Цитата: RinatG от 19 апреля  2020, 10:27:38  У меня этот вопрос также в списке задач находится. Встроенная сортировка не очень помогает, так как использую иерархическую группировку год-квартал-месяц-день. проблему с кварталами решил форматом Год/№кврт от 1 до 4. С месяцами сложнее так как Qlik не умеет стандартно сортировать месяца с названиями (или я не умею), поэтому вынужден пока использовать формат типа 1.2020...12.2020. На графике не оч красиво выглядит, хочу найти элегантный способ решения для этой задачи.

Функция MonthName() отлично сортируется
Название: Re: Сортировка месяцев
Отправлено: Uunit от 20 апреля 2020, 05:31:26
Цитата: govorun от 13 марта  2020, 10:41:48  Вопрос из далека... В свойствах графика поищи раздел "сортировка". На память не помню, но в диаграммах точно есть такой раздел
Вы немного не поняли задачи.
Автор хотел получить что то типа
Sum({<Месяц={'>$(vDate)'}>}[1])Где vDate будет 01.02.2019
Название: Re: Сортировка месяцев
Отправлено: govorun от 20 апреля 2020, 09:21:55
А мне кажется, относительно первого поста, нужна (спрашивается) обычная сортировка (по возрастанию или убывания). Главное чтобы в поле "правильное" значение было.
Название: Re: Сортировка месяцев
Отправлено: Uunit от 21 апреля 2020, 09:13:44
Цитата: govorun от 20 апреля  2020, 09:21:55  А мне кажется, относительно первого поста, нужна (спрашивается) обычная сортировка (по возрастанию или убывания). Главное чтобы в поле "правильное" значение было.

Так используя сортировку от новых к старым (По убыванию), и формулы выше, человек получит желаемый результат.
Название: Re: Сортировка месяцев
Отправлено: RinatG от 07 мая 2020, 09:18:40
Друзья, решение оказалось простым - Dual(). Все заработало как надо.
Название: Re: Сортировка месяцев
Отправлено: govorun от 07 мая 2020, 11:04:10
Цитата: RinatG от 07 мая  2020, 09:18:40  Друзья, решение оказалось простым - Dual(). Все заработало как надо.
Если даты (дни, месяцы, кварталы, годы, недели...) загружаются ПРАВИЛЬНО то никакой DUAL() не нужен. А если при загрузке данных даты прописываются ручным способом, то тогда конечно нужно как-то выкручиваться. Клик распознает стандартные/системные форматы.
Например у Вас в первом посте написано:
Цитата: Анна от 12 марта  2020, 03:19:07  май 2019
Это скорее всего "ручная запись", это ТЕКСТ а не ДАТА. И при каждом добавлении нового месяца Вам нужно будет поправлять свой DUAL. На самом деле это не "простое решение".
А правильная запись выглядела бы вот так: мая.2019. Эту запись Qlik распознает как дату и соответственно легко ее будет сортировать
Название: Re: Сортировка месяцев
Отправлено: RinatG от 08 мая 2020, 09:46:04
Я настаиваю, что через DUAL проще в рамках конкретно заданного вопроса. Если Вы хотите, чтобы у вас именовалось "МАЯ" - воля Ваша. Вопрос состоял в том, как отсортировать даты, представленные в удобном для разработчика/пользователя виде, а не обсуждение как проще для QlikView это сделать. В одной из статей я вычитал, что QV в любом случае ВСЕ виды данных хранит в виде пары текст&число, даже если это число изначально было. Загоняя в память данные QV пытается распознать тип данных и присваивает им порядковый номер. Через DUAL мы сами можем задать этот порядковый номер, чтобы иметь возможность сортировать как нам нужно. 
Название: Re: Сортировка месяцев
Отправлено: RinatG от 08 мая 2020, 12:38:31
Вот нашел эту статью http://blog.atkcg.ru/kalendar-v-qlikview-razlozhim-po-polochkam/
Название: Re: Сортировка месяцев
Отправлено: govorun от 09 мая 2020, 08:23:26
Каждый сам себе художник. Я просто высказал свое мнение.
Но заглядывая в будущее, а Клик предназначен по сути для того, что бы была история, статистика, и прогноз, подозреваю, что будут проблемы при попытке вставить "ручные даты" в формулы и функции. Хотя, всегда можно извратиться и в данном случае.
Еще раз - каждый сам себе художник...