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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Calcular diferencia entre dos filas

Sample DataDatos de muestra Desired OutputSalida deseada

Hola

Estoy intentando agregar una columna calculada que devolverá la diferencia de dos filas en la columna: Valor. por fecha, minorista y atributo.

Los datos de ejemplo adjuntos son para un minorista y un atributo, en este caso los shouls de salida se parecen a la columna extrema derecha (salida deseada)

Probé todo lo disponible en la web sin ningún éxito

1 ACCEPTED SOLUTION

Hola @Drew1985 ,

Si desea calcular para cada minorista y atributo, simplemente agregue sus campos como variables en la fórmula anterior:

Anomoly =
VAR _date = [Date]
VAR _index = [Index]
VAR _re = [Retailer]
VAR _att = [Attribute]
VAR lastrow =
    CALCULATE (
        MAX ( 'Table'[Value] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Date] = _date
                && 'Table'[Retailer] = _re
                && 'Table'[Attribute] = _att
                && 'Table'[Index]
                    = CALCULATE (
                        MAX ( 'Table'[Index] ),
                        FILTER (
                            ALL ( 'Table' ),
                            'Table'[Date] = _date
                                && 'Table'[Attribute] = _att
                                && 'Table'[Retailer] = [Retailer]
                                && 'Table'[Index] < _index
                        )
                    )
        )
    )
RETURN
    [Value] - lastrow

att.png

Adjunto el archivo de muestra modificado en el siguiente.

Best Looks,
Yingjie Li

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

View solution in original post

7 REPLIES 7
v-yingjl
Community Support
Community Support

Hola @Drew1985 ,

Para obtener el valor de fila anterior, primero debe crear una columna de índice en el editor de consultas de energía:

index column.png

Cree esta columna calculada:

Anomoly =
VAR _date = [Date]
VAR _index = [Index]
VAR lastrow =
    CALCULATE (
        MAX ( 'Table'[Value] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Date] = _date
                && 'Table'[Index]
                    = CALCULATE (
                        MAX ( 'Table'[Index] ),
                        FILTER ( ALL ( 'Table' ), 'Table'[Date] = _date && 'Table'[Index] < _index )
                    )
        )
    )
RETURN
    [Value] - lastrow

re.png

Adjunto un archivo de muestra en el siguiente, espera ayudarle.

Best Looks,
Yingjie Li

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

Anonymous
Not applicable

Hola @v-yingjl ,

Muchas gracias por su solución, pero esto no funcionará si tuviera diferentes minoristas y atributos.

Hola @Drew1985 ,

Si desea calcular para cada minorista y atributo, simplemente agregue sus campos como variables en la fórmula anterior:

Anomoly =
VAR _date = [Date]
VAR _index = [Index]
VAR _re = [Retailer]
VAR _att = [Attribute]
VAR lastrow =
    CALCULATE (
        MAX ( 'Table'[Value] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Date] = _date
                && 'Table'[Retailer] = _re
                && 'Table'[Attribute] = _att
                && 'Table'[Index]
                    = CALCULATE (
                        MAX ( 'Table'[Index] ),
                        FILTER (
                            ALL ( 'Table' ),
                            'Table'[Date] = _date
                                && 'Table'[Attribute] = _att
                                && 'Table'[Retailer] = [Retailer]
                                && 'Table'[Index] < _index
                        )
                    )
        )
    )
RETURN
    [Value] - lastrow

att.png

Adjunto el archivo de muestra modificado en el siguiente.

Best Looks,
Yingjie Li

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

@Drew1985

Si necesita que esto sea dinámico (va a usar segmentaciones de datos, por ejemplo), debe escribir medidas en lugar de columnas calculadas. RANKX es tu amigo.
Si se queda atascado, proporcione datos de muestra.





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






richbenmintz
Solution Sage
Solution Sage

Hola @Drew1985,

Preguntas de pareja:

1. ¿Puede proporcionar los datos en una tabla en lugar de una imagen?

2. ¿Cuál es el desempate al ordenar las filas?

Gracias

Espero que esto ayude,
Richard
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
¿Mis respuestas ayudaron a llegar a una solución? Dale un kudos haciendo clic en Thumbs Up!



I hope this helps,
Richard

Did I answer your question? Mark my post as a solution! Kudos Appreciated!

Proud to be a Super User!


Anonymous
Not applicable

@richbenmintz El minorista y Attrbute son desempate

No puedo añadir Tabla, dame error HTML ans mueve la respuesta al spam

Hola @Drew1985,

- Usted sólo debe ser capaz de pegar los datos en el cuerpo del mensaje

- dentro del minorista y el atributo cómo se supone que se piden las filas, en sus datos de muestra el minorista y el atributo se duplican ¿cómo sabría el sistema qué fila viene primero? el orden natural de los datos o hay otra ordenación por campo?



I hope this helps,
Richard

Did I answer your question? Mark my post as a solution! Kudos Appreciated!

Proud to be a Super User!


Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors