• Blog
  • Productos
    • Cursos
    • Libros
    • Apps y Plugins
  • Academia
    • Ir a la Academia
    • Membresía Power Elite
    • Próximos Lanzamientos
Power SkillPower Skill
  • Blog
  • Productos
    • Cursos
    • Libros
    • Apps y Plugins
  • Academia
    • Ir a la Academia
    • Membresía Power Elite
    • Próximos Lanzamientos

Restablecer en DAX: Lleva Tus Cálculos Visuales al Próximo Escalón

26/02/2024 Posted by Miguel Caballero Lenguaje DAX


Desentraña cómo el parámetro Restablecer permite reiniciar cálculos en niveles específicos dentro de la jerarquía de campos. Aquí lo exploramos a fondo.



En este artículo y vídeo profundizamos en el parámetro Restablecer en Lenguaje DAX, una opción clave para elevar tus cálculos visuales. Este parámetro no solo trasciende los de los cálculos a nivel de informe, sino que también se integra de manera única con los cálculos a nivel de modelo semántico, por ejemplo, con las funciones de ventana. Acompáñanos en este artículo y video donde desvelamos cómo Restablecer puede transformar tus análisis en Power BI.

Sobre Restablecer en Lenguaje DAX y Dirección

Restablecer en el Lenguaje DAX, también conocido como RESET en inglés, es un concepto clave para incrementar la flexibilidad en los cálculos visuales dentro de este lenguaje. De hecho, el acto de restablecer es parte de un concepto más amplio: La Dirección en el Lenguaje DAX.

La dirección en los cálculos visuales dentro del Lenguaje DAX se refiere a definir la ruta que el cálculo seguirá a través de la matriz visual para determinar el valor resultante. Esto involucra la combinación del Eje y el Restablecer.

Dirección = Eje + Restablecer

Exploramos las opciones de Eje (Axis) en el primer video sobre Cálculos Visuales en el Lenguaje DAX que publicamos, el cual puedes estudiar aquí.

¿Qué es Restablecer en Lenguaje DAX?

El restablecimiento nos permite seguir el patrón de movimiento dictado por el Eje (Axis), pero con la capacidad de reiniciar el cálculo en puntos específicos, es decir, cada vez que ocurre una transición de ciertos valores. Por ejemplo, en el Gif representamos conceptualmente la idea de restablecer; con cada cambio de color en la flecha se ilustra que el cálculo se resetea, que en particular sería acumulado desde el principio del trimestre:

Representación Conceptual de Restablecer

Enumeraciones para Restablecer

Disponemos de tres opciones específicas para configurar el reinicio del cálculo, que son: HIGHESTPARENT, LOWESTPARENT, y NONE. Para comprender estas opciones de la mejor manera posible, consideremos la siguiente imagen.

Esta ilustración muestra la jerarquía de campos: Año > Trimestre > Mes > Día.

Campos
  • HIGHESTPARENT: Esta opción restablece el cálculo al nivel más alto de la jerarquía, en nuestro ejemplo sería al nivel de Año.
  • LOWESTPARENT: Con esta configuración, el restablece se efectúa al nivel más bajo disponible antes de llegar al detalle final, que en el ejemplo sería Mes.
  • NONE: Al elegir esta opción, no se realiza ningún restablece en la jerarquía, permitiendo que el cálculo continúe sin interrupciones a través de todos los niveles. Puede verse también como aplicar el cambio en detalles más fino, lo cual no genera restablecimiento.

Highestparent

Si nuestro objetivo es obtener un acumulado que comience desde el inicio de cada año, es decir, que se reinicie con cada cambio de año, deberíamos configurar nuestro cálculo para utilizar la opción HIGHESTPARENT, una forma de escribir la expresión para el cálculo visual, sería:

                1 | YTD Ingresos =2 | RUNNINGSUM ( [Ingresos], , , HIGHESTPARENT )            
lenguaje DAX Logo Cartas DAX

El resultado hace palpable el acumulado desde el principio del año:

YTD Ingresos con Cálculos Visuales DAX

La razón por la que hemos dejado tres comas (,) seguidas sin nada en el intermedio, lo cual puede parecer inusual a primera vista, es porque estamos utilizando los valores por defecto para los parámetros intermedios hasta llegar al parámetro de Restablecer en Lenguaje DAX. Para entender mejor este enfoque, recordemos la sintaxis de la función RUNNINGSUM, la cual es:

                1 | RUNNINGSUM ( <Expresion>, [Eje], [Espacios en Blanco], [Restablecer] )            
lenguaje DAX Logo Cartas DAX

Como podemos observar en la sintaxis de la función RUNNINGSUM, el parámetro Restablecer se encuentra en la cuarta posición. Este diseño explica por qué colocamos comas sucesivas para avanzar hasta el parámetro deseado, lo cual se hace así porque estamos empleando los valores por defecto para los parámetros anteriores (Eje y Espacios en Blanco). Sin embargo, si necesitáramos especificar un valor diferente a las opciones por defecto de esos parámetro Restablecer, lo podemos hacer sin mayor problema, una expresión de ejemplo se vería algo así:

                1 | AcumZigZagFirstHiPa =2 | RUNNINGSUM ( 3 |     [Ingresos], 4 |     ROWS COLUMNS, 5 |     FIRST, 6 |     HIGHESTPARENT  7 | )            
lenguaje DAX Logo Cartas DAX

Sintaxis Acortada

Sin embargo, en el Lenguaje DAX, es posible acceder directamente al parámetro Restablecer sin tener que poner las comas (,) intermedias para alcanzar el parámetro Restablecer, por ejemplo, el Acunado desde el principio del año (YTD Ingresos) se puede escribir tan sólo así:

                1 | AcumShort=2 | RUNNINGSUM ( [Ingresos],  HIGHESTPARENT  )            
lenguaje DAX Logo Cartas DAX

Lowestparent

Realizar el acumulado desde el inicio del Mes, es decir, que se reinicie con cada cambio de Mes, es sencillo si utilizamos la opción LOWESTPARENT. Esto se logra de la siguiente manera:

                1 | MTD Ingresos =2 | RUNNINGSUM ( [Ingresos],  LOWESTPARENT)            
lenguaje DAX Logo Cartas DAX

El resultado se vería así:

MTD Ingresos con Cálculos Visuales DAX

Pero …

¿Qué sucede si necesitamos calcular el acumulado desde el inicio del trimestre?

En la jerarquía de campos establecida para los ejemplos que estamos siguiendo, no existe una opción en al enumeración específicamente para este propósito, como podría ser un “SECONDHIGHESTPARENT” o algo similar. Entonces, ¿qué podemos hacer en estos casos?

Restablecer en Lenguaje DAX en Nivel N-Ésimo

Resulta que el parámetro Restablecer en el Lenguaje DAX ofrece más opciones que las simples enumeraciones. De hecho, la realidad de este parámetro es que acepta un número entero.

El parámetro Restablecer (RESET) permite introducir un número entero, positivo o negativo, para indicar por posición del campo que se desea referenciar al reiniciar el cálculo. De esta manera, cuando el valor de dicho campo cambie, el cálculo se restablecerá.

El valor puede ser positivo, tomando el número 1 para el campo más alto en la jerarquía de campos, correspondiente a HIGHESTPARENT. El número 2 indicaría el segundo nivel o el segundo campo más alto en la jerarquía, y así sucesivamente.

El valor también puede ser negativo, donde -1 representa el campo más bajo en la jerarquía de campos, equivalente a LOWESTERPARENT. Por tanto, -2 indicaría el segundo campo más “pequeño” en la jerarquía, y así sucesivamente.

El número 0 representa el campo base en la jerarquía de campos, que se utiliza para reiniciar el cálculo, equivalente NONE.

Aquí hay una tabla para resumir las enumeraciones y sus valores enteros correspondientes:

Enumeraciones del Parámetro Restablecer en Lenguaje DAX

Detente un momento para ver y analizar a profundidad la siguiente imagen para interiorizar el parámetro Restablecer en el lenguaje DAX, con números enteros positivos y negativos.

Restablecer en Lenguaje DAX con Números Enteros

Por lo tanto, realizar un acumulado desde el principio del trimestre sería algo tan sencillo como:

                1 | QTD Ingresos =2 | RUNNINGSUM ( [Ingresos],  2 )            
lenguaje DAX Logo Cartas DAX

El resultado se ve así:

QTD Ingresos con Cálculos Visuales en Lenguaje DAX

Esto nos permite ver cómo realizar acumulados, incluso desde el principio de semestre, cuatrimestres, quincenas, etc., de manera extremadamente sencillo con cálculos visuales en el lenguaje DAX. Simplemente es cuestión de especificar el valor entero correspondiente a la jerarquía de campos deseada. Por supuesto, esto requiere que dispongamos de dichos campos en nuestra dimensión de Fechas, para luego usar en el objeto visual así pueda ser referenciado como campos visual, pero la elaboración de una dimensión de fechas bien estructurada es un tema aparte.

Conclusiones

El parámetro Restablecer introduce una notable flexibilidad al lenguaje DAX, permitiendo ajustes precisos en los cálculos al momento preciso. Ofrece múltiples opciones, desde reiniciar en el nivel más alto o más bajo de una jerarquía hasta mantener el cálculo sin reinicio, siendo esta última la configuración por defecto. En escenarios con jerarquías complejas, la habilidad de especificar el punto de reinicio mediante números enteros, positivos o negativos, optimiza la adaptabilidad de los cálculos a la estructura de los datos.

Actualmente, se extraña la posibilidad de reiniciar los cálculos por nombre en vez de por posición, una característica que podría simplificar aún más la personalización de los análisis. Sin embargo, considerando que esta función está en sus fases iniciales, es de esperar que futuras actualizaciones amplíen sus capacidades, mejorando sustancialmente la experiencia de los cálculos visuales en Lenguaje DAX.

Icono

Parámetro Restablecer en Cálculos Visuales

1 archivo(s) 850.06 KB
Descargar
Share
4

You also might be interested in

Desvelando el Power Query No Documentado: List.ReplaceValue en Lenguaje M

Nov 14, 2023

Descubre los secretos ocultos de Power Query con nuestro artículo sobre List.ReplaceValue en Lenguaje M. Sumérgete en un mundo de posibilidades no documentadas y aprende a transformar tus datos como nunca antes. ¡Un viaje fascinante te espera!

¿Cómo ha influido Excel en la evolución del proceso de análisis de datos?

Oct 10, 2023

Explora la influencia de Excel en la evolución del análisis de datos y su papel en la era de la Inteligencia Artificial. Desde sus inicios en la década de 1980 hasta su adaptación con la IA.

Rompiendo Barreras: Vista de Consultas DAX con Parámetros Dinámicos de Power Query

Nov 27, 2023

Explora el poder de Power BI con "Consultas DAX con Parámetros Dinámicos". Descubre cómo transformar tus análisis y reportes con técnicas avanzadas y una funcionalidad adaptable.

Nuevo Mensaje!

No estamos disponibles en estos momentos, por favor déjanos un mensaje, te responderemos lo antes posible, ¡Gracias!

Envíar Mensaje
Academia de Power Skill ¡Quiero ir Ahora!

Información de Contacto

  • Power Skill
  • Coworking ocasional: HubBog
  • (+57) 313 353 47 56
  • excelfreebymcs@gmail.com
  • https://powerskill.tech/

Social Icons Widget

Copyright © 2023 - 2025 | Power Skill & Power Skills • Todos los derechos reservados.

  • Blog
  • Productos
    • Cursos
    • Libros
    • Apps y Plugins
  • Academia
    • Ir a la Academia
    • Membresía Power Elite
    • Próximos Lanzamientos