Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
Mis datos:
PersonId | NombredeServicio | Año | SemanaNr | Día laborable | Pausa |
1 | Papel | 2021 | 50 | Lunes | Falso |
1 | Papel | 2021 | 50 | Martes | Falso |
1 | Madera | 2021 | 51 | Lunes | Verdadero |
1 | Madera | 2021 | 51 | Martes | Verdadero |
2 | Papel | 2022 | 4 | Lunes | Falso |
3 | Tomate | 2022 | 2 | Lunes | Verdadero |
3 | Tomate | 2022 | 2 | Martes | Falso |
3 | Tomate | 2022 | 3 | Lunes | Falso |
3 | Tomate | 2022 | 3 | Martes | Falso |
Entonces, necesito encontrar dos cosas para obtener el resultado que necesito.
Si A = 2 y B = Verdadero, entonces la persona recibe una factura (Facturada = 1 más 0)
Significado, para la tabla anterior:
PersonId | ServiceHame | Año | SemanaNr | Facturado (medida) |
1 | Papel | 2021 | 50 | 1 |
1 | Madera | 2021 | 51 | 0 (2 veces verdadero) |
2 | Papel | 2022 | 4 | 0 (sólo 1 fila) |
3 | Tomate | 2022 | 2 | 1 |
3 | Tomate | 2022 | 3 | 1 |
Me encantaría que esto funcionara en una medida, ya que estoy trabajando con un conjunto de datos PBI.
¿Alguien puede guiarme en la dirección correcta?
Solved! Go to Solution.
@grggmrtn
¿Puede probar esta medida, por favor:
Billed =
VAR __PAUSE = VALUES( Table2[Pause] )
RETURN
IF (
COUNTROWS(Table2) = 2 && FALSE() IN __PAUSE ,
1,
0
)
@grggmrtn
¿Puede probar esta medida, por favor:
Billed =
VAR __PAUSE = VALUES( Table2[Pause] )
RETURN
IF (
COUNTROWS(Table2) = 2 && FALSE() IN __PAUSE ,
1,
0
)
¡Estoy muy impresionado! Eso fue MUCHO más fácil de lo que había imaginado, y todavía no estoy seguro de por qué está funcionando, pero es 😉
¿Hay alguna manera de hacer esto con un RESUMEN en lugar de una tabla "física" real? Mis datos, en realidad, se componen de una tabla de hechos sin hechos y un montón de dimensiones ...
@grggmrtn
¡Me alegro de que haya resuelto su problema!
¿Cómo funciona?
VALUES captura los valores actualmente visibles de la columna Pause y almacena en __PAUSE tabla virtual, la condición IF comprueba si hay dos filas en la tabla y, mediante el operador IN, también comprueba si existe el valor FALSE() dentro de __PAUSE tabla, luego devuelve 1 else 0
Espero que haya sido claro o te haya confundido 🙂
Con respecto a su 2ª pregunta, sí, puede realizar esto usando una tabla virtual también, depende del tipo de modelo y tablas involucradas.
Sí, estoy teniendo grandes problemas para conseguirlo virtual - La medida que realmente llegué a TRABAJAR (pero dar resultados incorrectos fue
Afregning =
VAR Pause = VALUES(FACT_Indsatser[PauseFlag])
VAR Tab = COUNTROWS(
CALCULATETABLE(
SUMMARIZE(
FACT,
Person[PersonId],
Dato[YearWeek],
Dato[WeekdayName],
Department[DepartmentName],
Service[SerciceName],
FACT[Pause]),
Dato[Ugedagnavn] = "Mandag" || Dato[Ugedagnavn] = "Tirsdag" && FALSE() IN Pause
)
)
RETURN
IF(Tab = 2, 1, 0)
(La parte CALCULATETABLE es lo que funcionó para mí, y me dio los valores correctos antes, cuando la usé para crear una tabla "física" real)
Parece que gran parte del problema PODRÍA ser que la tabla calculada no se filtra con los filtros que he puesto en las dimensiones reales.
También podría ser que no tenga idea de lo que estoy haciendo cuando se trata de mesas virtuales ...
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!
Check out the February 2025 Power BI update to learn about new features.