Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
¡Hola!
Soy bastante nuevo en Power BI. Tengo dos mesas. Uno para grupos y otro para cheques.
Tabla "grupos":
group_id | StartCount |
1 | 16 |
2 | 32 |
Tabla "comprobaciones":
group_id | extraviado | Timestamp |
1 | 0 | 10.10.2021 |
1 | 1 | 11.10.2021 |
1 | 0 | 12.10.2021 |
1 | 1 | 13.10.2021 |
1 | 2 | 14.10.2021 |
2 | 1 | 10.10.2021 |
2 | 0 | 11.10.2021 |
2 | 1 | 12.10.2021 |
2 | 2 | 13.10.2021 |
2 | 0 | 14.10.2021 |
... | ... | ... |
Quiero agregar otra columna a "cheques" que me da el StartCount de la tabla "grupos" menos el total "perdido" hasta ese momento. Así:
group_id | extraviado | Timestamp | totalCount | Explicación |
1 | 0 | 10.10.2021 | 16 | <- Dado que se perdió 0 en esta comprobación, el recuento es StartCount |
1 | 1 | 11.10.2021 | 15 | <- 15 porque: último totalConteo menos esta pérdida = 15 |
1 | 0 | 12.10.2021 | 15 | <- 15 porque: el último recuento total menos 0 sigue siendo 15 |
1 | 1 | 13.10.2021 | 14 | <- 14 = último totalConteo - 1 |
1 | 2 | 14.10.2021 | 12 | |
2 | 1 | 10.10.2021 | 31 | <- Este grupo tiene inicioConteo de 32 (pero 1 se pierde aquí) |
2 | 0 | 11.10.2021 | 31 |
|
2 | 1 | 12.10.2021 | 30 |
|
2 | 2 | 13.10.2021 | 28 |
|
2 | 0 | 14.10.2021 | 28 |
|
... | ... | ... |
|
|
¿Cómo calculo esta fórmula al agregar una nueva columna en el editor de datos?
¡Gracias!
Solved! Go to Solution.
Pruebe esta expresión en su lugar.
NuevaColumna =
VAR startamt =
RELACIONADO ( Grupos[StartCount] )
VAR thistimestamp = Comprobaciones[marca de tiempo]
VAR losttodate =
CALCULAR (
SUMA ( Cheques[perdidos] ),
ALLEXCEPT ( Cheques, Comprobaciones[group_id] ),
Comprueba[marca de tiempo] <= thistimestamp
)
DEVOLUCIÓN
startamt - losttodate
Palmadita
Pruebe esta expresión en su lugar.
NuevaColumna =
VAR startamt =
RELACIONADO ( Grupos[StartCount] )
VAR thistimestamp = Comprobaciones[marca de tiempo]
VAR losttodate =
CALCULAR (
SUMA ( Cheques[perdidos] ),
ALLEXCEPT ( Cheques, Comprobaciones[group_id] ),
Comprueba[marca de tiempo] <= thistimestamp
)
DEVOLUCIÓN
startamt - losttodate
Palmadita
¡Tú eres el hombre! Esto funciona muy bien, gracias 🙂
Podría combinar las dos tablas en el editor de consultas o usar las funciones de lista para realizar una búsqueda, pero sería más fácil con una columna DAX (o mejor aún, simplemente hacerlo con una medida). Una expresión de columna que debería funcionar sería la siguiente (suponiendo que tenga una relación 1:M entre sus grupos y tablas de comprobación en la columna GroupID.
TotalCount = RELATED(Groups[StartCount]) - Cheques[Perdido]
Palmadita
¡Hola!
Gracias por la respuesta. ¡Esto casi está funcionando! El único problema es que solo resta la cuenta perdida de la misma línea, por lo que no tiene en cuenta las pérdidas anteriores. La tabla ahora se ve así:
group_id | extraviado | Timestamp | totalCount |
1 | 0 | 10.10.2021 | 16 |
1 | 1 | 11.10.2021 | 15 |
1 | 0 | 12.10.2021 | 16 (debe ser 15) |
1 | 1 | 13.10.2021 | 15 (deben ser 14) |
1 | 2 | 14.10.2021 | 14 (deben ser 12) |
2 | 1 | 10.10.2021 | 63 |
2 | 0 | 11.10.2021 | 64 (debe ser 63) |
2 | 1 | 12.10.2021 | 63 (debe ser 62) |
2 | 2 | 13.10.2021 | 62 (debe ser 60) |
2 | 0 | 14.10.2021 | 64 (debe ser 60) |
... | ... | ... |
|
Supongo que debería verse algo así como
TotalCount = RELATED(Groups[StartCount]) - SUM(Checks[Lost] donde la marca de tiempo es anterior a esta marca de tiempo) .... o algo así. No conozco bien esta sintaxis.
¿Algún consejo?