Count Distinto donde la suma es

Un usuario Pregunto ✅

BI-Bola

Estoy tratando de obtener un recuento distinto de valores donde la suma de valores no es cero

A continuación tengo un recuento distinto básico:

Recuento distinto = CALCULATE(DISTINCTCOUNT(AccountTransactions[Segment]), transacciones de cuenta[Amount] <> 0)
¿Cómo crearía una función similar donde devuelvo un recuento distinto para «Segmento» donde la SUMA de «Cantidad» no es 0?
En aras de la claridad, a continuación se muestra una tabla de muestra.
Segmento Monto var1 var2
A 10 ejemplo aleatorio1

A

1 ejemplo 2 al azar 2
B 0 ejemplo 3 al azar 3
C 1 ejemplo 4 al azar 4
D 2 ejemplo 5 al azar 5
D 2 ejemplo 6 al azar 6
Para la tabla anterior, un recuento distinto de valores de segmento donde la SUMA de la columna de cantidad no es cero sería 3.
Quiero mostrar esta información en una tarjeta. He probado la siguiente fórmula pero no funcionará.
CALCULATE(COUNTROWS(distinct(AccountTransactions[Segment4])), FILTER(AccountTransactions, SUM(AccountTransactions[Amount])<>0))
Después de pensar un poco, me di cuenta de que esto se debe a que, si bien las filas se han reducido con «distintas», no se eliminan las líneas de «Segmento» duplicadas, ya que las columnas adicionales contienen información única para cada fila. Así que mi resultado es un valor mucho mayor.
Podría crear una tabla reflejada que solo atraviese el «Segmento» y ejecutar la fórmula en función de la relación entre eso y la tabla principal, pero quiero saber si hay otra forma.
Gracias

BI-Bola

Gracias por sus sugerencias, pero extrañamente ninguna funcionó con mi conjunto de datos. No estoy seguro de si es el tamaño del conjunto de datos o el hecho de que se está ejecutando a través de una consulta directa que causa el problema.

Para evitarlo, creé una tabla adicional a partir de la consulta principal usando una combinación de las funciones CALCULATETABLE, SUMMARIZE y FILTER y puse una tarjeta de conteo visual extrayendo datos de la nueva tabla.

BI-Bola

Gracias por sus sugerencias, pero extrañamente ninguna funcionó con mi conjunto de datos. No estoy seguro de si es el tamaño del conjunto de datos o el hecho de que se está ejecutando a través de una consulta directa que causa el problema.

Para evitarlo, creé una tabla adicional a partir de la consulta principal usando una combinación de las funciones CALCULATETABLE, SUMMARIZE y FILTER y puse una tarjeta de conteo visual extrayendo datos de la nueva tabla.

BI-Bola

He ampliado la tabla de ejemplo para que esté más en línea con mi conjunto de datos, disculpa si no quedó claro.

@V-lianl-msft

Gracias por la respuesta, pero su fórmula no parece funcionar para la tabla actualizada.

En respuesta a BI-Bola

Hola @BI-Bola,

Después de mi prueba, puedo obtener los resultados esperados.

test_count.PNG

Si mi comprensión es incorrecta, comparta el resultado que espera.

Atentamente,
Liang
Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

tan_bui

En respuesta a V-lianl-msft

Muchas gracias. He intentado esto para mi caso con conteo distinto condicional y funcionó 🙂

Anónimo

En respuesta a tan_bui

Si esto resuelve su solución, márquela como una solución para que ayude a otros y no dude en dar felicitaciones.

Gracias,

Pravin

Anónimo

En respuesta a V-lianl-msft

Hola @BI-Bola

He probado la solución que sugerí.

medida= Sumx(summerize(tabla,tabla[sagement],»Total»,suma(tabla[Amount])),Si(Total>0,1,0))

Gracias y Saludos,
Pravin Wattamwar
www.linkedin.com/in/pravin-p-wattamwar

Si resuelvo su problema, márquelo como una solución y felicítelo.

Hola @BI-Bola,

Puedes probar el DAX a continuación:

Medida = CALCULAR(CUENTAS(DISTINTAS(‘muestra'[Segment])), FILTRO (‘muestra’, ‘muestra'[Amount]<>0))
Aquí está el pbix de muestra.

Atentamente,
Liang
Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Anónimo

Crear medida

medida= Sumx(summerize(tabla,tabla[sagement],»Total»,suma(tabla[Amount]),Si(Total>0,1,0))

Gracias y Saludos,
Pravin Wattamwar
www.linkedin.com/in/pravin-p-wattamwar

Si resuelvo su problema, márquelo como una solución y felicítelo.

BI-Bola

En respuesta a Anónimo

No parece funcionar, se corrigió la ortografía de las funciones

MEDIDA = SUMX(SUMMARIZE(AccountTransactions,AccountTransactions[Segment],»Total», SUMA(TransaccionesCuenta[Amount]),Si(Total>0),1,0))
error «La sintaxis de ‘)’ es incorrecta».

Anónimo

En respuesta a BI-Bola

es mi error.

Olvidé cerrar paréntesis.

medida= Sumx(summerize(tabla,tabla[sagement],»Total»,suma(tabla[Amount])),Si(Total>0,1,0))

Gracias y Saludos,
Pravin Wattamwar
www.linkedin.com/in/pravin-p-wattamwar

Si resuelvo su problema, márquelo como una solución y felicítelo.

BI-Bola

@Anónimo

Publicación original actualizada

@vanessafvg

Busco un recuento distinto de los valores de la columna del segmento donde la suma de «Cantidad» no es igual a cero

vanessafvg

¿Quieres un recuento distinto o un recuento de filas? cuenta distinta en el segmento solo contará el segmento?

Anónimo

comparta algunos datos de muestra y el resultado esperado.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *