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
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:
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.
Hola
Según su descripción, creo una muestra para probar:
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:
Aquí está mi archivo pbix de prueba:
Espero que esto ayude.
Saludos
Giotto Zhi
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.
Check out the October 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.