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.

No hay comentarios:

Publicar un comentario