Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola a todos,
Como principiante, tengo una dificultad con un conjunto de datos y una solicitud que puedo resumir como tal.
Tengo el siguiente conjunto de datos y debo recuperar el valor siguiendo estas reglas:
Si Id tiene una categoría = "CS" y "MD", devuelve el valor "CS" (excluyendo el valor MD).
De lo contrario, si no hay "CS" en la categoría para un Id, devuelva el valor "MD".
Índice | Identificación | Categoría | Valor |
1 | A | CS | 5 |
2 | A | MD | 10 |
3 | B | CS | 6 |
4 | B | otros | 11 |
5 | C | MD | 7 |
6 | C | Otro | 12 |
Tengo dificultades para averiguar cómo resolver este problema sin crear una tabla adicional, pero siento que podría ser posible, ¿no es así?
Gracias de antemano por cualquier ayuda y comentario
Hola a todos
En primer lugar, parry2k, ¡gracias por su solución!
Y @John_Foord , me complace decirle que sus necesidades se pueden realizar, podemos pasar por la MEDICIÓN para lograr sus necesidades, al pedir el valor, agrupado por ID para garantizar que no valore la visualización en una línea, sino que incluya el cálculo de este grupo.
Measure 2 =
VAR CS_Count = CALCULATE(COUNTROWS('Table'), 'Table'[Category] = "CS", ALLEXCEPT('Table', 'Table'[Id]))
VAR MD_Count = CALCULATE(COUNTROWS('Table'), 'Table'[Category] = "MD", ALLEXCEPT('Table', 'Table'[Id]))
VAR CS_Value = CALCULATE(MAX('Table'[Value]), 'Table'[Category] = "CS", ALLEXCEPT('Table', 'Table'[Id]))
VAR MD_Value = CALCULATE(MAX('Table'[Value]), 'Table'[Category] = "MD", ALLEXCEPT('Table', 'Table'[Id]))
RETURN
IF(
CS_Count >= 1 && MD_Count >= 1,
CS_Value,
IF(
CS_Count < 1,
MD_Value,
0
)
Dado que el segundo grupo, no tiene una lógica clara, lo establezco en 0 aquí, para que pueda hacer sus propios cambios si lo necesita.
Espero que mis pensamientos hayan resuelto su problema, si tiene más preguntas, siempre puede contactarme y me pondré en contacto con usted tan pronto como reciba el mensaje.
¡Espero que te ayude!
Saludos
Apoyo de la comunidad Team_ Tom Shen
Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
@John_Foord intente agregar una nueva columna usando la siguiente expresión, cambie la expresión como mejor le parezca:
New Column =
VAR __Id = 'Table (3)'[Id]
VAR __Table0 = FILTER ( ALL ( 'Table (3)' ), 'Table (3)'[Id] = __Id )
VAR __Table = SELECTCOLUMNS ( __Table0, [Category] )
VAR __Test =
IF ( "CS" IN __Table && "MD" IN __Table, "CS", IF ( NOT "CS" IN __Table, "MD", "Other" ) )
RETURN __Test