Reply
Syndicate_Admin
Administrator
Administrator
Syndicated - Inbound

Obtener valores de la tabla para que la línea sea recta en el gráfico de líneas

Source Community: Power BI | Source Author Name: AnnaMagnusson

¡Hola!

¿Cómo obtengo el valor de uno de los conjuntos para que la línea esté "interpolada"/recta entre donde tengo valores reales? El total para Comp 2020-10-05 solo debe usar 26,77 y no el promedio de 26,77 y 24,83. El mismo problema en 2020-10-12.

1.JPG

(Lo que no quiero es una caída / pico donde esté la línea discontinua gris. Lo que está sucediendo ahora es que Power BI toma el promedio ya que he seleccionado dos conjuntos de una segmentación de datos. Axis es categórico y necesita serlo para conseguir las brechas)

Comp =
Dónde s = TODOSSELECCIONADOS(Dim_Machine_Comp[Nombre])
Dónde d = CALCULAR(PROMEDIO(Fact_IntDay[Media móvil]), todo(Dim_Machine[Nombre]), FILTRO(Dim_Machine_Comp, Dim_Machine_Comp[Nombre] en s ))
Dónde h = CALCULAR(PROMEDIO(Fact_IntHour[Media móvil]), todo(Dim_Machine[Nombre]), FILTRO(Dim_Machine_Comp, Dim_Machine_Comp[Nombre] en s ))
devolución
INTERRUPTOR( VERDADERO(),
ISINSCOPIO(Fact_IntDay[DateDay]), d, h)
Peine Comp =
Dónde s = TODOSSELECCIONADOS(Dim_Machine_Comp[Nombre])
Dónde d = CALCULAR(PROMEDIO(Fact_IntDay[InterpolaciónCombinada]), todo(Dim_Machine[Nombre]), FILTRO(Dim_Machine_Comp, Dim_Machine_Comp[Nombre] en s ))
Dónde h = CALCULAR(PROMEDIO(Fact_IntHour[InterpolaciónCombinada]), todo(Dim_Machine[Nombre]), FILTRO(Dim_Machine_Comp, Dim_Machine_Comp[Nombre] en s ))
devolución
si(ISBLANK([Comp]),
INTERRUPTOR( VERDADERO(),
ISINSCOPIO(Fact_IntDay[DateDay]), d, h),
[Comp])
1 ACCEPTED SOLUTION

Source Community: Power BI | Source Author Name: tex628
Syndicated - Inbound

¡De acuerdo!

Intentemos algo en el camino de esto en su lugar:

VAR PrevD = CALCULATE(AVERAGE(Fact_IntDay[Moving Average]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp, Dim_Machine_Comp[Name] in s ) , Fact_IntDay[DateDay] = PrevDate )
VAR NextD = CALCULATE(AVERAGE(Fact_IntDay[Moving Average]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp, Dim_Machine_Comp[Name] in s ) , Fact_IntDay[DateDay] = NextDate )

View solution in original post

15 REPLIES 15
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: tex628
Syndicated - Inbound

Hola @AnnaMagnusson ,

¿El valor que buscas es 25,61 para 2020-10-12?

Br
Johannes

Source Community: Power BI | Source Author Name: AnnaMagnusson
Syndicated - Inbound

@tex628 ¡Sí! ¿Encontraste una manera de obtenerlo sin solo codificar duro? (26,77 + 24,45)/2

Source Community: Power BI | Source Author Name: tex628
Syndicated - Inbound

Hola

Si estoy pensando correctamente se va a complicar un poco, pero estoy pensando algo a lo largo de lo siguiente:

var s = ALLSELECTED(Dim_Machine_Comp[Name])

var d = CALCULATE(AVERAGE(Fact_IntDay[Moving Average]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp, Dim_Machine_Comp[Name] in s ))

// The current row (date) thats being calculated
VAR CurrentDay = SELECTEDVALUE(Calendar[Date])

// The date of the most recent output value
VAR PrevDate = CALCULATE(MAX(Fact_IntDay[DateDay]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp,  Fact_IntDay[Moving Average] <> BLANK() && Fact_IntDay[DateDay] < CurrentDay && Dim_Machine_Comp[Name] in s ))

// The date of the next output value
VAR NextDate =
= CALCULATE(MIN(Fact_IntDay[DateDay]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp,  Fact_IntDay[Moving Average] <> BLANK() && Fact_IntDay[DateDay] > CurrentDay && Dim_Machine_Comp[Name] in s ))

// The length of the gap
VAR Gap = NextDate - PrevDate

// The difference between the current row and the previous row
VAR CurrentDiff = CurrentDay - PrevDate

// The previous output value
VAR PrevD = Calculate( d , ALL(Calendar) , Calendar[Date] = PrevDate )

// The next output value
VAR NextD = Calculate( d , ALL(Calendar) , Calendar[Date] = PrevDate )

// The final output
VAR OutputValue = PrevD + ( Divide(NextD - PrevD , Gap , BLANK()) * CurrentDiff )

return
if(ISBLANK([Comp]),
OutputValue, 
[Comp])


Esto solo se adapta para trabajar con fechas en el eje X, si funciona con fechas debería poder aplicar el mismo principio a las horas. También debe tener en cuenta brechas más grandes que una sola unidad (si hay una brecha de dos días, la primera fila debe tener 1/3 de la diferencia y la segunda debe tener 2/3)

Es muy difícil escribir esto sin poder probarlo, pero hágame saber cómo va.

Br
J

Source Community: Power BI | Source Author Name: AnnaMagnusson
Syndicated - Inbound

@tex628 Miré más en CurrentDay. Cuando lo ejecuto, se muestra en blanco. ¿Es eso ya que tengo mi segmentación de datos establecida en dos fechas (entre dos fechas para que no pueda obtener una / una fecha actual)?

2.JPG

Source Community: Power BI | Source Author Name: tex628
Syndicated - Inbound

Se supone que CurrentDay devuelve la fecha de la fila que se está evaluando,

tex628_0-1650372375860.png

Intente usar SELECTEDVALUE(Fact_IntDay[DateDay]) en su lugar.

Si solo intenta devolver [CurrentDay], debería ver las mismas fechas que las que se muestran en la columna DateDay.

/ J



Source Community: Power BI | Source Author Name: AnnaMagnusson
Syndicated - Inbound

@tex628 De acuerdo, ese funciona ahora y también lo hace Prevdate och Nextdate!

El siguiente problema es Gap. Obtengo valores / fecha para 2020-10-03 como 1900-01-01 en el set A y solo 2020-10-02 en todo B 😅 ¿alguna idea sobre por qué?

3.JPG

Lo siento por el spam, es solo que he estado tratando de hacer esto durante semanas.

Source Community: Power BI | Source Author Name: tex628
Syndicated - Inbound

¡Ahh es mi mal!

AR Gap = Value(NextDate - PrevDate) 


Deberá hacer lo mismo con CurrentDiff.

Además, ¿puede mostrar los resultados de PrevDate?

/ J

Source Community: Power BI | Source Author Name: AnnaMagnusson
Syndicated - Inbound

@tex628 que funcionó mejor, pero sigo obteniendo el mismo resultado que para la compensación cuando uso PrevD

4.JPG5.JPG6.JPG

Source Community: Power BI | Source Author Name: tex628
Syndicated - Inbound

Si tiramos de estas dos medidas, ¿qué fechas estamos recibiendo?

PrevDate = 

var s = ALLSELECTED(Dim_Machine_Comp[Name])
 
var d = CALCULATE(AVERAGE(Fact_IntDay[Moving Average]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp, Dim_Machine_Comp[Name] in s ))

// The current row (date) thats being calculated
VAR CurrentDay = SELECTEDVALUE(Fact_IntDay[DateDay])

// The date of the most recent output value
VAR PrevDate = CALCULATE(MAX(Fact_IntDay[DateDay]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp,  Fact_IntDay[Moving Average] <> BLANK() && Fact_IntDay[DateDay] < CurrentDay && Dim_Machine_Comp[Name] in s ))

Return 
PrevDate
NextDate =

var s = ALLSELECTED(Dim_Machine_Comp[Name])

var d = CALCULATE(AVERAGE(Fact_IntDay[Moving Average]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp, Dim_Machine_Comp[Name] in s ))

// The current row (date) thats being calculated
VAR CurrentDay = SELECTEDVALUE(Fact_IntDay[DateDay])

// The date of the next output value
VAR NextDate =
= CALCULATE(MIN(Fact_IntDay[DateDay]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp,  Fact_IntDay[Moving Average] <> BLANK() && Fact_IntDay[DateDay] > CurrentDay && Dim_Machine_Comp[Name] in s ))

Return 
NextDate

Source Community: Power BI | Source Author Name: AnnaMagnusson
Syndicated - Inbound

@tex628 obtenemos esto:

7.JPG

(Tuve que cambiar algo en el código para que funcionara,

DÓNDE AnteriorFecha = CALCULAR(MÁXIMO(Fact_IntDay[DateDay]), todo(Dim_Machine[Nombre]), FILTER(Dim_Machine_Comp, Dim_Machine_Comp[Nombre] en s ) , Fact_IntDay[Media móvil] <> ESPACIO EN BLANCO() && Fact_IntDay[DateDay] < Actualidad )
De
VAR PrevDate = CALCULATE(MAX(Fact_IntDay[DateDay]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp, Fact_IntDay[Moving Average] <> BLANK() && Fact_IntDay[DateDay] < CurrentDay && Dim_Machine_Comp[Name] in s ))
desde que comencé un filtro en el dim_machine_comp.)

Source Community: Power BI | Source Author Name: tex628
Syndicated - Inbound

¡Se ve bien!

Con estas fechas deberíamos poder obtener los valores Comp correspondientes.

En su imagen de arriba entre las fechas del 10-03 y 10-06 estoy buscando algo en la línea de esto:

tex628_1-1650380302793.png


/ J

Source Community: Power BI | Source Author Name: AnnaMagnusson
Syndicated - Inbound

@tex628 Así que estoy obteniendo casi exactamente lo que tienes para currentdiff excepto la fila superior, así que probablemente sea solo una pequeña cosa para ajustar o no importa. Pero para PrevD y NextD obtengo espacios en blanco para cuando no está en la misma fila que comp.

PrevD = calculate(d, Fact_Intday [DateDay] = PrevDate)
NextD = calculate(d, Fact_Intday [DateDay] = NextDate)

Dónde

d = CALCULAR(PROMEDIO(Fact_IntDay[Media móvil]), todo(Dim_Machine[Nombre]), FILTRO(Dim_Machine_Comp, Dim_Machine_Comp[Nombre] en s ))
8.JPG9.JPG

Source Community: Power BI | Source Author Name: tex628
Syndicated - Inbound

¡De acuerdo!

Intentemos algo en el camino de esto en su lugar:

VAR PrevD = CALCULATE(AVERAGE(Fact_IntDay[Moving Average]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp, Dim_Machine_Comp[Name] in s ) , Fact_IntDay[DateDay] = PrevDate )
VAR NextD = CALCULATE(AVERAGE(Fact_IntDay[Moving Average]), all(Dim_Machine[Name]), FILTER(Dim_Machine_Comp, Dim_Machine_Comp[Name] in s ) , Fact_IntDay[DateDay] = NextDate )

Source Community: Power BI | Source Author Name: AnnaMagnusson
Syndicated - Inbound

@tex628 ¡Funciona! ¡Muchas gracias!

Source Community: Power BI | Source Author Name: AnnaMagnusson
Syndicated - Inbound

@tex628 gracias por ayudar!
Lamentablemente, cuando lo agregué a Power BI, el tercer argumento se activó, mostró lo mismo que comp.. tal vez hay algo con OutputValue?

avatar user

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

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

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)