Месяцы отображаются случайным образом на гистограмме, а не в порядке. Как изменить порядок данных, представленных в вертикальной гистограмме? - PullRequest
0 голосов
/ 23 октября 2019

Я создаю панели мониторинга в QuickSight уже несколько месяцев. В настоящее время я пытаюсь создать панель мониторинга, которая показывает, сколько людей вошли в наше приложение и хотят представить это по месяцам.

Проблема, с которой я столкнулся, заключается в том, что QuickSight стремится представлять данные случайным образоми хотя я могу сортировать это по алфавиту, это мне не поможет. Смотрите пример скриншота с образцами данных; вертикальная гистограмма

Как видно на скриншоте, месяцы упорядочены в сентябре, октябре, августе.

Как я могу изменить это, чтобы отразить правильный порядокмесяцев, таких как август, сентябрь, октябрь. Я также хочу убедиться, что в будущем, когда я обновляю данные, я все еще могу их правильно сортировать.

Надеюсь, это имеет смысл

1 Ответ

0 голосов
/ 24 октября 2019

Я предполагаю, что вы видите этот порядок, потому что поля, по которым вы сортируете, являются текстовыми (varchar, text и т. Д.), А не порядковыми (по крайней мере, числовыми). Другими словами, QuickSight сортирует по алфавиту по названию месяца, а не по месяцу. К счастью, есть несколько способов решить эту проблему.

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

Если у вас уже есть записи даты, но они не ежемесячные, вы можете использовать truncDate в вычисляемом поле, чтобы обрезать даты до уровня месяца, а затем использовать параметры форматирования, чтобы отобразить их как месяцы.

Наконец, если у вас совсем не было других вариантов, вы могли бы проанализировать существующие поля (в формате Mon-YY) для создания полей даты.

Сделав это, вы, скорее всего, захотите создать несколько вычисляемых полей, кульминацией которых будет дата, например:

Создайте новое вычисляемое поле для month, что делает что-то похожее, если предположить, что ваш столбец даты называется yourMonthCol

ifelse(
  split({yourMonthCol}, '-', 1) == 'Jan', '01',
  split({yourMonthCol}, '-', 1) == 'Feb', '02',
  ...,
  split({yourMonthCol}, '-', 1) == 'Nov', '11',
  '12'
)

Затем вам нужно будет сделать что-то подобное для year

split({yourDateCol}, '0', 2)

Наконец,вы должны иметь возможность получать даты, создавая вычисляемое поле, подобное следующему из созданных вычисляемых полей

parseDate('01/' + month + '/' + year)

Тогда вы сможете использовать эту дату какрифленый выше. Это было глотком, но я надеюсь, что это поможет!

...