es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Asignando el valor de una columna a una columna diferente en DAX.

Tengo un informe que estoy elaborando y tengo algunos problemas con él.
Básicamente, si existe un valor en el Centro de Costo 0
image

Necesito asignar ese valor a las otras columnas (por ejemplo, 10, 11, 12, 13, 20 …):
Imagen

Según estas tasas de porcentaje (La tabla es Asignación por defecto del Centro de Costo):
image

Y poner a cero esa columna del Centro de Costo 0.

Entonces, utilizando la cuenta de fila 5040 en la categoría de Descuentos, tienes un valor de $3,371:
Imagen
Imagen

La operación matemática que necesito es para todos los centros de costos, pero por ejemplo, el centro de costo 10 sería:
$1,392 (número original para el centro de costo 10) + ($3,371 * 10%)

Luego, seguiría la misma convención de asignación para cada centro de costo (por ejemplo, 10, 11, 12, 13, 20 …) y finalmente el centro de costo 0 mostraría vacío ya que se ha asignado a otros centros de costo.

Aquí está el desglose:
Imagen

En Excel:

Imagen

Aquí se simplifica, independientemente de si las cuentas asociadas (1) tienen datos, necesito que cada campo contenga el valor de búsqueda asociado, como en el ejemplo (2):
Imagen

PBI:
https://forum.enterprisedna.co/uploads/short-url/imfl4RENrOZbxpnaezeAYeII4r8.pbix

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para asignar el valor en el Centro de Costos 0 a las otras columnas basadas en los porcentajes en la tabla de Asignación de Centro de Costos Predeterminada, y establecer en cero la columna Centro de Costos 0, puedes seguir estos pasos en PowerBI:

    1. Carga los archivos de Excel que contienen los datos en PowerBI como tablas separadas.
    2. Crea una nueva tabla llamada “Asignación de Centro de Costos” seleccionando la opción “Nueva Tabla” bajo la pestaña “Modelado” e ingresando la siguiente fórmula DAX:

      Asignación de Centro de Costos = 
      ADICOLUMNAS (
         RESUMIR (
             'Asignación de Centro de Costos Predeterminada',
             'Asignación de Centro de Costos Predeterminada'[Centro de Costos],
             'Asignación de Centro de Costos Predeterminada'[Porcentaje de Asignación]
         ),
         "Porcentaje de Asignación", 'Asignación de Centro de Costos Predeterminada'[Porcentaje de Asignación] / 100
      )
      

      Esta fórmula crea una nueva tabla resumiendo la información en la tabla “Asignación de Centro de Costos Predeterminada” y agregando una nueva columna llamada “Porcentaje de Asignación” que calcula la asignación porcentual para cada centro de costos.

    3. Crea una nueva tabla llamada “Costos Asignados” seleccionando la opción “Nueva Tabla” bajo la pestaña “Modelado” e ingresando la siguiente fórmula DAX:

      Costos Asignados = 
      ADICOLUMNAS (
         'Costos',
         "Total del Centro de Costos",
             SUMX (
                 FILTRAR (
                     'Costos',
                     'Costos'[Centro de Costos] <> 0
                 ),
                 'Costos'[Monto]
             ),
             "Porcentaje de Asignación",
             SI (
                 'Costos'[Centro de Costos] = 0,
                 BLANCO (),
                 BUSCARVALOR (
                     'Asignación de Centro de Costos'[Porcentaje de Asignación],
                     'Asignación de Centro de Costos'[Centro de Costos],
                     'Costos'[Centro de Costos]
                 )
             ),
             "Monto Asignado",
             SI (
                 'Costos'[Centro de Costos] = 0,
                 BLANCO (),
                 'Costos'[Monto] * [Porcentaje de Asignación]
             )
      )
      

      Esta fórmula crea una nueva tabla agregando columnas a la tabla “Costos” que calculan el total del centro de costos, la asignación porcentual y el monto asignado para cada fila. La fórmula utiliza la función BUSCARVALOR para encontrar el porcentaje de asignación para cada centro de costos en base a la tabla “Asignación de Centro de Costos”.

    4. Crea una nueva tabla llamada “Costos Finales” seleccionando la opción “Nueva Tabla” bajo la pestaña “Modelado” e ingresando la siguiente fórmula DAX:

      Costos Finales = 
      ADICOLUMNAS (
         RESUMIR (
             'Costos Asignados',
             'Costos Asignados'[Fila Cuenta],
             'Costos Asignados'[Nombre de Cuenta]
         ),
         "Centro de Costos 10",
             SUMX (
                 FILTRAR (
                     'Costos Asignados',
                     'Costos Asignados'[Centro de Costos] = 10
                 ),
                 'Costos Asignados'[Monto Asignado]
             ),
             "Centro de Costos 11",
             SUMX (
                 FILTRAR (
                     'Costos Asignados',
                     'Costos Asignados'[Centro de Costos] = 11
                 ),
                 'Costos Asignados'[Monto Asignado]
             ),
             "Centro de Costos 12",
             SUMX (
                 FILTRAR (
                     'Costos Asignados',
                     'Costos Asignados'[Centro de Costos] = 12
                 ),
                 'Costos Asignados'[Monto Asignado]
             ),
             "Centro de Costos 13",
             SUMX (
                 FILTRAR (
                     'Costos Asignados',
                     'Costos Asignados'[Centro de Costos] = 13
                 ),
                 'Costos Asignados'[Monto Asignado]
             ),
             "Centro de Costos 20",
             SUMX (
                 FILTRAR (
                     'Costos Asignados',
                     'Costos Asignados'[Centro de Costos] = 20
                 ),
                 'Costos Asignados'[Monto Asignado]
             )
         )
      

      Esta fórmula crea una nueva tabla resumiendo la información en la tabla “Costos Asignados” y agregando columnas para cada centro de costos que muestran el monto asignado.

    5. Utiliza la tabla “Costos Finales” para crear un informe visual que muestre los costos asignados para cada fila de cuenta y nombre de cuenta.

    Siguiendo estos pasos, deberías poder asignar el valor en el Centro de Costos 0 a las otras columnas basadas en los porcentajes en la tabla de Asignación de Centro de Costos Predeterminada y establecer en cero la columna Centro de Costos 0.

Comments are closed.