Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don'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.

Reply
Syndicate_Admin
Administrator
Administrator

Filtrar la tabla en función del ID duplicado y en función de si las columnas contienen valor

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ónCategoríaValor
1ACS5
2AMD10
3BCS6
4Botros11

5

CMD7

6

COtro12

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

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

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.

vxingshenmsft_0-1726644722816.png

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.

Syndicate_Admin
Administrator
Administrator

@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

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors