es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Calcular la diferencia entre la fila actual y la fila anterior en DAX

En Analysis Services, tengo una tabla de casos de Covid, como se muestra a continuación:
enter image description here

Muestra los casos acumulativos diarios de 193 países diferentes. Me gustaría agregar una columna calculada para calcular la diferencia entre la fila actual y la fila anterior, para poder ver los nuevos casos diarios. Además, como la columna País/Región contiene 193 países diferentes, este cálculo debe agruparse de alguna manera para cada país. La columna Fecha también debe estar en el orden correcto.

¿Cómo debo ordenar la tabla y qué función DAX debo usar para que esto funcione?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para ordenar la tabla por País/Región y luego por Fecha, haga clic primero en el encabezado de la columna País/Región y luego mantenga presionada la tecla Shift y haga clic en el encabezado de la columna Fecha. Esto ordenará la tabla primero por País/Región y luego por Fecha dentro de cada país.

    Para crear una columna calculada que calcule los nuevos casos diarios, utilice la función DAX CALCULATE con la función LAG para obtener el valor de la fila anterior. La fórmula DAX para la columna calculada sería:

    Nuevos Casos Diarios = [Casos Acumulados] - CALCULATE([Casos Acumulados], LAG('tabla'[Fecha], 1))
    

    Esta fórmula resta los casos acumulados de la fila actual de los casos acumulados de la fila anterior para obtener los nuevos casos diarios. El uso de la función LAG garantiza que la resta siempre se realice con la fila anterior para cada país.

Comments are closed.