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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

El mejor enfoque para crear imágenes de tabla

Estoy buscando entender el mejor enfoque para crear una tabla / matriz visual utilizando un conjunto de datos bastante incómodo.

La tabla de salida debe verse algo como esto, como una guía amplia de las filas y columnas que necesito mostrar (tablas separadas para dos tipos, Alfa y beta):

Alfa

Totalcomo % de las ventasTotal del mes pasadocomo % de las ventas
Ventas
Costar
Gastos generales
Reembolsos

Beta

Totalcomo % de las ventasTotal del mes pasadocomo % de las ventas
Ventas
Costar
Gastos generales
Reembolsos

El conjunto de datos es similar a este ejemplo:

ÁreaFechaVentasCostarGastos generalesReembolsos
Alfaene-212111
Alfafeb-214220
Alfamar-216331
AlfaAbr-218442
AlfaMayo-2110551
Alfajun-2112665
Alfajul-2114770
AlfaAgo-2116881
Alfasep-2118992
Betaene-212111
Betafeb-214220
Betamar-216331
BetaAbr-218442
BetaMayo-2110551
Betajun-2112665
Betajul-2114770
BetaAgo-2116881
Betasep-2118992

Cualquier consejo sobre las mejores prácticas dentro de power query y / o sobre el edificio de la mesa en sí sería apreciado. Actualmente estoy trabajando en el uso de grupos calculados para filtrar los diferentes tipos; los datos en sí tienen 35 tipos diferentes, por lo que le gustaría reducir el número de medidas y acelerar el proceso.

Cualquier pensamiento es bienvenido.

Muchas gracias

1 ACCEPTED SOLUTION

@untapjoseph ,

Ok, necesita una tabla de calendario adecuada en su modelo. Esto ayudará enormemente con la inteligencia de tiempo que está tratando de usar, pero también aislará sus evaluaciones de fecha de los filtros de contexto en su informe.

Una vez que tenga su tabla de calendario, puede agregar una columna monthNumber, como esta:

//DAX
monthNumber = MONTH(calendarTable[Date])

//M
Date.Month([Date])

A continuación, agregue una columna relativeMonth, como esta:

//DAX
(YEAR(calendar[Date]) * 12 + calendar[monthNumber])
- (YEAR(TODAY()) * 12 + MONTH(TODAY()))

//M
(Date.Year([Date]) * 12 + [monthNumber])
- (Date.Year(Date.From(DateTime.LocalNow())) * 12 + Date.Month(Date.From(DateTime.LocalNow())))

Relaciona tu tabla de calendario con tu tabla de hechos en el calendario[Fecha] UNO: MUCHOS Datos[Reference_Date].

Entonces debería poder escribir una medida genérica, algo como esto:

Sales LQ =
CALCULATE(
  SUM(Data[Sales]) / 1000000,
  calendar[relativeMonth] <= -1
)

Cuando coloque esa medida en su tabla, simplemente filtre la imagen en [Área] = "Alfa", etc. y la evaluación de la fecha debe aislarse del filtrado de su tabla de hechos.

Pete

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

@untapjoseph ,

A primera vista, los datos de origen parecen estar en el formato más eficiente, por lo que no se requiere Realmente Power Query aquí.

Cuando dices "35 tipos diferentes", ¿estás hablando de diferentes valores [de área]? Si es así, entonces no necesita escribir medidas específicas para cada [Área]. Como su ouput requerido parece estar segmentado por [Área] de todos modos, puede escribir medidas genéricas y aplicar un filtro de nivel visual por [Área].

Pete

Gracias Pete. Sí, hay 35 áreas, incluyendo alfa y beta.

Este es un ejemplo de una de las medidas, que se puede ver actualmente filtra el Área dentro de la medida. Hense, por qué estoy tratando de encontrar una mejor manera, de evitar replicar esta medida para cada área. Entonces estaba usando las funciones UNION y ROW para construir la tabla, lo que me dio el formato que buscaba, pero no me permitió usar un filtro de nivel visual por área ...

Ventas LQ =

DÓNDE Current_Date = MÁXIMO(Datos[Reference_Date].[Fecha])
DÓNDE LM_Date = FECHA(AÑO(Current_Date),MES(Current_Date)-1,DÍA(Current_Date))

DÓNDE RESULTADO = CALCULAR(SUMA(Data[Ventas])/1000000,
FILTRO(Datos,Datos[Reference_Date]<=LM_Date),
FILTRO(Datos,Datos[Área] = "Alfa"))

DEVOLUCIÓN

RESULTADO

No estoy considerando el uso de grupos de cálculo como una forma de tratar de construir la tabla usando la matriz visual en su lugar, ¿crees que esto funcionaría?

@untapjoseph ,

Ok, necesita una tabla de calendario adecuada en su modelo. Esto ayudará enormemente con la inteligencia de tiempo que está tratando de usar, pero también aislará sus evaluaciones de fecha de los filtros de contexto en su informe.

Una vez que tenga su tabla de calendario, puede agregar una columna monthNumber, como esta:

//DAX
monthNumber = MONTH(calendarTable[Date])

//M
Date.Month([Date])

A continuación, agregue una columna relativeMonth, como esta:

//DAX
(YEAR(calendar[Date]) * 12 + calendar[monthNumber])
- (YEAR(TODAY()) * 12 + MONTH(TODAY()))

//M
(Date.Year([Date]) * 12 + [monthNumber])
- (Date.Year(Date.From(DateTime.LocalNow())) * 12 + Date.Month(Date.From(DateTime.LocalNow())))

Relaciona tu tabla de calendario con tu tabla de hechos en el calendario[Fecha] UNO: MUCHOS Datos[Reference_Date].

Entonces debería poder escribir una medida genérica, algo como esto:

Sales LQ =
CALCULATE(
  SUM(Data[Sales]) / 1000000,
  calendar[relativeMonth] <= -1
)

Cuando coloque esa medida en su tabla, simplemente filtre la imagen en [Área] = "Alfa", etc. y la evaluación de la fecha debe aislarse del filtrado de su tabla de hechos.

Pete

Gracias Pete, esto ayudó mucho. Una vez que seguí su guía, utilicé tablas calculadas para traer el total actual, el total del mes pasado y las columnas %age.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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