Valores repetidos na consulta. Distinct não está funcionando - Jaspersoft

(sou iniciante!)
Quando há codigo e descricao repetidas, a consulta mesmo com o distinct não “filtra” esses dados, pensei em um GROUP BY mas não consegui colocar essa função.
Trabalho com Jaspersoft Studio.
segue meu script a baixo:

WITH cte AS
(SELECT DISTINCT (o->>‘codigo’)::NUMERIC::INT codigo,
o->>‘observacao’ descricao,
round((ST_Area(ST_Intersection(zg.wkb_geometry, lg.wkb_geometry)) / ST_Area(lg.wkb_geometry) * 100)::NUMERIC, 2) areapct,
round((ST_Area(ST_Intersection(zg.wkb_geometry, lg.wkb_geometry)) / ST_Area(lg.wkb_geometry) * l.area)::NUMERIC, 2) areametros
FROM imobiliario.edificacao e
JOIN geo.lote_geo lg ON lg.idlote = e.idlote
JOIN imobiliario.lote l ON l.idlote = lg.idlote
JOIN comum.logradouro lr ON lr.idlogradouro = l.idlogradouro
JOIN geo.zoneamento_geo zg ON ST_Intersects(zg.wkb_geometry, lg.wkb_geometry)
AND zg.idempresa = e.idempresa
JOIN zoneamento.zoneamento z ON z.idzoneamento = zg.idzoneamento
JOIN zoneamento.consultapreviaconfig cfg ON cfg.idzoneamento = z.idzoneamento
AND cfg.esquina = $P{ESQUINA}
JOIN jsonb_object_keys(cfg.observacoes) k ON true
JOIN jsonb_array_elements(cfg.observacoes->k) o ON true
WHERE e.idedificacao = $P{ID_EDIFICACAO}
AND e.idempresa = $P{EMPRESA_ID}
AND lg.mslink = $P{MSLINK_LOTE})
(SELECT *
FROM cte
WHERE areapct > 0.01
ORDER BY codigo);