The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now
Estoy trabajando en un informe covid-19 de casos sospechosos y confirmados para los contratos de mi empresa, y necesito contar la cantidad de casos para cada día, basado en LastUpdate.
Mi conjunto de datos se ve así
LastUpdate | Contrato | NombreEmpleado | Sospecha | Confirmado |
01/04/2020 | A | EmployeeA | No | No |
01/04/2020 | A | EmpleadoB | No | No |
01/04/2020 | A | EmployeeC | No | No |
01/04/2020 | B | Empleado | Sí | No |
01/04/2020 | B | EmployeeE | No | No |
01/04/2020 | C | EmployeeF | No | No |
01/04/2020 | C | EmployeeG | No | No |
01/04/2020 | C | EmpleadoH | Sí | No |
02/04/2020 | A | EmployeeA | No | No |
02/04/2020 | A | EmpleadoB | Sí | No |
02/04/2020 | A | EmployeeC | No | No |
02/04/2020 | B | Empleado | Sí | No |
02/04/2020 | B | EmployeeE | No | No |
03/04/2020 | A | EmployeeA | No | No |
03/04/2020 | A | EmpleadoB | Sí | No |
03/04/2020 | A | EmployeeC | No | No |
03/04/2020 | B | Empleado | Sí | No |
03/04/2020 | B | EmployeeE | No | No |
03/04/2020 | C | EmployeeF | No | No |
03/04/2020 | C | EmployeeG | No | No |
03/04/2020 | C | EmpleadoH | No | Sí |
04/04/2020 | B | Empleado | Sí | No |
04/04/2020 | B | EmployeeE | No | No |
04/04/2020 | C | EmployeeF | No | No |
04/04/2020 | C | EmployeeG | No | No |
04/04/2020 | C | EmpleadoH | No | Sí |
y estoy tratando de generar esto
Fecha | Sospecha | Confirmado |
01/04/2020 | 2 | 0 |
02/04/2020 | 3 | 0 |
03/04/2020 | 2 | 1 |
04/04/2020 | 2 | 1 |
No todos los contratos informan todos los días, en este caso necesito contar la última fecha que ha actualizado.
Al igual que en el 02/04, los contratos A y B notificaron 2 casos sospechosos + actualización del contrato C de 01/04 con 1 caso sospechoso.
Ahora no puedo abordar esto, ¿puedes ayudarme?
OK, este fue complicado, pero creo que lo tengo, ver PBIX adjunto, el patrón básico es:
Suspected Measure =
VAR __Date = MAX('Table'[LastUpdate])
VAR __Table =
ADDCOLUMNS(
SUMMARIZE(
FILTER(ALL('Table'),[LastUpdate]<=__Date),
[Contract],
"LastDate",MAX('Table'[LastUpdate])
),
"Suspected",COUNTROWS(FILTER(ALL('Table'),'Table'[Contract]=EARLIER([Contract]) && [LastUpdate] = [LastDate] && [Suspected]="Yes"))
)
RETURN
SUMX(FILTER(__Table,[LastDate] <= __Date),[Suspected])
Gracias Greg funcionó perfectamente!
Pero no funcionaba con filtros como pensaba... y supongo que debería haberlo mencionado en el post, lo siento.
Tengo una mesa separada con todos los contratos, con una columna de administración que utilizo en una segmentación de datos.
Así:
Contrato | Administración |
A | M1 |
B | M1 |
C | M2 |
Cuando utilizo la segmentación, en lugar de calcular el número de casos sospechosos/confirmados de esa administración, se muestra el número completo de los días en los que se han actualizado los contratos de esa administración.
¿Cómo lo cambio?
Hola @BlackBird ,
Reemplace ALL() por ALLSELECTED() en las medidas.
Suspected Measure =
VAR __Date =
MAX ( 'Table'[LastUpdate] )
VAR __Table =
ADDCOLUMNS (
SUMMARIZE (
FILTER ( ALLSELECTED ( 'Table' ), [LastUpdate] <= __Date ), ------changed
[Contract],
"LastDate", MAX ( 'Table'[LastUpdate] )
),
"Suspected", COUNTROWS (
FILTER (
ALLSELECTED ( 'Table' ), --------------changed
'Table'[Contract] = EARLIER ( [Contract] )
&& [LastUpdate] = [LastDate]
&& [Suspected] = "Yes"
)
)
)
RETURN
SUMX ( FILTER ( __Table, [LastDate] <= __Date ), [Suspected] ) + 0
Confirmed Measure =
VAR __Date =
MAX ( 'Table'[LastUpdate] )
VAR __Table =
ADDCOLUMNS (
SUMMARIZE (
FILTER ( ALLSELECTED ( 'Table' ), [LastUpdate] <= __Date ), --------changed
[Contract],
"LastDate", MAX ( 'Table'[LastUpdate] )
),
"Confirmed", COUNTROWS (
FILTER (
ALLSELECTED ( 'Table' ), --------------------------------changed
'Table'[Contract] = EARLIER ( [Contract] )
&& [LastUpdate] = [LastDate]
&& [Confirmed] = "Yes"
)
)
)
RETURN
SUMX ( FILTER ( __Table, [LastDate] <= __Date ), [Confirmed] ) + 0
Saludos
Icey
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.