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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now

Reply
KBedor
Frequent Visitor

Ayuda con un cálculo que cambia en función de varios criterios

Necesito una forma de calcular los ingresos donde la fórmula varía en función de varios criterios de diferentes columnas en la tabla Unidad de negocio. El cálculo utiliza una combinación diferente de clasificaciones de ingresos de categorías contables. Las combinaciones son:

Variaciones de cálculo de ingresos:

  1. SUM (R010 + R030) *-1
  2. B) SUMA (R010 *-1)
  3. C) SUM (R020 + R030) *-1
  4. D) SUMA (R030 *-1)
  5. E) SUM (R010 + R020 + R030) *-1

En su mayor parte, los cálculos se pueden aplicar en el nivel más granular de la jerarquía de tablas de unidades de negocio. Vea la tabla siguiente, por ejemplo:

Tenga en cuenta que GHI tiene 2 filas utilizando el mismo subconjunto por lo que finance puede mostrar 2 tipos de ingresos y JKL 1 utilizó una segunda vez para aplicar los ingresos de transferencia a otra unidad.

Unidad de Negocio

Subunidad

Cantidad

Abc

ABC 1

Ingresos A

Abc

ABC 2

Ingresos B

Abc

ABC 3

Ingresos C

Def

Def

Ingresos A

Ghi

GHI 1

Ingresos B

Ghi

GHI 1*

Ingresos D

Jkl

JKL 1

Ingresos B

Otro

JKL 1*

Ingresos D

Otro

Otro

Ingresos E

Ni siquiera estoy seguro de que esto se pueda hacer. Cualquier sugerencia sería muy apreciada.

4 REPLIES 4
v-gizhi-msft
Community Support
Community Support

Hola

Según su descripción, creo una muestra para probar:

2.PNG3.PNG

A continuación, pruebe esta medida:

Measure = 
var R010 = CALCULATE(SUM(R[Value]),FILTER(R,R[ID]="R010"))
var R020 = CALCULATE(SUM(R[Value]),FILTER(R,R[ID]="R020"))
var R030 = CALCULATE(SUM(R[Value]),FILTER(R,R[ID]="R030"))
return
SWITCH(MAX('Table'[Amount]),"Revenue A",(R010+R020)*-1,"Revenue B",R010*-1,"Revenue C",R020+R030,"Revenue D",R030*-1,"Revenue E",(R010+R020+R030)*-1)

El resultado muestra:

5.PNG

Aquí está mi archivo pbix de prueba:

pbix

Espero que esto ayude.

Saludos

Giotto Zhi

tctrout
Resolver III
Resolver III

No tengo una respuesta directa, pero puedo señalarte en la dirección correcta.

Necesitas una columna de clave, voy a asumir que es tu columna Sub Unidad.

Cree un objeto visual de tabla que muestre el valor de clave identificado anteriormente, estoy asumiendo Sub unidad.

Utilice el comando Switch() para evaluar la clave y ejecutar la medida deseada creada anteriormente.

Psuedo DAX de concepto:

DynamicSwithcMeasure ?

var KeyColumn á SELECTEDVALUE(Table[KeyField]

var Measure1 - SUM (R010 + R030) *-1

var Measure2 - SUM (R010 *-1)

var Measure3 - SUM (R020 + R030) *-1

var Measure4 - SUM (R030 *-1)

var Measure5 - SUM (R010 + R020 + R030) *-1

devolución

SWITCH(KeyColumn

,"ABC 1" , Medida1

,"ABC 2", Medida2

,"ABC3", Medida 3

.... etc continuar patttern

,0)

Tenga en cuenta que esto creará un proceso iterativo y hacer esto en conjuntos de datos pequeños es ideal. Si los datos son grandes, supervise la desesperación del rendimiento.

Esto me lleva la mayor parte del camino. El desafío es que la medida se puede aplicar a la misma clave, subunidad en mi ejemplo, de dos maneras diferentes. La combinación de subunidad y medida determina cómo se acumula el valor devuelto en la jerarquía. Esto se debe a la forma en que la financiación asigna diferentes tipos de ingresos a diferentes P&L para estados financieros.

Creé una tabla que básicamente replica la estructura de la organización, agregué filas para que las subunidades se acumularan a diferentes P&L, luego agregué una columna de índice y una columna que indica qué cálculo usar. Uní esta tabla a la tabla de hechos por la subunidad – la única opción. Es un filtro cruzado bidireccional con muchas a muchas relaciones.

Cuando pruebo mi medida en un objeto visual de matriz, solo muestra los totales de algunas filas en el nivel más alto de la jerarquía, las que no tienen más de un cálculo para una subunidad. Cuando desglosar hasta el siguiente nivel, es correcto, aunque preferiría también ver filas en este nivel si es el valor es 0. Estoy completamente atascado. Desafortunadamente, esta es una medida base, crítica para que todo lo demás sea correcto en el panel.

Debería haber sido más concreto, @tctrout su sugerencia está muy cerca.

Helpful resources

Announcements
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

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

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

October NL Carousel

Fabric Community Update - October 2024

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

Top Solution Authors