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
Me metiendo en problemas con éste. He publicado sobre un problema similar antes, así que lo vincularé en la parte inferior.
Quiero crear una medida (o columna) que calcule el número de personas donde se cumple una condición y donde hayan cumplido previamente una condición separada. También quiero poder agrupar los resultados por DateTime.
Tengo algunos datos ficticios 'Tabla'
FechaTime | identificación | Status_A | entrada | salida |
25/10/2020 14:25 | 1001 | A | ||
29/10/2020 14:25 | 1001 | 1 | 0 | |
1/12/2020 15:30 | 1002 | 1 | 0 | |
5/02/2021 12:00 | 1001 | 0 | 1 | |
15/04/2021 21:45 | 1002 | 0 | 1 |
Por lo tanto, en la lógica aproximada / código que quiero
Pensé que la forma más sencilla de hacerlo sería usar un VAR temp_table, similar a un CTE en SQL, agregando la cláusula - si 'Table'[ID] = 'temp_table' ID cuando temp_table = FILTER('Tabla', 'Tabla'[Status_A] = "A")
identificación | Status_A |
1001 | A |
así que...
Measure =
VAR select_id = SELECTEDVALUE('Table'[ID])
VAR temp_table = FILTER('Table', 'Table'[Status_A] = "A")
RETURN
IF(
CONTAINS(FILTER('Table', 'Table'[Status_A] = "A"), 'Table'[ID], ELECTEDVALUE('Table'[ID])),
CALCULATE(
DISTINCTCOUNT('Table'[ID]),
'Table'[Exit] = 1),
BLANK()
)
Mi resultado esperado es 1.
Hay 1 ID que ha tenido previamente un Status_A = A y tiene EXIT = 1.
Este registro tiene un ID 1001 y ocurrió en el 5/02/2021 12:00.
Mi resultado real es BLANK
Como Jihwan_Kim señalado el usuario, puedo obtener 1 sumando mi medida:
SUMX(VALUES('Table'[ID]), [Measure])
Pero esto no es capaz de ser agrupado por DateTime.
Publicación anterior:
https://community.powerbi.com/t5/Desktop/DISTINCTCOUNT-of-ID-WHERE-a-previous-condition-is-TRUE/m-p/...
Problemas similares:
https://community.powerbi.com/t5/Desktop/DAX-query-to-compare-a-value-in-one-table-to-see-if-it-exis...
https://community.powerbi.com/t5/Desktop/INNER-JOIN/m-p/258597
Solved! Go to Solution.
Sí, puede agregar una columna a la tabla para asignar el DateTime correcto a cada fila para el identificador como este.
Exit DateTime =
CALCULATE (
MAX ( 'Table'[Date] ),
ALLEXCEPT ( 'Table', 'Table'[ID] ),
'Table'[Exit] = 1
)
A continuación, utilice esa columna para agrupar la medida.
Sí, puede agregar una columna a la tabla para asignar el DateTime correcto a cada fila para el identificador como este.
Exit DateTime =
CALCULATE (
MAX ( 'Table'[Date] ),
ALLEXCEPT ( 'Table', 'Table'[ID] ),
'Table'[Exit] = 1
)
A continuación, utilice esa columna para agrupar la medida.
Bien, pero las filas Estado A y Salir tienen una fecha y hora diferentes para el mismo identificador. ¿Cómo eliges por cuál deben agruparse?
FechaTime | identificación | Status_A | entrada | salida |
25/10/2020 14:25 | 1001 | A | ||
29/10/2020 14:25 | 1001 | 1 | 0 | |
5/2/2021 12:00 | 1001 | 0 | 1 |
Buen punto.
Quiero saber el número de identificaciones que salen (Exit = 1) que alguna vez tuvieron un Status_A = A en el momento de la salida.
Si me ayudas a articular esto sería mucho más apreturado 🙂
¿No puedes publicar la solución debido a las inundaciones posteriores? Voy a probar una foto
No estoy seguro de entender lo que está buscando, pero ¿algo así funcionaría?
Measure =
VAR _Entry = CALCULATETABLE(VALUES('Table'[ID]),'Table'[Entry] = 1)
VAR _Status = CALCULATETABLE(VALUES('Table'[ID]),'Table'[Status] = "A")
VAR _Combine = INTERSECT(_Entry,_Status)
RETURN
COUNTROWS(_Combine)
Parece que la medida es correcta, pero no se puede agrupar antes de la fecha
Cuando dices agrupado por fecha no estoy seguro de lo que quieres decir. ¿Puedes explicarlo?
arrepentido. Así que la tabla original es por DateTime. Mi resultado esperado es
Quiero saber el cálculo (DISTICTCOUNT del ID) por fecha (DateTime)
@moosepng, prueba una medida como
calculate(distinctcount(Table[ID]), filter(Table, Table[ID] = calculate(max(Table[ID] ), filter(allselected(table), table[ID] = max(Table[ID]) && 'Table'[Status_A] = "A"))
&& Tabla[Salida] =1))
Obras, pero no total y no se pueden agrupar antes de la fecha
Covering 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 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |