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.
Estimados expertos,
Cómo achive por debajo del estancamiento del caso en DAX y ninguna relación directa bewteen Tabla A , Tabla B.
Solved! Go to Solution.
@basirve Supongo que estás pensando en una columna calculada.
Si tiene dos tablas siguientes
T1
Columna1 | Valor |
A | 100 |
B | 200 |
C | No aplicable |
D | No aplicable |
T3
Columna1 | Valor |
C | 300 |
D | 400 |
a continuación, puede lograr el resultado equivalente de SQL CASE con esto mediante la creación de una columna calculada en T1 y usin LOOKUPVALUE/TREATAS/INTERSECT/CONTAINS. Ninguno de ellos tiene ninguna dependencia de relación. Asegúrese de que thet Value en las tablas bith tienen el mismo tipo de datos.
LOOKUPVALUE =
IF (
[Value] <> "Not Applicable",
[Value],
LOOKUPVALUE ( T3[Value], T3[Column1], T1[Column1] )
)
TREATAS =
IF (
[Value] <> "Not Applicable",
[Value],
CALCULATE (
CALCULATE (
MAXX ( T3, T3[Value] ),
TREATAS ( VALUES ( T1[Column1] ), T3[Column1] )
)
)
)
INTERSECT =
IF (
[Value] <> "Not Applicable",
[Value],
CALCULATE (
CALCULATE (
MAXX ( T3, T3[Value] ),
INTERSECT ( ALL ( T3[Column1] ), VALUES ( T1[Column1] ) )
)
)
)
CONTAINS =
IF (
[Value] <> "Not Applicable",
[Value],
CALCULATE (
CALCULATE (
MAXX ( T3, T3[Value] ),
FILTER (
ALL ( T3[Column1] ),
CONTAINS ( VALUES ( T1[Column1] ), T1[Column1], T3[Column1] )
)
)
)
)
El PBIX está conectado.
Hola @basirve ,
Según mi opinión, desea obtener valores basados en las condiciones de otra tabla cuando las dos tablas no tienen ninguna relación, ¿verdad?
Puede utilizar LOOKUPVALUE() como se muestra a continuación después de agregar la columna de la otra tabla:
B.Emp.ID =
CALCULATE ( ALLSELECTED ( 'B'[Emp.ID] ), FILTER ( 'B', 'B'[ID] = 'A'[ID] ) )
Column =
VAR _COL =
LOOKUPVALUE ( 'A'[B.Emp.ID], 'A'[ID], [ID] )
RETURN
IF ( [Emp.ID] IN { "NOT APPLICABLE", "UNKNOWN" }, _COL, [Emp.ID] )
O
Measure =
VAR _c =
LOOKUPVALUE ( 'A'[B.Emp.ID], 'A'[ID], MAX ( 'A'[ID] ) )
RETURN
IF (
MAX ( 'A'[Emp.ID] ) IN { "NOT APPLICABLE", "UNKNOWN" },
_c,
MAX ( 'A'[Emp.ID] )
)
Mi visualización tiene este aspecto:
¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.
Saludos
Eyelyn Qin
@basirve Supongo que estás pensando en una columna calculada.
Si tiene dos tablas siguientes
T1
Columna1 | Valor |
A | 100 |
B | 200 |
C | No aplicable |
D | No aplicable |
T3
Columna1 | Valor |
C | 300 |
D | 400 |
a continuación, puede lograr el resultado equivalente de SQL CASE con esto mediante la creación de una columna calculada en T1 y usin LOOKUPVALUE/TREATAS/INTERSECT/CONTAINS. Ninguno de ellos tiene ninguna dependencia de relación. Asegúrese de que thet Value en las tablas bith tienen el mismo tipo de datos.
LOOKUPVALUE =
IF (
[Value] <> "Not Applicable",
[Value],
LOOKUPVALUE ( T3[Value], T3[Column1], T1[Column1] )
)
TREATAS =
IF (
[Value] <> "Not Applicable",
[Value],
CALCULATE (
CALCULATE (
MAXX ( T3, T3[Value] ),
TREATAS ( VALUES ( T1[Column1] ), T3[Column1] )
)
)
)
INTERSECT =
IF (
[Value] <> "Not Applicable",
[Value],
CALCULATE (
CALCULATE (
MAXX ( T3, T3[Value] ),
INTERSECT ( ALL ( T3[Column1] ), VALUES ( T1[Column1] ) )
)
)
)
CONTAINS =
IF (
[Value] <> "Not Applicable",
[Value],
CALCULATE (
CALCULATE (
MAXX ( T3, T3[Value] ),
FILTER (
ALL ( T3[Column1] ),
CONTAINS ( VALUES ( T1[Column1] ), T1[Column1], T3[Column1] )
)
)
)
)
El PBIX está conectado.
@basirve hizo probar la solución proporcionada aquí?
@basirve
¿Puede compartir algunos datos de muestra y el resultado esperado para tener una comprensión clara de su pregunta?
Puedes guardar tus archivos en OneDrive, Google Drive o cualquier otra plataforma de uso compartido en la nube y compartir el enlace aquí.
____________________________________
¿Cómo pegar datos de muestra con su pregunta?
¿Cómo obtener respuestas a sus preguntas rápidamente?
_____________________________________
¿He respondido a tu pregunta? Marque este post como una solución, esto ayudará a otros!.
Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
por debajo de la lógica no encaja debido a ninguna relación
IF (Table1[Emp.ID] EN "NOT APPLICABLE","UNKNOWN"-,Table2[Emp.ID],Table2[Emp.ID])
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 |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |