March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hola
Tengo una sola tabla de datos que contiene fechas, varias columnas de categoría y valores. Me gustaría tener un total de ejecución de los valores de algunas de las categorías, filtrados por otras categorías e ignorando una segmentación de datos en una tercera categoría.
Los datos son más o menos como sigue (he añadido un enlace al archivo pbix real más adelante, pero esto es sólo para darle una idea):
Escenario | Fecha | Datatype | Cartera | Valor |
Bajo | 1/1/2000 | Afluencia | P1 | 100 |
Base | 3/5/2001 | Salida | P1 | -200 |
Alto | 21/7/2002 | Salida | P2 | -150 |
Bajo | 15/2/2003 | Salida | P2 | -50 |
Base | 30/4/2004 | Salida | P2 | -150 |
... | ... | ... | ... | ... |
Lo que quiero hacer es tener una matriz que muestre años a través de las columnas y escenarios en las filas con la suma desde el inicio hasta el final del año de valor en cada celda para el tipo de datos 'Salida'. La cartera se puede ignorar (es decir, se puede sumar juntas). Así que para los datos anteriores sería:
2000 | 2001 | 2002 | 2003 | 2004 | |
Bajo | -50 | ||||
Base | -200 | -150 | |||
Alto | -150 |
Tenga en cuenta las siguientes restricciones:
- No puedo tener una tabla de fechas separada, ya que está en un archivo pbix más grande y añadir que causaría problemas en otro lugar
- Necesito una segmentación de datos para Escenario en la página del informe para su uso en otros objetos visuales, así que desenciendo las interacciones con esta matriz para esa segmentación de datos.
He probado la siguiente medida, pero no hace el total hasta la fecha, sólo el total de cada año:
Cumulative_Outflow de la casa de los
CALCULATE(
SUM(Sheet1[Valor]),
FILTER(Sheet1, Sheet1[DataType] á "Outflow"),
FILTER(ALL(Sheet1[DateStamp]), Sheet1[DateStamp] <-MAX(Sheet1[DateStamp]))
)
También he intentado lo siguiente y me da el acumulativo, pero ignora el escenario (por lo que me da el mismo total acumulado para todos los escenarios en cada fila de la matriz):
Cumulative_Outflow de la casa de los
CALCULATE(
SUM(Sheet1[Valor]),
FILTER(ALLSELECTED(Sheet1), Sheet1[DataType] á "Outflow"),
FILTER(ALL(Sheet1[DateStamp]), Sheet1[DateStamp] <-MAX(Sheet1[DateStamp]))
)
Cualquier ayuda sería muy apreciada, especialmente si se da alguna explicación de por qué / cómo funciona una solución sugerida!
Un ejemplo de pbix se puede encontrar aquí:
https://drive.google.com/file/d/1tL-UdyQnXAvole02wV4JlkOkNorcqHY7/view?usp=sharing
Esperaría que los resultados mostraran algo como esto:
Gracias de antemano,
Ben
Hola @BenNorris ,
¿Podría decirme si su problema ha sido resuelto?
Si es así, acédi es la solución. Más gente se beneficiará de ello.
O usted todavía está confundido al respecto, por favor proporcione más detalles sobre su problema.
Saludos
Stephen Tao
Hola
Puede descargar mi archivo PBI desde aquí.
Espero que esto ayude.
Hola BenNorris,
También puede probar esta medida.
Cumulative_Outflow =
CALCULATE (
SUM ( Sheet1[Value] ),
FILTER (
ALLEXCEPT ( Sheet1, Sheet1[Scenario] ),
[DataType] = "Outflow"
&& [DateStamp] <= MAX ( 'Sheet1'[DateStamp] )
)
)
Saludos
Stephen Tao
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@BenNorris , Probar como
Cumulative_Outflow =
CALCULATE(
SUM(Sheet1[Value]),
FILTER(ALLSELECTED(Sheet1), Sheet1[DateStamp] <= MAX(Sheet1[DateStamp]) && Sheet1[DataType] = "Outflow" && Sheet1[Scenario] =MAX(Sheet1[Scenario])
))
Hey @amitchandak , eso es genial, gracias! Parece funcionar según sea necesario.
¿Hay alguna manera de lograr una solución que no requiera codificar de forma rígida la columna Escenario en el DAX? La razón por la que pregunto es que podría querer usar la medida en otras visualizaciones que no están filtradas por Escenario, sino tal vez por alguna otra columna (ya que este es un ejemplo simplificado de una tabla mucho más grande)?
Además, ¿podría explicar por qué mi solución original no funcionó? Estaba tratando de quitar el filtro solo para la fecha (y mantener los filtros de contexto de fila) para poder hacer mi propia suma de fecha, pero obviamente no funcionó.
Tia
Ben.