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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
apollo89
Helper II
Helper II

Usar medida DAX como categorías

Considere la siguiente tabla:

NombreCampoValor
AAbc-10
ADef15
BAbc-20
BDef25
CAbc15
DAbc20
DDef25
EAbc-1
EDef2

Estoy intentando crear categorías para 'Nombre' cuando el valor agregado de cada 'Nombre' es más de 0,05 veces el total de todas las categorías.

Por ejemplo, el valor total de todos es 71 y 71 * 0,05 a 3,55.

Por lo tanto, cuando el valor total de cada 'Nombre' sea mayor que 3,55, márquelo como el 'Nombre' márquelo como 'Otros'.

Resultado final:

NombreValor totalCategoría
A5A
B5B
C15C
D45D
E1Otro

Esta categoría debe ser columna, ya que tendré que colocarla como una columna en objetos visuales.

Pasos dados:

1) Construyo una medida para obtener valores agregados de 'Nombre' multipled por 0.05

Medida de categoría: CALCULATE([AMount] * 0.05,ALL('Table'[Name]))
Esto necesita ignorar cualquier filtro para 'Nombre' pero necesita adherirse a cualquier otro filtro / cortador como 'Campo'
PBI1.PNG

2) Tratando de crear una columna de esto:

Categoría: IF([Valor total] > [Medida de categoría],'Tabla'[Nombre],"Otros")

PBI2.PNG

Lo cual no es correcto.

Cualquier ayuda será apreciada.

1 ACCEPTED SOLUTION

Hola

Estas fórmulas de columna calculadas funcionan

Total for Name = =CALCULATE(SUM(Data[Value]),FILTER(data,Data[Name]=EARLIER(Data[Name])))
Total for all names = SUM(Data[Value])
Threshold = 0.05*[Total for all names]
Category = if([Total for name]>[Threshold],Data[Name],"Others")

Espero que esto ayude.

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

View solution in original post

16 REPLIES 16
barryc
Regular Visitor

¿Hay de todos modos para obtener totales por categoría (relativa o absoluta), es decir, no requerir que Name forme parte del objeto visual de la tabla?

Por ejemplo, en Método relativo para seleccionar Categoría [Nombre de categoría] en el filtro y ver

"Otros, 7"

en la vista de tabla

Es decir, el uso de una medida (que no aparece como un elemento de datos en la tabla input)

Hola

Comparta algunos datos, describa la pregunta y muestre el resultado esperado.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

https://1drv.ms/u/s!Am26UCUW42k4gd1lNr7zuQ2pCdEBlQ?e=gm0fF8

básicamente quiero mostrar los totales de resumen basados en el estado.

el estado es dinámico en función de las fechas elegidas.

por lo que cuando las fechas se establecen para mostrar una combinación de estados

decir 2 en activo-lleno y dos en activo-parcial

Quiero poder mostrar en una tabla separada (o tabla) los totales para ambos estados y hacer que eso cambie dinámicamente cuando cambian las fechas. Así que si las fechas cambian para hacer que todas las transacciones tengan el estado Futuro, entonces deberíamos tener un total para ese estado.

espero que tenga sentido (y espero que la muestra rápidamente juntada ayuda.

apollo89
Helper II
Helper II

Gracias @amitchandak y @Ashish_Mathur ! Entiendo que la función EARLIER era vital para esto. Gracias a ambos por sus esfuerzos!

De nada.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Anonymous
Not applicable

Aquí tienes 2 versiones: una utiliza un cálculo absoluto y otra que utiliza un cálculo relativo. No es posible crear columnas en ninguna tabla para que funcione. Todo lo que necesita es una mesa desconectada y algunas medidas. Este es un diseño muy flexible que creo que apreciará cuando lo vea.

Mejor

D

Ashish_Mathur
Super User
Super User

Hola

Escribir estas medidas

Total value = SUM(Data[Value])
Threshold = 0.05*CALCULATE([Total value],ALL(Data[Name]))
Measure = if(HASONEVALUE(Data[Name]),if([Total value]>=[Threshold],VALUES(Data[Name]),"Others"))

Espero que esto ayude.

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

Gracias Ashish.

Sin embargo, necesito colocar 'Medida' como una columna o una segmentación de datos en los objetos visuales de mi informe, lo que no es posible ya que es una medida. ¿Alguna otra sugerencia?

Hola

Estas fórmulas de columna calculadas funcionan

Total for Name = =CALCULATE(SUM(Data[Value]),FILTER(data,Data[Name]=EARLIER(Data[Name])))
Total for all names = SUM(Data[Value])
Threshold = 0.05*[Total for all names]
Category = if([Total for name]>[Threshold],Data[Name],"Others")

Espero que esto ayude.

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
amitchandak
Super User
Super User

@apollo89 , Crear esta como una nueva columna

Categoría columna smx(Tabla, Tabla[Valor]) * 0,05

O

Categoría columna s/smx(all(Table),Table[Value]) * 0.05

Entonces

Categoría Columna: IF([Valor total] > [Columna de categoría],'Tabla'[Nombre],"Otros")

Gracias Amit.

Esto fue cercano, pero debido a los valores negativos también presentes en mi conjunto de datos, las columnas de categoría son incorrectas. Consulte el conjunto de datos revisado en mi pregunta. Disculpas por las molestias.

@apollo89 ,

Por favor, encuentre la solución adjunta después de la firma

Gracias de nuevo Amit, sin embargo Categorías como Medidas no funcionará para mí, ya que necesito colocar las Categorías como Columnas o Segmentaciones en mis objetos visuales que no es posible con Medidas.

@apollo89 , Comprobar nueva columna de categoría

Hola

Tengo datos con ID de cliente donde cada fila representa información de transacción. Se supone que debo encontrar una transacción promedio por día para cada cliente. Hay una segmentación de datos para la fecha donde puedo elegir los últimos 30 días o los últimos 7 días. De acuerdo con las fechas elegidas, el promedio por día cambia. Si solo uso la tabla existente, existe un problema de promedio correcto. Por ejemplo, un cliente realizó 10 transacciones en solo 5 días entre los 30 días elegidos. Obtenemos un promedio aquí de 10/5 en lugar de 10/30. La única forma de resolver esto es creando una medida usando otra tabla llamada calendario, que tenga una relación de uno a muchos con la fecha de la tabla existente. Resuelve el problema.

Ahora, necesito hacer un gráfico circular con categorías como menos de 0.5 transacciones por día en promedio, menos de 1, menos de 2, más de 5, etc. ¿Cómo puedo crear tales categorías usando solo la medida "promedio por día"? Como no podemos hacer una columna en la tabla como promedio por día porque los valores promedio en la tabla no cambian con la fecha de la segmentación (como se discutió antes, por ejemplo, los últimos 30 días o los últimos 7 días). No pude encontrar la manera de hacer categorías en un gráfico circular usando solo una medida aquí. ¡Por favor, ayúdame en esto!

Greg_Deckler
Super User
Super User

En general, para usar una medida de esa manera, debe usar el truco de tabla desconectado como se muestra en este artículo: https://community.powerbi.com/t5/Community-Blog/Solving-Attendance-with-the-Disconnected-Table-Trick...


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors