下午好, 下一个是我的情况。我已经在Elasticsearch中加载了数据。我设法制作了一个数据表,按部门分组并添加了该部门的所有价格。结果是一列,每行每个部门,另一列是每个部门的价格总和。那么还有另一个数据是年份。今年,我希望它能发挥作用,这样,当我选择现在的一年时,我会得到一列包含部门总数的列,但仅限于该年。如果选择两个不同的年份,则希望显示两列,一个列显示一年的编号,另一列显示另一年的总和。有帮助吗?
查询是下一个:
SELECT Gcfn09(tr6200.tr62feciniact) curso,
trim(To_char(tr6200.tr62feciniact, 'MONTH')) mes,
ad7400.ad74descentro centro,
ad0200.ad02desdpto dpto,
pr1200.pr12desactividad tipo_actividad,
tr6200.tr62puntos importe,
CASE
WHEN Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'OCTUBRE'
OR Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'SEPTIEMBRE'
OR Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'NOVIEMBRE'
THEN 'Q1'
WHEN Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'DICIEMBRE'
OR Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'ENERO'
OR Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'FEBRERO' THEN
'Q2'
WHEN Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'MARZO'
OR Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'ABRIL'
OR Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'MAYO' THEN
'Q3'
WHEN Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'JUNIO'
OR Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'JULIO'
OR Trim(To_char(tr6200.tr62feciniact, 'MONTH')) = 'AGOSTO' THEN
'Q4'
END AS cuatrimestre
FROM tr6200,
pr0200,
pr0100,
pr1200,
ad0200,
ad7400,
ci3200,
ci1300
WHERE tr6200.pr01codactuacion = pr0200.pr01codactuacion
AND tr6200.pr01codactuacion = pr0100.pr01codactuacion
AND pr0100.pr12codactividad = pr1200.pr12codactividad
AND pr0200.ad02coddpto = ad0200.ad02coddpto
AND ad0200.ad74codcentro = ad7400.ad74codcentro
AND tr6200.ci32codtipecon = ci3200.ci32codtipecon
AND tr6200.ci32codtipecon = ci1300.ci32codtipecon
AND tr6200.ci13codentidad = ci1300.ci13codentidad
ORDER BY curso,
mes
现在我在kibana中创建了四个脚本字段:
我在数据表中创建了四列,每列都有一个脚本字段的总和。 然后,我创建了带有Department字段的存储桶。
我想要实现的是,如果我按顺序进行过滤,则只会显示过滤的列。零值的列不想显示它们