Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!
Tengo esta mesa
| Id | Estado | Fecha |
| 1 | Activo | 01/01/2020 |
| 1 | Reservados | 05/01/2020 |
| 1 | Suspendido | 08/01/2020 |
| 1 | Vendido | 15/01/2020 |
| 2 | Activo | 02/01/2020 |
| 2 | Suspendido | 03/01/2020 |
| 2 | Activo | 05/01/2020 |
| 3 | Activo | 05/01/2020 |
| 4 | Activo | 06/01/2020 |
| 4 | Vendido | 08/01/2020 |
Quiero contar filas de iDes distintos donde la última fecha sea igual a "activo"
El resultado esperado es: 2 (la última fecha de estos 2 iDs tienen el estado "activo".
¿Me puedes ayudar?
Gracias
Solved! Go to Solution.
Hola @youconnect ,
Estoy entendiendo su lógica y he hecho el siguiente cálculo:
count_active_id =
var last_active_date = CALCULATE(MAX(Sheet2[date]),FILTER(ALLEXCEPT(Sheet2,Sheet2[id],Sheet2[date]),Sheet2[state]="active"))
var last_date = CALCULATE(MAX(Sheet2[date]),ALLEXCEPT(Sheet2,Sheet2[id]))
return CALCULATE(COUNTROWS(FILTER(Sheet2,last_active_date=last_date)))
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.
Esto hará lo que usted describe, pero es 1, no 2.
Latest Record Count =
VAR LatestDate =
CALCULATE(
LASTDATE('Sample Data'[Date]),
'Sample Data'[state] = "active"
)
VAR ActiveIDCount =
CALCULATE(
DISTINCTCOUNT('Sample Data'[id]),
FILTER(
'Sample Data',
'Sample Data'[Date] = LatestDate
)
)
RETURN
COALESCE(ActiveIDCount,0)
la última fecha de un elemento activo es el 6 de enero de 2020, y solo un ID tiene esa fecha.
¿Cómo vas a conseguir 2?
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingNo.
la última fecha para el id 1 es 15/01/2020 y el estado no está activo, no cuenta
última fecha para el id 2 es 05/01/2020 y el estado está activo, contar
última fecha para el id 3 es 05/01/2020 y el estado está activo, contar
la última fecha para el id 4 es 08/01/2020 y el estado no está activo, no cuenta.
Así que contar es 2
Hola @youconnect ,
Estoy entendiendo su lógica y he hecho el siguiente cálculo:
count_active_id =
var last_active_date = CALCULATE(MAX(Sheet2[date]),FILTER(ALLEXCEPT(Sheet2,Sheet2[id],Sheet2[date]),Sheet2[state]="active"))
var last_date = CALCULATE(MAX(Sheet2[date]),ALLEXCEPT(Sheet2,Sheet2[id]))
return CALCULATE(COUNTROWS(FILTER(Sheet2,last_active_date=last_date)))
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.
Gracias @V-lianl-msft funcionó como un encanto.
Otra pregunta: Si sólo quiero los registros antes del 01-01-2020 , ¿cómo hacerlo?
Sospecho que hay una manera más limpia de hacer esto, pero esto hace el truco.
Counting Measure =
VAR FirstTable =
ADDCOLUMNS (
SUMMARIZECOLUMNS ( 'Sample Data'[id] ),
"Date2", LASTDATE ( 'Sample Data'[Date] )
)
VAR CombinedTable =
NATURALINNERJOIN (
'Sample Data',
firsttable
)
VAR RowCount =
COUNTROWS (
FILTER (
FILTER (
CombinedTable,
[Date] = [Date2]
),
[state] = "active"
)
)
RETURN
COALESCE( RowCount, 0)
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI Reporting