月份随机出现在条形图上,而不是按顺序出现。如何更改垂直条形图中显示的数据顺序?

The Months appear randomly on the Bar Chart instead of in an order. How to change the order of data presented in a Vertical Bar Chart?

几个月来,我一直在 QuickSight 上创建仪表板。我目前正在尝试创建一个仪表板,显示有多少人登录了我们的应用程序并希望按月显示。

我遇到的问题是 QuickSight 倾向于以随机方式呈现数据,虽然我可以按字母顺序对其进行排序,但这对我没有帮助。请参阅带有示例数据的示例屏幕截图; vertical bar chart

从屏幕截图中可以看出,月份的顺序是九月、十月、八月。

我如何更改它以反映正确的月份顺序,例如八月、九月、十月。我还想确保今后,每当我更新数据时,我仍然能够正确地对它们进行排序.

希望这是有道理的

我假设您看到的是这种排序,因为您排序所依据的字段是文本字段(varchar、text 等)而不是顺序字段(至少是数字字段)。换句话说,QuickSight 按月份名称的字母顺序排序,而不是按月份顺序排序。幸运的是,有几种方法可以解决这个问题。

我真的不太了解您的数据,但解决此问题的最佳方法是创建一个代表月份(例如,月份的第一天)的实际日期字段。日期在 QuickSight 中排在首位 class,并且应该按照您要查找的顺序自然排序。

如果您已经有日期条目但它们不是每月的,您可以在计算字段中使用 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)

那么您应该可以使用上述日期。这是一个满口,但我希望它有所帮助!