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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

La tabla personalizada no funciona cuando se filtra por fecha

Hola comunidad de Power BI,

Tengo problemas con un informe que estoy tratando de crear.

Tengo 2 tablas de Calendario y Tareas.
A continuación se muestra la tabla Tareas :
Deliverable_IDTaskValueDate

1A0.830/12/2024
1B0.79/12/2024
1C0.69/12/2024
1D0.59/12/2024
2A0.89/12/2024
2B0.79/12/2024
2C0.61/12/2024
2D0.52/12/2024
1A0.53/12/2024
1B0.44/12/2024
1C0.35/12/2024
1D0.26/12/2024

Estoy creando una tabla personalizada utilizando la siguiente fórmula:

TareasFiltradas =
VAR SelectedDate = MÁXIMO('Calendario'[Fecha])
DEVOLUCIÓN
FILTRO(
TODO(Tareas),
Tareas[Fecha] <= SelectedDate
)
Quiero usar la fecha del calendario como filtro. Cuando selecciono Fecha 6/12/2024, debería mostrar todas las tareas que tienen Fecha menor que 6/12/2024.
He marcado el tipo de datos en ambas tablas. He adjuntado el archivo PBIX y excel utilizado en el informe.
Realmente agradecería si alguien puede ayudar.
Gracias



1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola @Jack00711, no es necesario crear una tabla calculada para este caso. La tabla calculada se actualiza una vez, cuando se actualiza el modelo semántico. Por lo tanto, cualquier interacción adicional con las segmentaciones no lo cambiará.

Si ya tiene un modelo de datos clásico como este, lo único que debe hacer es aplicar un filtro en la columna "Fecha" de la tabla "Calendario", filtrará la tabla de hechos en consecuencia.

Sergii24_0-1734000025388.png

A continuación, cree una medida DAX que le mostrará los datos de todos los campos seleccionados antes de la fecha actual, pero cuando se usan datos en el objeto visual de segmentación, hay una manera más fácil:

Sergii24_1-1734000171458.png

Puede encontrar un ejemplo de pbix adjunto.

¡Buena suerte con tu proyecto 🙂

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola @Jack00711 ,
Si desea filtrar dinámicamente los datos en función de la segmentación, no debe usar una tabla calculada como FilteredTasks, ya que no responde dinámicamente a las segmentaciones. En su lugar, puede lograr el comportamiento deseado de una de las siguientes maneras:

Opción 1: Agregar una medida
Puede crear una medida para usarla directamente en el objeto visual:

FilteredTaskValue = 
VAR SelectedDate = MAX('Calendar'[Date])
RETURN
SUMX(
FILTER(
Tasks,
Tasks[Date] <= SelectedDate
),
Tasks[Value]
)

A continuación, puede agregar esta medida al objeto visual de tabla o matriz, y se mostrará dinámicamente la suma de Valor para las tareas con fechas menores o iguales a la fecha seleccionada.

Opción 2: Usar un filtro de nivel visual
Si prefiere usar una columna o tabla calculada, intente aplicar un filtro de nivel visual en lugar de confiar en una tabla calculada. Por ejemplo:

  1. Use la tabla de tareas original para el objeto visual.
  2. Agregue una segmentación con Calendar[Date].
  3. En el objeto visual de tabla o matriz, establezca un filtro en Tasks[Date]:
    • Condición: tasks[Date] <= SelectedDate.

Opción 3: Modificar el DAX para la tabla calculada
Si insiste en crear una tabla calculada, puede modificar la fórmula DAX de la siguiente manera:

FilteredTasks =
VAR SelectedDate = MAX('Calendar'[Date])
RETURN
FILTER(
Tasks,
Tasks[Date] <= SelectedDate
)

A continuación, use esta tabla en los objetos visuales. Tenga en cuenta que la tabla calculada es estática y no responde a las segmentaciones de datos a menos que actualice el modelo.

Espero que la solución proporcionada funcione para usted

Si he resuelto su pregunta, considere marcar mi publicación como una solución. ¡Gracias!
Un reconocimiento siempre es apreciado, ya que ayuda a reconocer el esfuerzo y mantiene a la comunidad próspera.

Syndicate_Admin
Administrator
Administrator

Hola @Jack00711, no es necesario crear una tabla calculada para este caso. La tabla calculada se actualiza una vez, cuando se actualiza el modelo semántico. Por lo tanto, cualquier interacción adicional con las segmentaciones no lo cambiará.

Si ya tiene un modelo de datos clásico como este, lo único que debe hacer es aplicar un filtro en la columna "Fecha" de la tabla "Calendario", filtrará la tabla de hechos en consecuencia.

Sergii24_0-1734000025388.png

A continuación, cree una medida DAX que le mostrará los datos de todos los campos seleccionados antes de la fecha actual, pero cuando se usan datos en el objeto visual de segmentación, hay una manera más fácil:

Sergii24_1-1734000171458.png

Puede encontrar un ejemplo de pbix adjunto.

¡Buena suerte con tu proyecto 🙂

Syndicate_Admin
Administrator
Administrator

Las tablas calculadas solo se actualizan cuando:

-la fórmula se modifica

-la actualización de las tablas/columnas de referencia

-al actualizar

No se actualiza directamente mediante selecciones de segmentación. Los cambios en la vista de tabla pueden afectar a la vista de informe, pero no es al revés.

Syndicate_Admin
Administrator
Administrator

Hola @Jack00711 ,
Las tablas calculadas (como la tabla FilteredTasks que está creando) no se ven afectadas directamente por las segmentaciones de datos de Power BI porque las tablas calculadas se evalúan durante la actualización de datos y no de forma dinámica como medidas o objetos visuales. Esto significa que las segmentaciones no les afectarán en tiempo real.

A continuación, le indicamos cómo puede abordar el problema mediante una medida que reaccionará a las segmentaciones:

FilteredTasksMeasure =
VAR SelectedDate = SELECTEDVALUE('Calendar'[Date])
RETURN
    CALCULATE(
        COUNTROWS(Tasks),
        FILTER(
            Tasks,
            Tasks[Date] <= SelectedDate
        )
    )



Ahora puede usar esta medida en los objetos visuales y los resultados se filtrarán por la fecha seleccionada en la segmentación de datos de la tabla Calendario. Mostrará dinámicamente el número de tareas (u otras agregaciones) en función de la fecha seleccionada.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors