En este tutorial, aprenderá sobre los métodos de codificación de columnas con VertiPaq en LuckyTemplates . Comprenderá cómo funciona cada método y cómo afecta el rendimiento de su DAX.
Cada método tiene su propio estilo de compresión de datos para que pueda brindarle transacciones más rápidas y fluidas.
Tabla de contenido
Codificación de valores con VertiPaq en LuckyTemplates
El primer tipo de compresión de datos es la codificación de valor . Ocurre en columnas de tipo entero.
Este es un ejemplo de una columna de costo original:

Puedes ver que hay valores dentro.
Ahora, si VertiPaq almacena estos datos en la columna tal cual, necesitaría 12 bits de memoria.
Sin embargo, VertiPaq busca formas de minimizar la cantidad de memoria que necesita para almacenar datos. Encontrará el valor mínimo de una columna y luego codificará esa columna restando 3004 de cada valor. Al hacerlo, solo necesitaría 9 bits de memoria.

VertiPaq redujo la memoria que necesita, haciendo que su código funcione más rápido.
Codificación de diccionario
El siguiente método de compresión de datos es Dictionary o Hash Encoding , que se produce en columnas de valores de texto o no enteros.
Este es un ejemplo de una columna con nombres de productos repetidos:

VertiPaq tiene una característica que ayuda a comprimir columnas no enteras. Crea una lista de valores distintos en esa columna y luego les asigna un número.

Puede ver que aplica un número que corresponde a los nombres de los productos.
A continuación, reemplaza los valores de los nombres de productos con los valores enteros.

Almacenar valores enteros requiere menos bits que almacenar valores de texto.
Esto es algo que hacen DAX y Storage Engine cuando están codificando.
Codificación de longitud de ejecución con VertiPaq en LuckyTemplates
El último tipo de codificación se denomina codificación de longitud de ejecución . Busca valores repetidos y almacena un inicio y un final.
Esta es una tabla de muestra con ID de vendedor y filas :

Y esta es la tabla que está codificada usando la codificación de longitud de ejecución:

Sabe que el vendedor con ID de EMP1017 va de la fila 1 a la 363.
Verá que tiene Inicio de fila, Fin de fila y también muestra cuántos valores repetidos hay en el medio. Por lo tanto, no es necesario almacenar EMP1017 362 veces porque sabe dónde comienza y dónde termina.
Codificación de longitud de ejecución usando columnas codificadas
Otra gran ventaja de VertiPaq es que puede ejecutar la codificación de longitud en columnas codificadas con codificación de valor o diccionario.
Esta es una tabla que está codificada usando la codificación del diccionario:

Notará que la columna NameID se repite. Significa que puede usar la codificación de longitud de ejecución con la columna.
En este caso, VertiPaq solo buscará NameID, Row Start y Row End.

Entonces, en lugar de almacenar los valores enteros 3 veces, ahora los almacena una vez.
Optimice las funciones de DAX con esta nueva
medida del curso en LuckyTemplates: consejos y técnicas de optimización
Consejos avanzados para optimizar su tabla de LuckyTemplates
Conclusión
Dentro del motor de almacenamiento de VertiPaq , hay 3 métodos de compresión de datos que son responsables de hacer que su código DAX funcione sin problemas.
Una vez que haya entendido cómo funciona cada método en sus cálculos, puede utilizar y maximizar cualquiera de ellos para mejorar el rendimiento de su código y recuperar fácilmente los datos que necesita en sus informes.