Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreThe FabCon + SQLCon recap series starts April 14th at 8am Pacific. If you’re tracking where AI is going inside Fabric, this first session is a can't miss. Register now
Hola
no puede encontrar una solución para la caliculción de incrementos en función de pocas condiciones.
Ejemplo de tabla actual en mi Power Query:
| Fecha | Persona | Rendimiento |
| 4.4.2020 | A | 10 |
| 4.4.2020 | B | 12 |
| 4.4.2020 | C | 8 |
| 4.4.2020 | D | 15 |
| 5.4.2020 | A | 12 |
| 5.4.2020 | B | 16 |
| 5.4.2020 | C | 10 |
| 5.4.2020 | D | 5 |
| 6.4.2020 | A | 9 |
| 6.4.2020 | B | 8 |
| 6.4.2020 | C | 11 |
| 6.4.2020 | D | 7 |
| 7.4.2020 | A | 6 |
| 7.4.2020 | B | 4 |
| 7.4.2020 | C | 20 |
| 7.4.2020 | D | 11 |
Solución esperada:
Necesito calcular el incremento de la columna "rendimiento" basado en el valor de fecha anterior incluir la evaluación de la columna "persona":
fecha 4.4.2020 para persona - A hay rendimiento 10
fecha 5.4.2020 para la persona - A hay rendimiento 12
entonces el incremento es de 2
| Fecha | Persona | Rendimiento | Incremento |
| 4.4.2020 | A | 10 | 0 |
| 4.4.2020 | B | 12 | 0 |
| 4.4.2020 | C | 8 | 0 |
| 4.4.2020 | D | 15 | 0 |
| 5.4.2020 | A | 12 | 2 |
| 5.4.2020 | B | 16 | 4 |
| 5.4.2020 | C | 10 | 2 |
| 5.4.2020 | D | 5 | -10 |
| 6.4.2020 | A | 9 | -3 |
| 6.4.2020 | B | 8 | -8 |
| 6.4.2020 | C | 11 | 1 |
| 6.4.2020 | D | 7 | 2 |
| 7.4.2020 | A | 6 | -3 |
| 7.4.2020 | B | 4 | -4 |
| 7.4.2020 | C | 20 | 9 |
| 7.4.2020 | D | 11 | 4 |
Thx para una ayuda.
J.
Solved! Go to Solution.
Así que básicamente, como en el artículo al que se hace referencia, algo así como:
Increment Column =
VAR __Current = [performance]
VAR __PreviousDate = MAXX(FILTER('Table',[person] = EARLIER([person]) && [date] < EARLIER([date])),[date])
VAR __Previous = MAXX(FILTER('Table',[person] = EARLIER([person]) && [date] = __PreviousDate),[performance])
RETURN
__Current - __Previous
@jeyare ,
Trate como
diff ?
var _last á maxx(filter(Table,table[person]-earlier(table[person]) && table[Date] á anterior(table[Date])-1),table[performance])
devolución
if(isblank(_last),0,performance-_last)
Así que básicamente, como en el artículo al que se hace referencia, algo así como:
Increment Column =
VAR __Current = [performance]
VAR __PreviousDate = MAXX(FILTER('Table',[person] = EARLIER([person]) && [date] < EARLIER([date])),[date])
VAR __Previous = MAXX(FILTER('Table',[person] = EARLIER([person]) && [date] = __PreviousDate),[performance])
RETURN
__Current - __Previous
thx, parece estar bien hasta la primera fila, cuando recibo un error:
No se puede determinar el valor de 'performance'. O bien 'performance' no existe o no hay ninguna fila actual para una columna denominada 'Tperformance'.
Entonces IF necesita estar allí, pero no está seguro de dónde
Hmm, véase PBIX adjunto. No puedo decir lo que salió mal, pero el PBIX parece funcionar bien.
Vea mi artículo sobre el tiempo medio entre el error (MTBF) que utiliza EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395...
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.