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.
Hola, estoy teniendo una jugada con el conjunto de datos COVID-19 de Johns Hopkins, y tratando de averiguar cómo puedo ver el número de nuevos casos del día anterior para que pueda trazar algo como el gráfico de abajo de The Guardian.
He seguido este tutorial para obtener mi conjunto de datos, por lo que tengo una tabla grande con columnas State, Country, Date, Value.
Cada combinación Estado/País tiene una fila para cada fecha, por ejemplo: Victoria/Australia tiene una fila para cada fecha con ese total acumulado de días, al igual que Nueva Gales del Sur/Australia.
Sin embargo, no todas las filas tienen un Estado, por ejemplo: Nueva Zelanda sólo tiene país, Estado es En blanco.
Esencialmente lo que quiero hacer es agregar una nueva columna, Aumentar, y para cada fila calcular la diferencia entre "Valor" de esa fila y la fila que coincide con las columnas Estado y País, pero la fecha de días anteriores.
NOTA: THis no es código real!! Sólo una representación de lo que estoy buscando...
es decir: esto. Aumentar esto. Value - FindRow(State - this. Estado && País - esto. País y fecha - esto. Fecha - 1). Valor
No tengo idea de por dónde empezar!! Por favor, ayuda!!
FYI: No soy un analista de datos real, sólo un geek con Power BI que busca matar algún tiempo este fin de semana mientras me quedo en casa!
Solved! Go to Solution.
Hola @sanfly ,
Por favor, pruebe el DAX como abajo:
Daily cases =
VAR __CountyName = 'COVID'[County Name]
VAR __State = 'COVID'[State]
VAR __Yesterday = DATEADD(COVID[Date],-1,DAY)
VAR __TodaysCases = 'COVID'[Cases]
RETURN __TodaysCases - CALCULATE(
SUM('COVID'[Cases]) ,
FILTER(
COVID,
COVID[Date] = __Yesterday &&
COVID[County Name] = __CountyName &&
COVID[State] = __State
)
) + 0
Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @sanfly ,
Por favor, pruebe el DAX como abajo:
Daily cases =
VAR __CountyName = 'COVID'[County Name]
VAR __State = 'COVID'[State]
VAR __Yesterday = DATEADD(COVID[Date],-1,DAY)
VAR __TodaysCases = 'COVID'[Cases]
RETURN __TodaysCases - CALCULATE(
SUM('COVID'[Cases]) ,
FILTER(
COVID,
COVID[Date] = __Yesterday &&
COVID[County Name] = __CountyName &&
COVID[State] = __State
)
) + 0
Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @sanfly ,
En este caso, la mejor opción es no agregar una nueva columna, sino una medida calculada. Dado que las medidas se calculan en función del contexto si agrega el país o el estado, o el conjunto de datos completo, el cálculo se ajustará en consecuencia.
Prueba algo similar a:
Increase =
SUM ( Table[Column] )
- CALCULATE (
SUM ( Table[Column] );
FILTER ( ALL ( Table[Date] ); Table[Date] = MAX ( Table[Date] ) - 1 )
)
Reemplace las tablas y los nombres de columna por los del informe.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsCovering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |