Publicado el Dejar un comentario

La utilería Brasero se congela después de actualizar a Ubuntu 18.04 LTS

Después de actualizar Ubuntu de 16.04 LTS a la nueva versión 18.04 LTS e intentar quemar un disco de música, al iniciar la grabación del CD simplemente Brasero de congelaba y no grababa nada.

Al parecer hay un bug reportado y se debe a los permisos que le asigna la actualización a ciertos archivos del Brasero.  Para solucionarlo hay que hacer los cambios de permiso que indica en el bug reportado de la siguiente forma:

cd /usr/bin
sudo chmod -v 4711 cdrdao
sudo chmod -v 4711 wodim
sudo chmod -v 0755 growisofs

Una vez realizado estos cambios, Braso debe funcionar sin problemas.

¿Dudas? ¿Algúna sugerencia? ¡Haz tu comentario!

¡Hasta la próxima!

 

Publicado el Dejar un comentario

Convertir o mostrar fecha como texto en Excel

Para mostrar como texto una fecha en Excel, podemos usar la siguiente fórmula:

La celda B1, utiliza la funcion TEXTO() para convertir tanto el numero de día como el número del mes de la fecha en la celda A1 a sus nombres correspondientes. Las funciones DIA() y AÑO(), para obtener el día y el año respectivamente de la misma fecha  y  la función CONCAT() para concatenar los resultados de las fórmulas y los textos necesarios que formarán el texto resultante final.

Podemos también concatenar los textos utilizando el símbolo & (et o ampersand) en lugar de la función CONCAT() y obtendremos el mismo resultado como se muestra la fórmula en la celda C1:

Pueden jugar con los textos y las posiciones para lograr el texto resultante requerido.

¿Dudas? Deja tu comentario.

¡Hasta pronto!

Publicado el Dejar un comentario

Numerar por grupos los resultados de una consulta SQL en Oracle

En el post pasado vimos como numerar los resultados de una consulta desde 1 a el total de registros devueltos por la consulta con la función ROW_NUMBER(). Ahora queremos que numere desde 1  hasta el número de registros que exista en cada grupo distinto de datos que regrese la consulta. Para ejemplificar usaremos la consulta siguiente a la tabla EMPLOYEES:

SELECT 
    ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY last_name) AS numero_consecutivo,
    department_id,
    last_name 
FROM 
    employees;

PARTITION BY le indica a la función ROW_NUMBER(), que va a numerar a partir de 1 por cada grupo de registro con diferente valor en el campo DEPARTMENT_ID.  ORDER BY le indica que va a numerar los registros de cada grupo de acuerdo al orden ascendente del valor del campo LAST_NAME

Veamos el fragmento del resultado que daría la consulta SQL anterior para entender mejor el funcionamiento:

Como vemos en el resultado, la numeración (columna NUMERO_CONSECUTIVO en el resultado) reinicia con 1 por cada valor de DEPARTMENT_ID distinto y los numera de acuerdo al orden del valor LAST_NAME: en el DEPARTMENT_ID “10” sólo existe 1 empleado y tiene el valor de “Whalen” en el campo LAST_NAME. En el DEPARTMENT_ID “20” existen 2 empleados con los valores “Fay” y “Hartstein” y los numeró de acuerdo al orden alfabético, a “Fay” le dió el NUMERO_CONSECUTIVO “1” y a “Hartstein” el 2. En el DEPARTMENT_ID “30” hay 6 empleados y los numeró del 1 al 6 de acuerdo al orden alfabético de LAST_NAME y así sucesivamente con el resto de los empleados.

Si existiera una clausula ORDER BY en la sentencia, el orden del despliegue de salida  sería por los campos indicados en dicha cláusula.

¿Dudas? ¿Preguntas? Deja tus comentarios. ¡Hasta la próxima!