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
Anonymous
Not applicable

Obtención del valor de fila anterior en la tabla dinámica

Estoy tratando de hacer un análisis de cambios y por lo tanto necesito calcular el cambio de fechas anteriores. He visto varios ejemplos de ding esto donde los datos son un formato "conveniente", ya parcialmente resumido, pero eso no funcionará para este escenario, ya que los datos podrían ser cortados de otras maneras.

Así que tengo la mesa algo como:

Fecha

Ref

Esperado

Actual

01/01/2020

Afa

2

3

01/01/2020

Ssf

3

4

04/01/2020

Temor

4

4

08/01/2020

Daq

4

3

08/01/2020

Dos

1

2

09/01/2020

Asw

2

3

Hay fechas repetidas y fechas perdidas.

Quiero comparar Real con Esperado para calcular un FACTOR para cada fila, y he hecho esto con ambas medidas y columnas calculadas ok.

Fecha

Ref

Esperado

Actual

Factor

01/01/2020

Afa

2

3

1.5

01/01/2020

Ssf

3

4

1.33

04/01/2020

Temor

4

4

1

08/01/2020

Daq

4

3

.75

08/01/2020

Dos

1

2

2

09/01/2020

Asw

6

3

0.5

A continuación quiero ver el FACTOR promedio para cada día en los datos, y para hacer que he creado un Meaure,

AVF - calculate(average('tblPackets'[propTime]))

... que funciona bien:

Fecha

Avf

01/01/2020

1.41

04/01/2020

1

08/01/2020

1.38

09/01/2020

0.5

AQUÍ ES DONDE ESTOY ATASCADO :o(
Ahora quiero comparar el AVF con la fila anterior para ver cuál es la tendencia, pero hasta ahora no puedo crear la siguiente tabla requried:

Fecha

Avf

PrevAVF

01/01/2020

1.41

04/01/2020

1

1.41

08/01/2020

1.38

1

09/01/2020

0.5

1.38

Por supuesto, una vez hecho esto quiero ir otro paso a Dividir AVF con PrevAVF, y finalmente sumar esos números, pero creo que este es el punto de adherencia en ese viaje.

Como dije, la mayoría de los ejemplos que he encontrado ya tienen los datos en este tipo de strucutre, pero como esta tabla ya está derivada, esas tácticas no funcionan. ¿Es esto posible ???

1 ACCEPTED SOLUTION

De acuerdo...

Promedio de var %

AVERAGEX(

VALUES(factData[Date]),

[Var % AVF]

)

Descargue el archivo PBIX

View solution in original post

9 REPLIES 9
tuliomelibeu
Regular Visitor

EnateJon,

Primero creé la medida FACTOR:

Factor (Factor)
var vTotal_Expected - SUM(factData[Expected])
var vTotal_Actual - SUM(factData[Actual])
devolución
DIVIDE(
vTotal_Actual,
vTotal_Expected
)

Luego creé la medida AVF:

AVF ( AVF)
AVERAGEX(
factData,
[Factor]
)

Luego creé la medida "AVF Previous":
AVF anterior ?
var vActualDate á MAX(factData[Date])
var vDate_Previous ?
CALCULATE(
MAX(factData[Fecha]),
FILTRO(
ALL(factData[Date]),
factData[Date] < vActualDate
)
)
var vAVF_Date_Previous ?
CALCULATE(
[AVF],
FILTRO(
ALL(factData[Date]),
factData[Fecha] - vDate_Previous
)
)
devolución
vAVF_Date_Previous

Y finalmente creé la medida "Var % AVF":

Var % AVF ?
DIVIDE(
[AVF] - [AVF anterior],
[AVF anterior]
)

Aquí está la imagen con la solución

Aquí está el archivo PBIX

Att

Tulio Melibeu

Anonymous
Not applicable

Esto es genial - gracias. A un paso de la respuesta final, y no he podido llegar allí :o(

El último paso es calcular (y mostrar en una tarjeta) el PROMEDIO de todos los valores del "Var % AVF" para ver si está subiendo o bajando.

He intentado AVERAGE, pero sólo tomará una columna (¿no un meaure?) y AVERAGEX(table, [Var % AVF]) no devuelve nada.

Tan cerca....

Hola, @EnateJon

No está completamente seguro de cuál es su última pregunta, ¿puede elaborar un poco más?

Proporcione algunas capturas de pantalla para explicar lo que está tratando de hacer.

Será mejor si puede mostrar su resultado exceptuado sobre el PROMEDIO de todos los valores de la "Var % AVF" .

Saludos
Equipo de soporte de la comunidad _ Eason

De acuerdo...

Promedio de var %

AVERAGEX(

VALUES(factData[Date]),

[Var % AVF]

)

Descargue el archivo PBIX

Anonymous
Not applicable

Esta es la única parte de la solución que no he podido seguir. Intuitivamente habría escrito:
Promedio de var %- AVERAGEX(factData, [Var % AVF])

Pero eso no devuelve nada (¿No puedo ver por qué?).

¿Qué hace "Values(table[field])" y por qué se necesita aquí?

Anonymous
Not applicable

Muchas gracias por esto. Soy bastante nuevo en DAX (como habrás adivinado) y no lo encuentro cómicamente intuitivo. Mirando lo que has sugerido puedo empezar a realizar ingeniería inversa de estos - realmente útil. Gracias de nuevo.

@EnateJon- No estoy seguro de por qué AVERAGEX en toda la variable de tabla no funcionaría. Más o menos un problema de agregación de medida. Vea mi artículo de blog sobre eso aquí: https://community.powerbi.com/t5/Community-Blog/Design-Pattern-Groups-and-Super-Groups/ba-p/138149

El patrón es:
MinScoreMeasure ? MINX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
MaxScoreMeasure ? MAXX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
AvgScoreMeasure - AVERAGEX ( SUMMARIZE ( Tabla, Tabla[Grupo] , "Medida",[SuMeasure] ), [Medida])
etcetera.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Greg_Deckler
Super User
Super User

@EnateJon: debería poder crear una variable de tabla en una medida y usar ADDCOLUMNS junto con EARLIER. Puedes hacerlo de verdad aquí. Vea mi artículo sobre el tiempo medio entre fallas (MTBF) que utiliza ANTES: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395...

Obviamente, eso se implementa como columnas, pero es lo mismo cuando se crea y se trabaja con una variable de tabla en DAX.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
amitchandak
Super User
Super User

@EnateJon, pruebe con el calendario de fechas

Last Day Non Continuous ? CALCULATE(sum(Table[Real]),filter(ALLSELECTED('Date'),'Date'[Date] ?MAXX(FILTER(ALLSELECTED('Date'),'Date'[Date]<max('Date'[Date])),'Date'[Date])))

referenciar tanto la columna como el enfoque de medida en el blog

https://medium.com/@amitchandak.1978/power-bi-day-intelligence-questions-time-intelligence-5-5c3243d...

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.