• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

262
Vistas
Combinar, deduplicar y ordenar una matriz en copo de nieve

Necesito tomar una matriz de fechas y agregarle otra matriz de fechas. Necesito que la matriz permanezca en orden ascendente y contenga cualquier fecha solo una vez. A continuación se muestra la consulta y el UDF que probé. No estoy en deuda con este enfoque, pero es lo que intenté.

 SELECT ARRAY_MERGE(ARRAY_COMPACT(c.array_visit_dates), ARRAY_COMPACT(d.array_visit_dates)) AS array_visit_dates FROM myTable CREATE OR REPLACE FUNCTION array_merge(old_date_list ARRAY, new_date_list ARRAY) RETURNS ARRAY LANGUAGE JAVASCRIPT AS $$ //var OLD_DATE_LIST = OLD_DATE_LIST.filter(date => date !== '').filter(date => date !== undefined) //var NEW_DATE_LIST = NEW_DATE_LIST.filter(date => date !== '').filter(date => date !== undefined) var full_list = OLD_DATE_LIST.concat(NEW_DATE_LIST); var dateset = new Set(full_list) var u_dates = [...new Set(dateset)] var u_dates = u_dates.sort() return u_dates.filter(date => date != '') $$ ; Error returned is: JavaScript execution error: Uncaught TypeError: Cannot read property 'concat' of undefined in ARRAY_MERGE at ' var full_list = OLD_DATE_LIST.concat(NEW_DATE_LIST);' position 34 stackstrace: ARRAY_MERGE line: 4
almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puedes hacerlo con SQL:

 select ARRAY_AGG( DISTINCT VALUE) WITHIN GROUP (ORDER BY VALUE) from LATERAL FLATTEN(ARRAY_CAT(array_construct('2021-02-03'::DATE, '2021-04-05'::DATE, '2021-10-06'::DATE), array_construct('2021-04-05'::DATE, '2020-02-04'::DATE, '2021-11-05'::DATE )));

Use ARRAY_CAT para fusionar matrices, aplanar los elementos y luego reconstruir la matriz usando ARRAY_AGG

almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda