0

我正在研究 x 轴是按月聚合的日期的图表栏。¿ 是否可以按天聚合,但仅使用过滤器 o 以其他方式显示每个月的最后一天?我看到的其他可能性是创建一个计算字段以显示汇总期间最后一天的值,但我无法做到这一点¿它可能吗?

4

3 回答 3

0

计算字段以显示聚合期间最后一天的值,但我无法做到。有可能吗?

使用前面的答案,我在 Quicksight 计算字段中使用了这个公式来获取“当月最后一天”的数字。您可以更改 now() 以获取另一个期间的最后一天。

extract("DD",addDateTime(-1,"DD",addDateTime(1,"MM",truncDate("MM",now()))))
于 2020-02-26T06:09:15.103 回答
0

我终于使用发布的公式像这样解决它:

parseDate
(
concat
(
toString(extract("YYYY",addDateTime(1,"DD",addDateTime(1,"MM",truncDate("MM",date)))))
,"-"
,toString(extract("MM",addDateTime(1,"DD",addDateTime(1,"MM",truncDate("MM",date)))))
,"-"
,toString(extract("DD",addDateTime(-1,"DD",addDateTime(1,"MM",truncDate("MM",date)))))
)
,'yyyy-MM-dd')

而且因为本月还没有结束,所以我没有最后一天的数据,我使用这样的 ifelse:

ifelse(
parseDate(
concat(
toString(extract("YYYY",addDateTime(-1,"DD",addDateTime(1,"MM",truncDate("MM",date)))))
,"-"
,toString(extract("MM",addDateTime(-1,"DD",addDateTime(1,"MM",truncDate("MM",date)))))
,"-"
,toString(extract("DD",addDateTime(-1,"DD",addDateTime(1,"MM",truncDate("MM",date))))))
,'yyyy-MM-dd') 
>= now()
,addDateTime(-1,"DD",now())
,parseDate(concat(toString(extract("YYYY",addDateTime(-1,"DD",addDateTime(1,"MM",truncDate("MM",date)))))
,"-"
,toString(extract("MM",addDateTime(-1,"DD",addDateTime(1,"MM",truncDate("MM",date)))))
,"-"
,toString(extract("DD",addDateTime(-1,"DD",addDateTime(1,"MM",truncDate("MM",date)))))
)
,'yyyy-MM-dd')
)

最后我创建了以下计算字段:

sumIf(base,formatDate(date,'yyyy-MM-dd') = formatDate({fecha_last_day},'yyyy-MM-dd'))

结果:

与每个月的最后一天相关的值,对于当前月份,与可用数据相关的最后一天

于 2020-02-28T19:58:24.080 回答
0

我不确定您正在尝试做什么来提供最佳指导。

如果我必须写一个表达式来计算一个月的最后一天,我会

  1. 使用 truncDate 函数从日期中提取月份和年份信息
  2. 月份加 1,除非是 12 月
  3. 获取当月的第一天(始终以 1 作为日期)
  4. 使用 addDateTime 减去一天

例如,给定日期 02/19/20(格式为 MM/DD/YYYY)。02 是月份编号 20 是年份编号 下个月是 03 该月初是 03/01/20 上个月的最后一天是 2020 年 2 月 29 日,我将从 3 月 1 日减去一天得到。

于 2020-02-19T23:49:42.920 回答