Fórmula DAX para el factor de asignación en diferentes niveles

Un usuario Pregunto ✅

PshemekFLK

Hola,

Estoy tratando de crear la fórmula «Factor de asignación» (última columna) que dividiría diferentes granularidades según el nivel de jerarquía:

fcst granularidad.PNG

Básicamente, para cada nivel, debe calcular la participación dentro del nivel anterior, excepto para el nivel del producto, donde se realiza una entrada manual (Granularidad 2 y 3).

Gracias.

greg_deckler

Por lo tanto, generalmente puede lograr porcentajes como ese usando algo como:

medida =

SUMA(‘Tabla'[Column]) / CALCULAR(SUMA(‘Tabla'[Column]),ALLEXCEPT(‘Tabla'[Region],’Tabla'[Distributor],’Tabla'[Product]))

Para el nivel de subproducto, por ejemplo.

Tendría que unir un montón de estos en una declaración SWITCH usando ISINSCOPE para determinar dónde se encuentra en la jerarquía.

Eso es lo más detallado que puedo obtener sin mejor información. Consulte esta publicación sobre cómo obtener una respuesta rápida a su pregunta: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

greg_deckler

Por lo tanto, generalmente puede lograr porcentajes como ese usando algo como:

medida =

SUMA(‘Tabla'[Column]) / CALCULAR(SUMA(‘Tabla'[Column]),ALLEXCEPT(‘Tabla'[Region],’Tabla'[Distributor],’Tabla'[Product]))

Para el nivel de subproducto, por ejemplo.

Tendría que unir un montón de estos en una declaración SWITCH usando ISINSCOPE para determinar dónde se encuentra en la jerarquía.

Eso es lo más detallado que puedo obtener sin mejor información. Consulte esta publicación sobre cómo obtener una respuesta rápida a su pregunta: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

PshemekFLK

En respuesta a greg_deckler

Hola de nuevo,

Gracias por recomendar la fórmula de ISINSCOPE. Me ayudó a seguir adelante con el problema que tenía, pero después de muchas horas de prueba y error con DAX, todavía no logré lograr lo que esperaba. Déjame explicarte en detalle en qué estoy trabajando.

Tengo 3 tablas de hechos:

reservaciones,

plan (nivel de subregión-producto) para «Subregión 2-1»

plan (nivel de producto de distribuidor) para «Subregión 2-10»

4 dimensiones: calendario, geografía, distribuidor, producto

Quiero asignar el presupuesto al nivel más bajo de cada tabla de dimensiones en función de las reservas reales del año anterior (para los niveles que no están incluidos en los datos del plan). A continuación se muestra la jerarquía estándar utilizada para las reservas entre todas las dimensiones:

jerarquía.PNG

La tabla de datos para el plan (nivel de subregión-producto) incluye «IG-Sub-Región-2» y «Código de familia de productos», pero no incluye «Distributor_Name_IG (+)»

La tabla de datos para el plan (nivel de producto de distribuidor) incluye todo hasta el «Código de familia de productos».

Usando diferentes granularidades y la fórmula INSCOPE logré crear una asignación parcial en el archivo pbix:

https://files.fm/u/pymrw9w8

1) La asignación del presupuesto del producto dentro de los distribuidores en la «Subregión 2-1» no es correcta. Utiliza una división del año pasado en lugar de una división de productos dentro del presupuesto de la subregión (cada distribuidor en la «Subregión 2-1» debe tener el mismo porcentaje de división). Tampoco se resume correctamente:

problema del producto.PNG

2) Los totales del presupuesto asignado no son correctos. Estaba pensando en usar HASONEVALUE o SUMMARIZE, pero ¿cómo puedo asegurarme de que los totales funcionarán en todos los niveles y también muy importante: ¿Cómo puedo asegurarme de que si elimino algunos campos de la jerarquía o los cambio, la asignación presupuestaria seguirá funcionando para todos los casos?

Emisión de totales.PNG

¡Gracias!

PshemekFLK

En respuesta a PshemekFLK

¿Alguien tiene alguna sugerencia? ¿Es demasiado complicado arreglarlo con DAX?

Gracias

Deja un comentario

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