Forum Discussion
Tabla calculada
Hola
Tengo una tabla en Excel (para importar a Power Bi) que tiene fechas en un lado (desde enero de 2010 hasta el futuro)
Mis columnas son vehículos A, B y C (pero más de 100 de ellos) y la fecha dentro de la hoja de cálculo es millas acumuladas
Estoy buscando crear una nueva tabla que me muestre las millas diarias en su lugar, por lo que A mostraría 232, que es la diferencia entre 15 y 16
¿Alguien sabe de una manera de hacer esto, por favor?
En primer lugar te recomendaría Unpivot las columnas de Vehículos.
A continuación, puede crear una columna calculada para obtener el kilometraje diario de cada vehículo utilizando:
Daily Mileage = VAR PrevDate = CALCULATE ( SUM ( 'DataTable'[Mileage] ), FILTER ( 'DataTable', 'DataTable'[Vehicle] = EARLIER ( 'DataTable'[Vehicle] ) && 'DataTable'[Date] = EARLIER ( 'DataTable'[Date] ) - 1 ) ) VAR CurrDate = CALCULATE ( SUM ( 'DataTable'[Mileage] ), FILTER ( 'DataTable', 'DataTable'[Vehicle] = EARLIER ( 'DataTable'[Vehicle] ) && 'DataTable'[Date] = EARLIER ( 'DataTable'[Date] ) ) ) RETURN CurrDate - PrevDateLlegar:
Si desea que el "Kilometraje diario" para la primera fecha (mínima) esté en blanco, use:
Daily Mileage = VAR MinDate = MIN ( 'DataTable'[Date] ) VAR PrevDate = CALCULATE ( SUM ( 'DataTable'[Mileage] ), FILTER ( 'DataTable', 'DataTable'[Vehicle] = EARLIER ( 'DataTable'[Vehicle] ) && 'DataTable'[Date] = EARLIER ( 'DataTable'[Date] ) - 1 ) ) VAR CurrDate = CALCULATE ( SUM ( 'DataTable'[Mileage] ), FILTER ( 'DataTable', 'DataTable'[Vehicle] = EARLIER ( 'DataTable'[Vehicle] ) && 'DataTable'[Date] = EARLIER ( 'DataTable'[Date] ) ) ) RETURN IF ( 'DataTable'[Date] = MinDate, BLANK (), CurrDate - PrevDate )He adjuntado el archivo PBIX de ejemplo
3 Replies
- Syndicate_Admin
Administrator
Proporcione datos de muestra y el resultado esperado para el problema
- Syndicate_Admin
Administrator
En primer lugar te recomendaría Unpivot las columnas de Vehículos.
A continuación, puede crear una columna calculada para obtener el kilometraje diario de cada vehículo utilizando:
Daily Mileage = VAR PrevDate = CALCULATE ( SUM ( 'DataTable'[Mileage] ), FILTER ( 'DataTable', 'DataTable'[Vehicle] = EARLIER ( 'DataTable'[Vehicle] ) && 'DataTable'[Date] = EARLIER ( 'DataTable'[Date] ) - 1 ) ) VAR CurrDate = CALCULATE ( SUM ( 'DataTable'[Mileage] ), FILTER ( 'DataTable', 'DataTable'[Vehicle] = EARLIER ( 'DataTable'[Vehicle] ) && 'DataTable'[Date] = EARLIER ( 'DataTable'[Date] ) ) ) RETURN CurrDate - PrevDateLlegar:
Si desea que el "Kilometraje diario" para la primera fecha (mínima) esté en blanco, use:
Daily Mileage = VAR MinDate = MIN ( 'DataTable'[Date] ) VAR PrevDate = CALCULATE ( SUM ( 'DataTable'[Mileage] ), FILTER ( 'DataTable', 'DataTable'[Vehicle] = EARLIER ( 'DataTable'[Vehicle] ) && 'DataTable'[Date] = EARLIER ( 'DataTable'[Date] ) - 1 ) ) VAR CurrDate = CALCULATE ( SUM ( 'DataTable'[Mileage] ), FILTER ( 'DataTable', 'DataTable'[Vehicle] = EARLIER ( 'DataTable'[Vehicle] ) && 'DataTable'[Date] = EARLIER ( 'DataTable'[Date] ) ) ) RETURN IF ( 'DataTable'[Date] = MinDate, BLANK (), CurrDate - PrevDate )He adjuntado el archivo PBIX de ejemplo
- Syndicate_Admin
Administrator
hace exactamente lo que necesitaba - gracias por este 👍