Tag: funciones analíticas

14
Ago

Función Oracle: LISTAGG

La función LISTAGG se utiliza, para pivotar filas en una única columna concatenando los valores con un separador indicado. LA diferencia con la función PIVOT, es que pivota un valor a una columna sin combinarlas en el mismo campo (ver artículo PIVOT). Como alternativas en versiones anteriores podía utilizar CASE, pero no era dinámico, o la función COLLECT, pero es

Read more

31
Mar

Funciones Oracle: FIRST_VALUE y LAST_VALUE

Las funciones FIRST_VALUE() y LAST_VALUE() proporcionan el valor inicial y final en una lista ordenada respectivamente. FIRST_VALUE: Obtendría el primer valor LAST_VALUE: Obtendría el último valor SINTAXIS: función (<expresion_valor_1> [,<offset> [, <valor_por_defecto> ]]) OVER ([PARTITION BY <expresion_valor_3> [,<expresion_valor_4>, …]]) ORDER BY <expresion_valor_2> [ASC|DESC] [NULLS FIRST | NULLS LAST] [,…] [ventana]) siendo ventana: [ROWS|RANGE] inicio AND fin función – FIRST_VALUE o

Read more

21
Mar

Funciones ordenación:ROW_NUMBER, RANK y DENSE_RANK

ROW_NUMBER, RANK y DENSE_RANK son funciones de ordenación dentro de una partición. La función ROW_NUMBER es una función analítica, que asigna un valor único dentro una partición según un orden determiado. El valor parte de 1. Diferencias entre ROW_NUMBER, RANK y DENSE_RANK sería: ROW_NUMBER: asigna numeros contiguos y unicos desde 1 hasta el último según la ordenación y por cada

Read more

14
Mar

Funciones Oracle: LAG y LEAD

Con las funciones LAG() y LEAD() se obtienen el valor anterior o posterior en una lista ordenada. Con estas funciones se evita la necesidad de realizar un join con la misma tabla. LAG: Obtendría el valor del registro anterior LEAD: Obtendría el valor del registro posterior SINTAXIS: función (<expresion_valor_1> [,<offset> [, <valor_por_defecto> ]]) OVER ([PARTITION BY <expresion_valor_3> [,<expresion_valor_4>, …]]) ORDER

Read more

22
Sep

Funciones Oracle: pivot / unpivot

PIVOT, permite trasponer filas a columnas y UNPIVOT, permite el paso inverso, el paso de columnas a filas. Están disponibles a partir de la versión Oracle 11G. La mismo que se realiza mediante PIVOT y UNPIVOT, se podía realizar en versiones anteriores, mediante funciones de decodificación, pero son menos eficiente y si había muchos valores podría ser bastante engorroso. EJEMPLO

Read more