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

Level up your Power BI skills this month - build one visual each week and tell better stories with data! Get started

Reply
Syndicate_Admin
Administrator
Administrator

Medir el recuento de claves de informe únicas en función de los valores de otra columna

Hola

Traté de resolverlo con DAX Calculate, con FIlters y Counting Rows, sin embargo, no puedo entenderlo, incluso ChatGPT 3.5 ni Bing Chat pudieron resolver esto. Creo que esto es fácil, pero no puedo obtener una solución directa y fácil.

Tengo esta tabla de ejemplo.

Informe KeyIndexComment

A1
A2
B3
B4R1
B5R1
C6
C7Soltero
C8Múltiple
C9
C10
D11R1
D12
D13Soltero
D14
D15
E16R1
E17
E18Múltiple
E19

Quiero contar el número de claves de informe únicas que solo tienen comentarios que están en blanco o en blanco y con valor R1, lo que significa que el resultado aquí debe ser 2, ya que solo A y B tienen esta combinación de líneas que tienen valores en blanco o R1 en la columna Comentario.

C tiene espacios en blanco, pero también valores simples y múltiples en Comment colun, por lo que no debe contarse. D tiene Blank y R1, sin embargo, también Single, por lo que no debe contarse. D tiene Blanco pero también Simple, por lo que no se cuenta, ni E como tiene Blanco, R1 pero también Múltiple, por lo que no se cuenta.

¿Cuál debería ser la fórmula de medida para obtener este resultado?

¡Por favor ayuda! 🙂 Gracias

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@AutoKris Tendremos que estar de acuerdo en que las variables hacen que el DAX sea complejo. Encuentro que facilitan las cosas al permitir un estilo de codificación de arriba hacia abajo y la capacidad de depurar cosas fácilmente (especialmente usando TOCSV). Los puristas dirían que hay que usar una variable en lugar de ANTES, pero yo no soy uno de ellos. Un enfoque interesante y probablemente lo mejor que puedes hacer para meter un CALCULTE allí. ¿Me pregunto qué enfoque es más rápido a escala?

Syndicate_Admin
Administrator
Administrator

Hola @Greg_Deckler, gracias por la rápida respuesta! Su medida realmente funcionó, por cierto, la mía a continuación también funcionó sin variables 😉 complejas

La lógica de cálculo en la medida es la siguiente:

  • En primer lugar, calcule el recuento distinto de claves de informe en la tabla Dump.
  • Filtre la tabla Dump para incluir solo las filas en las que se cumplan las siguientes condiciones:
    • La clave de informe coincide con la clave de informe de la fila actual (mediante la función EARLY). Esto se hace mediante el uso de dos funciones FILTER anidadas.
    • Los comentarios están en blanco o "Razón 1".
    • No hay otros comentarios que no estén en blanco para esa clave de informe. Esto se hace comparando el recuento de todos los comentarios con el recuento de comentarios en blanco y "Motivo 1" para esa clave de informe. Si son iguales, entonces no hay otros comentarios que no estén en blanco para esa clave de informe.

Si se cumplen todas estas condiciones, la fila se incluye en la tabla filtrada y se cuenta para el recuento distinto final de claves de informe.

ReportKeyOnlyEmptyCommentOrReason1 = 
CALCULATE(
DISTINCTCOUNT(Table[Report Key]),
FILTER(
Table,
COUNTROWS(
FILTER(
Table,
Table[Report Key] = EARLIER(Table[Report Key])
&& (
Table[Comment] = BLANK()
|| Table[Comment] = "R1"
)
)
) = COUNTROWS(FILTER(Table, Table[Report Key] = EARLIER(Table[Report Key])))
)
)

Por favor, hágamelo saber si cree que esto también es correcto.

Gracias

Syndicate_Admin
Administrator
Administrator

@AutoKris Prueba esto. PBIX se adjunta debajo de la firma. Supongo que mi trabajo está a salvo de la IA por ahora ...

Measure = 
    VAR __Good = { "R1" }
    VAR __Table = FILTER( 'Table', [Comment] <> BLANK() )
    VAR __Bad = DISTINCT(SELECTCOLUMNS(FILTER( __Table, NOT( [Comment] IN __Good ) ), "__Comment", [Comment] ) )
    VAR __BadKeys = SELECTCOLUMNS( FILTER( 'Table', [Comment] IN __Bad), "__ReportKey", [Report Key] )
    VAR __GoodKeys = DISTINCT( SELECTCOLUMNS( FILTER( 'Table', NOT( [Report Key] IN __BadKeys ) ), "__Key", [Report Key] ) )
    VAR __Result = COUNTROWS( __GoodKeys )
RETURN
    __Result

Helpful resources

Announcements
Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.