Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
FStettler
Helper I
Helper I

Acumular valores a lo largo de las fechas con otros contextos de filtro

¡Hola!

Estoy intentando obtener una fórmula DAX que acumulará valores contados a lo largo de las fechas del calendario en un gráfico de columnas agrupadas, pero también teniendo en cuenta contextos de filtro adicionales agregados por una matriz y una segmentación.

Entre otros elementos, aquí está el modelo de datos:

Tabla: RESERVAS

Columnas: Fecha de reserva (relación activa con DATES_LOOKUP[Fechas]), Fecha de alojamiento, Categoría de habitación

Tabla: DATES_LOOKUP

Columnas: Fecha (relación activa con BOOKINGS[Booking Date])

El objeto visual en el que estoy trabajando para acumular estos valores es un gráfico de columnas agrupado con estas especificaciones

Y: P de reservas acumuladas (reservas)

X: DATES_LOOKUP (fechas)

Sin embargo, hay 2 objetos visuales que agregan contexto de filtro al gráfico de columnas agrupado:

Matriz con categoría de habitación

Fecha Segmentadora con Fecha de Alojamiento

Por lo tanto, para una categoría de habitación y una fecha de alojamiento específicas, me gustaría que el gráfico de columnas agrupado sin espacio dibujara picos, cada uno más alto que el anterior, mostrando la cantidad acumulada de reservas (o reservas) a medida que se jugaban con el tiempo.

Por ejemplo:

Sé que tengo 5 reservas que tienen fecha de alojamiento 15/8/2020 para una categoría de habitación específica.

1 hecho el 1/1/2020

1 hecho el 3/1/2020

3 hecho el 7/1/2020

El gráfico de columnas agrupadodebe mostrar un pico que representa 1 para 1/1/2020, otro que representa 2 para 3/1/2020, y otro que representa 5 para 7/1/2020, etc.

He hecho la siguiente fórmula DAX:

CALCULAR (
COUNT ( RESERVAS[Fecha de alojamiento]) ,
FILTRO ( RESERVAS , RESERVAS[Fecha de reserva]< ?MAX(BOOKINGS[Fecha de reserva]) )
Pero esto sólo muestra el número de reservas realizadas en una fecha de reserva específica, pero no las acumula, como si el argumento del filtro fuera BOOKINGS[Fecha de reserva] - MAX(BOOKINGS[Fecha de reserva]) y no <.
También he intentado usar "... FILTRO(TODOS(RESERVAS)..." Esto acumulará los valores, pero también ignorará completamente los otros 2 contextos de filtro de Matrix y Slicer.
¡Muchas gracias de antemano!
Facundo

6 REPLIES 6
mahoneypat
Employee
Employee

Yo probaría esta medida en su lugar:

CALCULAR (
COUNT ( RESERVAS[Fecha de alojamiento]) ,
ALL(BOOKINGS[Booking Date]), BOOKINGs[Booking Date]<-MAX(BOOKINGS[Booking Date]) )




Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Hola @mahoneypat agradecemos un millón por su rápida respuesta.

Me temo que no ayudó tanto, ya que ni siquiera puedo encerrarlo. Recibo este mensaje de error:

"No se puede determinar un valor único para la columna 'Fecha de reserva' en la tabla 'RESERVAS'. Esto puede suceder cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación como min, max, count o sum para obtener un único resultado."

Parece que la fórmula ALL no tomará un contexto de filtro como argumento.

Gracias de nuevo.

Hola @FStettler ,

Por favor, pruebe la siguiente medida:

Measure =

CALCULATE (

    COUNT ( BOOKINGS[Accomodation Date] ),

    FILTER (

        ALLSELECTED ( BOOKINGS ),

        BOOKINGS[Booking Date] <= MAX ( BOOKINGS[Booking Date] )

    )

)

Saludos

Dedmon Dai

@v-deddai1-msft ¡Hola otra vez!

¿Podrías explicar por qué mi DAX no funcionaba?

Quiero decir, según mi preocupación, mediante el uso de FILTER estoy creando un subconjunto de una tabla aplicando las condiciones de filtro establecidas dentro de la fórmula FILTER, que era "<".

¿Por qué sólo se comportaría como si fuera "a"?

Pero entonces ALLSELECTED() haría el trabajo?

Todavía no está claro para mí.

Muchas gracias una vez más.

Atentamente

Facundo.

@v-deddai1-msft Esto absolutamente tiene el trabajo hecho.

¡Un millón de gracias!

Facundo

Es mi culpa. Quería añadir All() a tu Filtro uno.

CALCULAR (
COUNT ( RESERVAS[Fecha de alojamiento]) ,
Filtro(ALL(BOOKINGS[Booking Date]), BOOKINGs[Booking Date]<-MAX(BOOKINGS[Booking Date]) ) ))




Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.