Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
He escrito estos dos conjuntos de códigos. ¿Alguien puede decirme en un lenguaje sencillo cómo se evalúan estos dos? La segunda versión me da la respuesta deseada. Mi comprensión del segundo es la siguiente:
SUMX abre el contexto de fila sobre la tabla producida como salida de FILTER. A continuación, SUMX evalúa VAL en cada fila de la tabla de salida. CALCULATE elimina el filtro de fecha para que SUMX evalúe todas las fechas disponibles.
Estoy confundido ¿por qué el primero no está dando el mismo resultado? El primer código DAX se evalúa como si no se estuviera aplicando Removefilter.
AP = CALCULATE(
SUM('Net Cash Position'[Val])
,REMOVEFILTERS('Date')
,FILTER('Net Cash Position'
,'Net Cash Position'[Metric] = "Accounts Payable"
)
)
AP = CALCULATE(
SUMX(
FILTER(
'Net Cash Position'
,'Net Cash Position'[Metric] = "Accounts Payable"
)
,'Net Cash Position'[Val]
)
,REMOVEFILTERS('Date')
)
En el primer ejemplo, REMOVEFILTERS no se está aplicando a la función FILTER, tanto ella como FILTER se aplican solo a la función SUM.
En el segundo ejemplo, debido a que FILTER está dentro del SUMX, está recogiendo el contexto que incluye los REMOVEFILTERS.
En una función CALCULATE, los filtros que se aplican al mismo nivel, como en el primer ejemplo, no se aplican entre sí, simplemente se agregan al contexto del filtro que se utiliza para el cálculo principal.
Gracias por la respuesta. Esa explicación ayuda, pero tengo una pregunta de seguimiento con respecto al ejemplo de código 1.
@johnt75 escribió:En el primer ejemplo, REMOVEFILTERS no se está aplicando a la función FILTER, tanto ella como FILTER se aplican solo a la función SUM.
En el segundo ejemplo, debido a que FILTER está dentro del SUMX, está recogiendo el contexto que incluye los REMOVEFILTERS.
En una función CALCULATE, los filtros que se aplican al mismo nivel, como en el primer ejemplo, no se aplican entre sí, simplemente se agregan al contexto del filtro que se utiliza para el cálculo principal.
Teniendo en cuenta este aspecto de la función CALCULATE, en el ejemplo de código 1, REMOVEFILTER eliminará el filtro de fecha y FILTER obtendrá las filas sobre las que quiero hacer la suma. Sé que esta interpretación del código es errónea. ¿Puedes decirme qué pasa aquí?
FILTER recuperará las filas que coincidan con "Cuentas por pagar" con el contexto de filtro existente en su lugar, por lo que cualquier filtro en la tabla de fechas también estará activo. Por lo tanto, solo devolverá filas que coincidan con Cuentas por pagar y que coincidan con los filtros de la tabla de fechas.
Cuando se llama a REMOVEFILTERS, realmente no hay nada que hacer, ya que todos los filtros de fecha ya se han aplicado.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!
Check out the February 2025 Power BI update to learn about new features.