domingo, 15 de agosto de 2021

Comprimir ficheros en Microsoft Windows sin software adicional.

Si en Microsoft Windows es posible descomprimir ficheros en formato ZIP, parece lógico que también se pueda comprimir ben ese mismo formato.


Partimos de un fichero de texto, que comprimiremos sin ayuda de ningún software externo.

La opción de compresión en Microsoft Windows está un tanto oculta, ya que, a mi parecer, está en un lugar poco predecible.

Para comprimir un fichero o una carpeta el procedimiento es el mismo.

Seleccionamos el fichero o carpeta, y con el botón derecho accedemos al menú contextual.

En este menú pulsaremos en la opción "Enviar a", y luego en la opción "Carpeta comprimida (en Zip)".

Con esta acción veremos aparecer un fichero comprimido con el mismo nombre del fichero o carpeta y la extensión ".ZIP"

Aunque es una opcion muy limitada, puede permitirnos salir de más de un apuro. 

Recomiendo conocer al máximo las opciones que nos ofrece por defecto nuestro entorno de trabajo, pues es muy habitual no sacarles todo el provecho que podríamos.

sábado, 14 de agosto de 2021

Descomprimir ficheros sin software adicional en Microsoft Windows

Los ficheros comprimidos son muy habituales en el mundo de la informática, pero sobre todos los formatos el que más se usa es el formato ZIP.

Existen numerosas aplicaciones para descomprimir ficheros, sin embargo en el sistema operativo Windows es posible descomprimirlo sin ninguna herramienta.

Existen dos formas de extraer, abrir el fichero con el explorador de archivos o, en caso de no tener ninguna aplicación de descompresión instalada, con doble click en el fichero comprimido.

En el caso de abrir con el explorador lasenpiede abrir con botón derecho, Abrir con, Explorador de Windows.


Se abre otra ventana en la que se pueden ver los ficheros descomprimidos.

Con el botón Extraer todo, se abre la ventana de extracción.

En esta ventana solo es necesario indicar la carpeta en la que extraer los ficheros.

También dispone de un check, que por defecto está marcado, para abrir la carpeta en donde se descomprimirlo los ficheros, al finalizar la extracción.


Por defecto la extracción se realiza en una carpeta con el mismo nombre que el fichero comprimido.


Esto permite descomprimir cualquier fichero en formato ZIP sin herramientas adicionales.

viernes, 13 de agosto de 2021

Sumar días a fecha en Microsoft Excel

Dado que las fechas en las hojas de cálculo son en realidad un número, tienen la capacidad de realizar las mismas operaciones que cualquier número, aunque algunas puede que no tengan razón de ser, por ejemplo realizar el promedio entre un conjunto de fechas.

Sin embargo las sumas y restas son especialmente interesantes, ya que permiten calcular fechas en el futuro y en el pasado.

El ejemplo básico es sumar una cantidad a una fecha, lo que permite obtener la fecha correspondiente a ese número de días en el futuro.

Por ejemplo, para conocer la fecha que será 120 días después, solo es preciso realizar una sencilla operación.

En este caso partimos de una casilla en la que indicamos una fecha y otra en la que indicamos el número de días a calcular en el futuro. En el ejemplo 120 días.

La operación no requiere el uso de ninguna función, simplemente solo es preciso sumar el número de días, y obtendremos la fecha 120 días posterior.


Mas complejo sería obtener la fecha que se correspondiese a 120 días hábiles en el futuro, pero eso será otro día.

¿Cómo conocer el próximo día de semana equivalente a hoy? 

Tan sencillo como sumar 7 al número de día.

Con las fechas solo es preciso tener un poquito de imaginación y dejarse llevar.


jueves, 12 de agosto de 2021

Continuando con el experimento de dividir las fechas

Ya puestos continuamos investigando si, como parece, la columna del día, es la que más ocupa, en el fichero que mostrábamos en el post de ayer, con un fichero en el que separábamos una fecha en tres columnas representando día, mes y año.

En este caso creamos dos ficheros, uno con una columna con los datos de los días.


Y otro fichero con dos columnas, una para el mes y otra para el año.


Guardo ambos ficheros y comprobó el tamaño qué tienen.


Cómo era de esperar el fichero que tiene una única columna, la mitad de los datos que el otro, ocupa menos lo que no era de esperar es que solo ocupe un 20 % menos.

En ocasiones la mejor solución para despejar una duda es realizar un pequeño experimento.

miércoles, 11 de agosto de 2021

Experimento con fechas en Microsoft Excel

Hoy haré un experimento para comprobar que ocupa más en un fichero de Microsoft Excel.

Compararemos una columna con fechas distintas, contra el equivalente en tres columnas mostrando por separado día mes y año de las mismas fechas.

Tal cual vimos en el post de ayer, cuantos menos valores diferentes mayor razón de compresión de lo datos en el motor de almacenamiento de Microsoft Excel.

En este caso tendremos una comparativa entre una única columna con datos sin repeticiones, contra 3 columnas con datos con repeticiones. ¿Cuál ocupará menos? Lo mejor es un experimento para demostrarlo.


El primer fichero constará de una única columna con fechas.



El ejemplo usará fechas entre el 01/01/2000 y el 25/11/4870 (un día por cada fila de la hoja de cálculo).


Para el segundo fichero, se generarán tres columnas adicionales, para el día, mes y año.

Usaremos la función DIA().


Luego usaremos la función MES().


Y finalmente usaremos la función AÑO().


Una vez obtenidas las tres funciones, las copiamos a todas las filas.


Llegando hasta la última fila.


Ahora copiamos los datos y pegamos valores, para quedarnos solo con el resultado, eliminando las fórmulas.

Y eliminamos la columna A, para quedarnos solo con las que representan el día, el mes y el año por separado.


Guardamos ambos ficheros en formato XLSX.

Finalmente hemos obtenido dos ficheros que almacenan la misma información, pero de dos formas totalmente distintas.

Nos queda por saber cuál de las dos formas ocupa menos espacio en disco.


Finalmente podemos comprobar que usar una única columna con un dato de tipo fecha, requiere la mitad de espacio que usar tres columnas para día, mes y año.

Esto es debido, principalmente a que, en el segundo fichero, los valores correspondientes a los días no se repiten de forma consecutiva, siendo esta columna la que más espacio precisa para ser almacenada.
A

A

martes, 10 de agosto de 2021

Tamaño de ficheros en Microsoft Excel según el número de decimales almacenado.

Ayer demostraba que Microsoft Excel almacena más eficientemente los datos cuando hay muchos datos repetidos.

Hoy veremos otra faceta del motor de almacenamiento de Microsoft Excel que también afecta al tamaño del fichero, y por tanto a la capacidad de procesamiento de los datos.

En este caso analizaremos la repercusión del número de decimales en el tamaño del fichero.

Para ello partimos de un fichero con una única columna de datos, en la que introducimos la fórmula ALEATORIO ().

Esta fórmula genera un número decimal aleatorio entre cero y uno, con el máximo de decimales que gestiona Excel, esto es 16 decimales.

El resto de los ficheros se ha generado usando la función REDONDEAR () para obtener una versión con menos decimales de los valores originales en la columna B.

Posteriormente copio los datos de la columna B y pego valores en la columna A.

Finalmente elimino la columna B, dejando solo la columna A.

También cambio el título de la columna, para indicar el número de decimales.

Sin embargo no modifico el número de decimales que se muestran para que se aprecie el redondeo.

En la siguiente imagen muestro el fichero con 10 decimales.

Como podéis ver en la imagen, el tamaño se reduce radicalmente a medida que se reduce el número de decimales.

La versión original del fichero, tenía 16 decimales y pesaba 18MB.

La versión de 10 decimales reduce su tamaño hasta los 16 MB.

En la versión de 5 decimales nos quedamos en 13 MB.

Es importante entender que el valor almacenado por Microsoft Excel es el que se muestra en la barra de fórmulas, no en las celdas.

Como se puede apreciar en esta imagen, en el valor resaltado en rojo, no se tienen en cuenta los ceros decimales a la derecha.

Versión para 3 decimales, que pesa 11 MB.

Y finalmente la versión con 2 decimales que se queda en algo menos de 9 MB.


Aunque aparentemente está reducción del tamaño se deba a la reducción del número de decimales, no es esa la razón de que los ficheros ocupen menos.

La verdadera razón es la misma que veíamos ayer, a menos valores distintos menos valores realmente almacena el motor de Microsoft Excel.

Solo hay que pensar cuántos valores entre 0 y 1 con dos decimales existen y nos daremos cuenta de que, el máximo número de elementos distintos que hay en el fichero de dos decimales, es de 1000 elementos distintos. Razón por la cual es más fácil almacenar los datos y requieren menos tamaño.

Esto nos demuestra que cuando trabajemos con decimales deberíamos tener claro cuál es el máximo número decimales que nos interesa almacenar ya que podremos ahorrar una cantidad enorme de espacio y facilitar el procesamiento del fichero.

Este comportamiento que hemos visto en Microsoft Excel es aplicable también a Power BI, en el cual adquiere una especial importancia ya que el tamaño máximo del fichero de Power BI, es de 1GB.

lunes, 9 de agosto de 2021

Reducir tamaño en Microsoft Excel según datos guardados

Voy a explicar la relación entre los datos almacenados en una columna de Microsoft Excel y el tamaño del fichero generado.

Usaremos como ejemplo dos ficheros de Microsoft Excel en formato XLSX.

En ambos cubriremos de datos toda la columna A.

En el primero, escribiremos el número 1 en todas las celdas.

En el segundo escribiremos en cada celda el número correspondiente a su fila.


Microsoft Excel usa un motor de análisis en memoria para gestionar los datos. 

Para ello implementa técnicas de compresión para reducir lo datos a almacenar.

La razón de compresión depende, sobre todo, del número de valores únicos en cada columna, ya que se utiliza un sistema de diccionarios que almacena cada valor y los índices correspondientes.

De forma que cuanta mayor variedad de datos, mayor será el tamaño necesario para almacenarlos, y por tanto mas memoria será necesaria para procesarlos.

En la captura podéis comprobar la diferencia de tamaño de ambos ficheros.

Habíamos visto en otra publicación que cambiando el formato a XLSB podíamos ahorrar tamaño.

Eso es correcto, pero en este caso la diferencia en porcentaje de tamaño aún es mayor entre ambos ficheros.

En el caso del formato XLSX es necesario un 54% más de tamaño para almacenar datos distintos que para un único dato repetido.


Mientras que en el formato XLS este incremento alcanza el 90%.


Con esta introducción, podemos comenzar a entender cómo Microsoft Excel, y más adelante Power BI, almacena los datos, y de esta forma optimizar nuestras hijas de cálculo y paneles de análisis.