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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
ChicagoJay
New Member

Medida simple IF

Sólo estoy aprendiendo aquí y busqué en el foro y bueno, estaba un poco abrumado por las múltiples opciones para preguntas similares, así que pensé en probar la mía. Puedo averiguar fácilmente cómo agregar una columna para hacer esto, pero al leer la recomendación sería usar una medida en su lugar, ya que no es un valor que se filtrará.

Mi mesa parece

EmpresaVentasComisionablesComisión
A100Verdad
B125Falso
B200Verdad
C225Verdad

Todo lo que quiero hacer es calcular las comisiones (Ventas * .10) cuando la columna Comisionable es "verdadera", pero también que calcula correctamente cuando se agrega en varios niveles, como el cliente que se muestra a continuación.

EmpresaComisiones
A
B
C

¡Gracias!

1 ACCEPTED SOLUTION

hola @ChicagoJay

¿es realmente tan complicado?

En primer lugar, usted debe saber que:

1. Columna de cálculo/ tabla no admite cambios dinámicos en función del filtro o la segmentación de datos.
2. La medición puede verse afectada por el filtro/slicer, por lo que puede usarlo para obtener el resultado de resumen dinámico en un objeto visual por su contexto de fila.

https://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/

En segundo lugar, podría usar esta medida simple para obtener el resultado en el contexto de la fila:

Measure = IF(SELECTEDVALUE('Table'[Commissionable]),SUM('Table'[Sales])*0.1)

Pero esto llevará un problema de medida, Ver este post sobre él
https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376

y este post:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907

Ahora tendrá que crear otra nueva medida como se muestra a continuación

m_Total 1 = 
VAR __table = SUMMARIZE('Table1',[Company],[Commissionable],"__value",[m_Single])
RETURN
SUMX(__table,[__value])

saludos

Lin

Community Support Team _ Lin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

4 REPLIES 4
amitchandak
Super User
Super User

@ChicagoJay ,

nueva mesa

resume( table, Table[Company], "Commissions", sumx( Table, if([Commissionable] á"true",.1,0)*[Ventas]))

nueva medida

sumx(summarize( table, Table[Company], "Commissions", sumx( Table, if([Commissionable] á"true",.1,0)*[Ventas])),[Comisiones])

Greg_Deckler
Super User
Super User

@ChicagoJay -

quizás:

Measure =
  VAR __Table = SUMMARIZE('Table',[Company],[Commissionable],"__Sum",SUM('Table'[Sales]))
  VAR __Table2 = ADDCOLUMNS(__Table,"__Commission",IF([Commissionable],[__Sum]*.1,0))
RETURN
  SUMX(__Table2,[__Commission])

@ 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!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Gracias Greg, ¿es realmente tan complicado? Es muy fácil hacer esto como una columna. Confío en que sepas lo que estás haciendo mientras estoy familiarizado con tu libro, así que preguntándome si tal vez no estoy haciendo la pregunta de la manera correcta. Parecería,e que la configuración de la tabla temporal sólo permitiría que esto funcionara si la agregación estaba en la empresa. ¿Qué pasa si cambia a administrador de cuentas?

esa columna de comisión que voy a tratar de calcular es algo que necesita resumirse por cualquier otro valor posible en el pivote.

hola @ChicagoJay

¿es realmente tan complicado?

En primer lugar, usted debe saber que:

1. Columna de cálculo/ tabla no admite cambios dinámicos en función del filtro o la segmentación de datos.
2. La medición puede verse afectada por el filtro/slicer, por lo que puede usarlo para obtener el resultado de resumen dinámico en un objeto visual por su contexto de fila.

https://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/

En segundo lugar, podría usar esta medida simple para obtener el resultado en el contexto de la fila:

Measure = IF(SELECTEDVALUE('Table'[Commissionable]),SUM('Table'[Sales])*0.1)

Pero esto llevará un problema de medida, Ver este post sobre él
https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376

y este post:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907

Ahora tendrá que crear otra nueva medida como se muestra a continuación

m_Total 1 = 
VAR __table = SUMMARIZE('Table1',[Company],[Commissionable],"__value",[m_Single])
RETURN
SUMX(__table,[__value])

saludos

Lin

Community Support Team _ Lin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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