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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Agregar datos presupuestarios desde la hoja de cálculo de Excel y mostrarlos con datos reales de tablas de base de datos

Tengo una hoja de cálculo con una lista de datos de presupuesto de entrada manual que debe ser utilizado por varias tablas de una base de datos. Tengo una tabla de calendario que se vincula a cada tabla de base de datos y el calendario también se vincula a la tabla de presupuesto de hoja de cálculo de Excel. La tabla de calendario actúa como un vínculo mutuo entre ellos.

Este es un ejemplo de la tabla de calendario

FechaAñoMesDíaFiscalYearNumberFiscalYearDisplayFiscalMonthNombre del mes fiscal
01/05/20212021Mayo12020Año fiscal 20-2112Mayo
01/06/20212021Junio12021Año fiscal 21-221Junio
01/07/20212021Julio12021Año fiscal 21-222Julio
01/08/20212021Agosto12021Año fiscal 21-223Agosto
01/09/20212021Septiembre12021Año fiscal 21-224Septiembre
01/10/20212021Octubre12021Año fiscal 21-225Octubre
01/11/20212021Noviembre12021Año fiscal 21-226Noviembre
01/12/20212021Diciembre12021Año fiscal 21-227Diciembre
01/01/20222021Enero12021Año fiscal 21-228Enero
01/02/20222021Febrero12021Año fiscal 21-229Febrero
01/03/20222021Marzo12021Año fiscal 21-2210Marzo


Creado por:

Tabla de calendario = ADDCOLUMNS(
CALENDARIO(FECHA(2003,01,01), FECHA(2025,01,01)),
"Año", AÑO([Fecha]),
"Month Year Num", CONCATENATE(YEAR([Date]), FORMAT([Date],"MMM")),
"Mes", FORMAT([Fecha], "MMM"),
"DÍA", FORMAT([Fecha], "D"),
)
FiscalYearNumber = If( Month([Date]) >= 6 , Year([Date]),Year([Date]) -1 )
FiscalYearDisplay = "FY"&right(Format([FiscalYearNumber],"0#"),2)&"-"&Right(Format([FiscalYearNumber]+1,"0#"),2)
Nombre del mes fiscal = SWITCH('Tabla de calendario'[FiscalMonth],
1, "Junio", 2, "Julio", 3, "Agosto", 4, "Septiembre", 5, "Octubre", 6, "Noviembre", 7, "Diciembre", 8, "Enero", 9, "Febrero", 10, "Marzo", 11, "Abril", 12, "Mayo")

Luego, por ejemplo, tengo una tabla de ventas que muestra todas las transacciones.
CustomerAccNoCustomerAccNameTransactionDateValorGrupo
1Nombre 101/01/202150Tipo 1
2Nombre 203/02/2021120Tipo 1
2Nombre 207/03/202144Tipo 1
4Nombre 422/03/2021123Tipo 2
2Nombre 223/03/202133Tipo 1
1Nombre 110/04/202188Tipo 1
5Nombre 511/04/2021180Tipo 3
6Nombre 611/04/202132Tipo 3
5Nombre 511/04/20215Tipo 3
Esto se vincula a la tabla de calendario en la fecha.
Luego, en mi hoja de cálculo de Excel de presupuesto, tengo una columna para SalesType1, SalesType2, SalesType3 junto con todas las demás columnas para todas las demás tablas como overheads basados en ciertos tipos, etc.... Los presupuestos son mensuales que también tienen un enlace a la tabla de calendario en la fecha

FechaPresupuestosSalesBudgetsType1SalesBudgetsType2SalesBudgetsType3
01/06/2021225025
01/07/20211511050
01/08/2021257565
01/09/20213012075
01/10/202130115100
01/11/20215110125
01/12/202110100150
01/01/20221590175

La única solución que se me ocurre ha sido crear una columna en la tabla conectada (Tabla de calendario) y tener cada columna que representa la columna de presupuesto donde el tipo de grupo = el tipo de grupo de presupuesto. Aquí hay un ejemplo

SalesBudgetType1 = CALCULATE(SUM(Budgets[SalesBudgetType1]),'Sales'[Group] = "Tipo 1")
Ahora tengo una tabla visual en Power BI con figuras reales, que se muestra para todas las filas de tipos de grupo.

AAMW01_1-1628765545517.png

En función de mis circunstancias, ¿puede ayudarme sobre cómo he vinculado los datos externos del presupuesto de Excel a las tablas de datos reales y si hay una mejor manera de mostrar los resultados, ya que la columna muestra los datos en filas, no quiero que se marque como una X. Potencialmente, necesite una instrucción ELSE 0 cuando no sea igual al tipo de grupo correcto?

Cualquier ayuda apreciada.

1 ACCEPTED SOLUTION

Gracias por su solución detallada.

Logré mostrar los datos del presupuesto como una función DAX en la tabla de ventas:

Previsión de salida de ventas = CALCULATE(
SUM('Presupuestos'[Valor]),
FILTRO('Presupuestos',
'Presupuestos'[GroupType] = MAX('Ventas'[Nombre])
)
)
No estoy muy seguro de por qué necesitaba usar MAX y por qué no podía usar 'Presupuestos'[GroupType] = 'Ventas'[Nombre].
EDITAR: ver respuesta de @v-kkf-msft que explica por qué.


De cualquier manera, esto muestra los datos correctos de la tabla de presupuestos relacionados con el tipo de grupo y la fecha.
Luego uso filtros de fecha para ver por ciertas fechas.

View solution in original post

10 REPLIES 10
Syndicate_Admin
Administrator
Administrator

@AAMW01 , Deseserga la columna de tipo en budget , obtendrá valores de fila en column say type

SalesBudgetsType1 , SalesBudgetsType2, SalesBudgetsType3

reemplace SalesBudgets con espacio vacío y obtendrá Type1, Type2 y Type3

Puede unir la tabla de grupo común ventas y presupuesto, junto con el calendario

Syndicate_Admin
Administrator
Administrator

@AAMW01

Agregar KEEPFILTERS a su medida debería restringir las líneas en las que se muestra el presupuesto $.

SalesBudgetType1 =
CALCULATE (
    SUM ( Budgets[SalesBudgetType1] ),
    KEEPFILTERS ( 'Sales'[Group] = "Type 1" )
)

La otra opción sería deseserar los datos presupuestarios, agregar el grupo como una columna y crear una tabla de grupo que podría vincularse tanto a su presupuesto como a los datos reales, de la misma manera que la tabla de fechas se vincula a ambos.

La función KeepFilters no cambia el resultado. El problema que tengo es que la tabla de transacciones de ventas no muestra fechas futuras, solo la tabla de calendario sí lo hace. Si pongo el cálculo en la tabla de ventas, no muestra ningún valor. Si pongo el cálculo en la tabla de calendario, utiliza nombres separados.

AAMW01_0-1628769594726.png

He despivoted las tablas y ahora tienen fecha, atributo y valor.

Hay @AAMW01 ,

¿Se ha resuelto su problema? Si se resuelve, por favor marque una respuesta que le sea útil.

Si el problema aún no se ha resuelto, vea si mi archivo PBIX de prueba es útil.

image.png image.png

Saludos
Winniz

No, el problema aún no se ha solucionado.

Hay 100.000 filas de datos de la tabla de ventas donde cada fila es una transacción, conectadas a la tabla de calendario para obtener la suma cada mes por tipo de grupo. Los datos presupuestarios son una suma de las cifras mensuales basadas en el tipo.


¿Cómo entraría en esa 3ª tabla de enlaces? ¿Necesito hacer columnas calculadas y cuáles son las medidas que necesito crear para calcularlas?

No puedo descargar el archivo desafortunadamente

Hay @AAMW01 ,

1. De acuerdo con su modelo, yo unpivoted tabla Presupuestos.

tempsnipff.png

2. Con el fin de crear una relación entre la columna Atributo de la tabla Presupuestos y la columna Grupo de la Tabla de Ventas,reemplacé el texto"SalesBudgetsType"en la columna Atributo con"Tipo" (nota Espacio).

image.png

tempsnipdd.png

3. Cierre el Editor de Power Query y aplique los cambios y, a continuación, cree una tabla de cálculo para conectar Presupuestos y Tabla de ventas.

Type = DISTINCT('Sales Table'[Group])

vkkfmsft_0-1629191856747.png

4. Crear relaciones entre tablas (asociar con campos del mismo color).

tempsnipgg.png

Puede mostrar el valor de ventas y presupuesto en visual.

vkkfmsft_1-1629192655814.png

Si el problema sigue sin resolverse, proporcione información detallada del error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias por su solución detallada.

Logré mostrar los datos del presupuesto como una función DAX en la tabla de ventas:

Previsión de salida de ventas = CALCULATE(
SUM('Presupuestos'[Valor]),
FILTRO('Presupuestos',
'Presupuestos'[GroupType] = MAX('Ventas'[Nombre])
)
)
No estoy muy seguro de por qué necesitaba usar MAX y por qué no podía usar 'Presupuestos'[GroupType] = 'Ventas'[Nombre].
EDITAR: ver respuesta de @v-kkf-msft que explica por qué.


De cualquier manera, esto muestra los datos correctos de la tabla de presupuestos relacionados con el tipo de grupo y la fecha.
Luego uso filtros de fecha para ver por ciertas fechas.

Hay @AAMW01 ,

La expresión 'Budgets'[GroupType] = 'Sales'[Name] tiene dos referencias de columna ('Budgets'[GroupType] y 'Sales'[Name]) que no se pueden evaluar porque la medida no proporciona un contexto de fila.

El contexto de fila está disponible en la función FILTER. Por lo tanto, debe especificar una agregación como min, max para 'Sales'[Name] para obtener un solo resultado.

También puede usar 'Presupuestos'[GroupType] = SELECTEDVALUE( 'Sales'[Nombre] ). SELECTEDVALUE devuelve el valor cuando el contexto de columnName se ha filtrado a un solo valor distinto.

Si el problema sigue sin resolverse, proporcione información detallada del error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias por la información!

Sí, estoy obteniendo los resultados correctos de mi función DAX.

Ahora deberá agregar una tabla de tipos al modelo que se vincule a ambas tablas de hechos. A continuación, en el objeto visual, extraiga el tipo de la tabla de tipos y filtrará las tablas de ventas y presupuesto de la misma manera que la tabla de fechas filtra ambas.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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