kohlivinayak
Hola tengo una tabla como la de abajo
Tipo | Fecha de inicio | fecha final
A | 07-feb-2014 | 24-abr-2014
B | 12-mar-2014 | 30-oct-2015
y quiero una salida como
tipo | Feb-2014 | Marzo-2014 | Abril-2014 |
A | 22 | 31 | 24 |
B | 0 | 20 | 30 |
su cálculo del número de días tipo A se utilizó en un mes en particular.
Agradeciendotelo de antemano.
v-yulgu-msft
Hola @kohlivinayak,
Suponga que el original se llama ‘Tabla de origen’.
Primero crea una tabla de calendario:
Calendar = CALENDAR ( DATE ( YEAR ( MIN ( 'Source table'[Start date] ) ), MONTH ( MIN ( 'Source table'[Start date] ) ), 1 ), DATE ( YEAR ( MAX ( 'Source table'[end date] ) ), MONTH ( MAX ( 'Source table'[end date] ) ), 31 ) )
Filtrar por encima de la tabla «Calendario»:
Calendar 2 = FILTER ( 'Calendar', DAY ( [Date] ) = CALCULATE ( MAX ( 'Calendar'[Date].[Day] ), ALLEXCEPT ( 'Calendar', 'Calendar'[Date].[Month] ) ) )
Unión cruzada ‘Tabla de origen’ y ‘Calendar2’. Y agregue una columna calculada en una nueva tabla.
Cross Join = CROSSJOIN ( 'Source table', 'Calendar 2' ) Column1 = IF ( 'Cross Join'[Date].[MonthNo] = 'Cross Join'[Start date].[MonthNo], DATEDIFF ( 'Cross Join'[Start date], 'Cross Join'[Date], DAY ) + 1, IF ( 'Cross Join'[Date].[MonthNo] = 'Cross Join'[end date].[MonthNo], 'Cross Join'[end date].[Day], IF ( 'Cross Join'[Date].[MonthNo] > 'Cross Join'[Start date].[MonthNo] && 'Cross Join'[Date].[MonthNo] < 'Cross Join'[end date].[MonthNo], 'Cross Join'[Date].[Day], 0 ) ) )
Utilice una matriz para alojar datos de la tabla ‘Cross Join’.
Atentamente,
Yuliana Gu
v-yulgu-msft
Hola @kohlivinayak,
Suponga que el original se llama ‘Tabla de origen’.
Primero crea una tabla de calendario:
Calendar = CALENDAR ( DATE ( YEAR ( MIN ( 'Source table'[Start date] ) ), MONTH ( MIN ( 'Source table'[Start date] ) ), 1 ), DATE ( YEAR ( MAX ( 'Source table'[end date] ) ), MONTH ( MAX ( 'Source table'[end date] ) ), 31 ) )
Filtrar por encima de la tabla «Calendario»:
Calendar 2 = FILTER ( 'Calendar', DAY ( [Date] ) = CALCULATE ( MAX ( 'Calendar'[Date].[Day] ), ALLEXCEPT ( 'Calendar', 'Calendar'[Date].[Month] ) ) )
Unión cruzada ‘Tabla de origen’ y ‘Calendar2’. Y agregue una columna calculada en una nueva tabla.
Cross Join = CROSSJOIN ( 'Source table', 'Calendar 2' ) Column1 = IF ( 'Cross Join'[Date].[MonthNo] = 'Cross Join'[Start date].[MonthNo], DATEDIFF ( 'Cross Join'[Start date], 'Cross Join'[Date], DAY ) + 1, IF ( 'Cross Join'[Date].[MonthNo] = 'Cross Join'[end date].[MonthNo], 'Cross Join'[end date].[Day], IF ( 'Cross Join'[Date].[MonthNo] > 'Cross Join'[Start date].[MonthNo] && 'Cross Join'[Date].[MonthNo] < 'Cross Join'[end date].[MonthNo], 'Cross Join'[Date].[Day], 0 ) ) )
Utilice una matriz para alojar datos de la tabla ‘Cross Join’.
Atentamente,
Yuliana Gu
afernandez99012
En respuesta a v-yulgu-msft
Hola,
He seguido los pasos, pero mi resultado en la mayoría de los casos para la columna 1 es negativo, ¿alguna idea de por qué esto tal vez?
Gracias de antemano
kohlivinayak
En respuesta a v-yulgu-msft
Muchas gracias, siento que hay mucho que aprender.
¿Dónde puedo encontrar esas cosas para aprender más en powerbi?