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
Anonymous
Not applicable

¿El filtro CALCULATE por fecha devuelve valores en blanco?

Hola a todos

Disculpas si esta es una pregunta básica, pero he buscado en esta página de la comunidad y no puedo encontrar una respuesta.

Estoy tratando de producir una medida de cálculo que resumirá por fecha. En la actualidad, cada fila tiene solo 1 de las dos fechas posibles, siendo una tabla de datos de fin de semana que solo se ha estado ejecutando durante dos semanas hasta ahora, pero aumentará en el tiempo. Tengo una columna de fecha, con el tipo de fecha como FECHA, en el formato dd/mm/aaaa.

Mi medida es CALCULATE(sum(table[sales], FILTER (tabla, tabla[final de semana]-dd/mm/aaaa))

En la actualidad, esto sólo devuelve un resultado en blanco - tanto en una tarjeta como en una tabla.

Quiero ser capaz de filtrar por una fecha específica por ahora - tengo en cuenta que si inserto una columna de número de semana y filtrar por esa semana entonces obtengo el resultado correcto, pero por ahora quiero saber por qué no devolverá ningún valor si intento filtrar por la fecha como se indica en la tabla.

gracias a todos de antemano

3 REPLIES 3
edhans
Super User
Super User

No necesita CALCULATE para esto. utilizar SUMX con un FILTRO, y el formato de fecha tiene que ser correcto:

Sales by Date =
SUMX(
    FILTER(
        'Table',
        'Table'[Week Ending]
            = DATE( YYYY, MM, DD)
    ),
    'Table'[Sales]
)

Tenga en cuenta que CALCULATE funcionará, pero hace algo llamado transición de contexto, que es caro y puede tener resultados inesperados. No en el ejemplo más probable, pero es mejor utilizar CALCULATE solo cuando necesite invocar la transición de contexto, y para filtrar, usar FILTER() dentro de un iterador (SUMX, AVERAGEX, COUNTX, etc.) es mucho más rápido.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting
Anonymous
Not applicable

Hola Edhans

Gracias por responder a mi pregunta - la solución que proporcionó ha funcionado.

Esperaba, para mi propio desarrollo, que pudiera proporcionar algún detalle de por qué CALCULATE no funciona en este caso? Hubiera pensado que SUMX y CALCULATE estaban esencialmente proporcionando la misma función en mi ejemplo. Mientras tanto, leeré sobre la transición de contexto, ya que el término no me es familiar.

No dije CALCULATE() no funcionaría - lo hará. Pero el uso de CALCULATE para esto es muy exagerado debido a la forma en que invoca la transición de contexto. Puedes leerlo aquí. Su libro "The Definitive Guide to DAX" tiene un par de capítulos sobre el poder de CALCULATE y al menos 15-20 páginas sobre cómo funciona la Transición de Contexto.

Así que lo evito a menos que lo necesite. Por ejemplo, dentro de ADDCOLUMNS cuando se utiliza con SUMMARIZE, casi siempre, casi siempre, necesita CALCULATE para obtener las columnas agregadas para tener los valores correctos.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

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.

Top Kudoed Authors