Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
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 ...
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.