Fin del mes financiero / de informes en diferentes fechas cada mes

Un usuario Pregunto ✅

nikilouwgmail

Hola

Los fines de mi mes financiero no se basan en la fecha del calendario y difieren cada mes. Estoy teniendo problemas al comparar meses y años en los que
1) el mes de informes / contabilidad no se basa en el calendario (del 1 al último día) y
2) el mes del año en curso no comienza en la misma fecha que el año anterior (por ejemplo, el 22 de junio, el 25 de julio es la fecha de finalización del mes financiero / de informes, por lo que el TD debe comenzar el 23 de junio para julio y el 26 de julio para agosto … ; por ejemplo, 21 de junio, 23 de julio de PY vs 22 de junio, 25 de julio de CY)

Consulte a continuación la tabla utilizada para los períodos de informes, DIM_AccountingPeriod.

Sin embargo, esto no me permitirá marcarlo como tabla de fechas para poder usar funciones de inteligencia de tiempo como Año hasta la fecha (YTD). Mes hasta la fecha (MTD), etc.

dim acc period.png

luego hay una tabla DIM_Time que se puede usar para la inteligencia de tiempo, ya que se puede marcar como tabla de fechas. Es una tabla de fechas adecuada.

dim time1.png

Me gustaría saber si las funciones de inteligencia de tiempo me darán el MTD correcto, YTD para cada mes en función de estas fechas de inicio de mes diferentes. Y si las tablas anteriores no lo hacen, ¿qué se podría hacer para lograrlo?

Amitchandak

@nikilouwgmail, suponiendo que tenga la fecha de inicio del mes fiscal, la fecha de inicio del año fiscal, en función de eso, agregue las siguientes columnas

Además, puede tener el año fiscal, en formato AAAA, según la fecha de inicio o finalización del año

nuevas columnas

Clasificación del mes = RANKX (todos (‘Fecha’), ‘Fecha'[FY Month Start date],, ASC, denso)

Rango de año = RANKX (todos (‘Fecha’), ‘Fecha'[FY Year Start date],, ASC, denso)

Día del año = fechaiff ([FY Year Start date] , [Date], Día) +1

Día del mes = fechaiff ([FY Month Start date] , [Date], Día) +1

medidas

Este mes = CALCULATE (sum (‘order'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Month Rank]= max (‘Fecha'[Month Rank])))
Último mes = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Month Rank]= max (‘Fecha'[Month Rank]) -1))

o

Este año = CALCULATE (sum (‘order'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year Rank]= max (‘Fecha'[Year Rank])))
El año pasado = CALCULATE (sum (‘order'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year Rank]= max (‘Fecha'[Year Rank]) -1))

Este año = CALCULATE (sum (‘order'[Qty]), filter (ALL (‘Fecha’), ‘Fecha'[FY Year]= max (‘Fecha'[FY Year])))
El año pasado = CALCULATE (sum (‘order'[Qty]), filter (ALL (‘Fecha’), ‘Fecha'[FY Year]= max (‘Fecha'[FY Year]) -1))

YTD = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year Rank]= max (‘Fecha'[Year Rank]) && ‘Fecha'[Day of Year] <= Max ('Fecha'[Day of Year])))
LYTD = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year Rank]= max (‘Fecha'[Year Rank]) -1 && ‘Fecha'[Day of Year] <= Max ('Fecha'[Day of Year])))

YTD = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year]= max (‘Fecha'[Year]) && ‘Fecha'[Month] <= Max ('Fecha'[Month])))
LYTD = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year]= max (‘Fecha'[Year]) -1 && ‘Fecha'[Month] <= Max ('Fecha'[Month])))

Para aprovechar al máximo la función de inteligencia del tiempo. Asegúrese de tener un calendario de fechas y que se haya marcado como la fecha en la vista de modelo. Además, únala con la columna de fecha de sus hechos. Consulte: radacad sqlbi My Video Series Apreciamos sus felicitaciones.

Hola @nikilouwgmail,

También puede echar un vistazo al siguiente blog sobre el uso de la función de fecha para lograr el cálculo YTD, MTD sin usar funciones de inteligencia de tiempo:

Inteligencia de tiempo «The Hard Way» (TITHW)

Saludos,

Xiaoxin Sheng

Amitchandak

@nikilouwgmail, suponiendo que tenga la fecha de inicio del mes fiscal, la fecha de inicio del año fiscal, en función de eso, agregue las siguientes columnas

Además, puede tener el año fiscal, en formato AAAA, según la fecha de inicio o finalización del año

nuevas columnas

Clasificación del mes = RANKX (todos (‘Fecha’), ‘Fecha'[FY Month Start date],, ASC, denso)

Rango de año = RANKX (todos (‘Fecha’), ‘Fecha'[FY Year Start date],, ASC, denso)

Día del año = fechaiff ([FY Year Start date] , [Date], Día) +1

Día del mes = fechaiff ([FY Month Start date] , [Date], Día) +1

medidas

Este mes = CALCULAR (suma (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Month Rank]= max (‘Fecha'[Month Rank])))
Mes pasado = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Month Rank]= max (‘Fecha'[Month Rank]) -1))

o

Este año = CALCULATE (sum (‘order'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year Rank]= max (‘Fecha'[Year Rank])))
El año pasado = CALCULATE (sum (‘order'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year Rank]= max (‘Fecha'[Year Rank]) -1))

Este año = CALCULATE (sum (‘order'[Qty]), filter (ALL (‘Fecha’), ‘Fecha'[FY Year]= max (‘Fecha'[FY Year])))
El año pasado = CALCULATE (sum (‘order'[Qty]), filter (ALL (‘Fecha’), ‘Fecha'[FY Year]= max (‘Fecha'[FY Year]) -1))

YTD = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year Rank]= max (‘Fecha'[Year Rank]) && ‘Fecha'[Day of Year] <= Max ('Fecha'[Day of Year])))
LYTD = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year Rank]= max (‘Fecha'[Year Rank]) -1 && ‘Fecha'[Day of Year] <= Max ('Fecha'[Day of Year])))

YTD = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year]= max (‘Fecha'[Year]) && ‘Fecha'[Month] <= Max ('Fecha'[Month])))
LYTD = CALCULATE (sum (‘orden'[Qty]), FILTRO (TODOS (‘Fecha’), ‘Fecha'[Year]= max (‘Fecha'[Year]) -1 && ‘Fecha'[Month] <= Max ('Fecha'[Month])))

Para aprovechar al máximo la función de inteligencia del tiempo. Asegúrese de tener un calendario de fechas y que se haya marcado como la fecha en la vista de modelo. Además, únala con la columna de fecha de sus hechos. Consulte: radacad sqlbi My Video Series Apreciamos sus felicitaciones.

nikilouwgmail

En respuesta a Amitchandak

gracias @amitchandak déjame probarlo

Creo que me encuentro con otro problema potencial con respecto a mi tabla de fechas. hay dos sistemas en el DW. definido como tal en la tabla de fechas y la tabla de hechos. Inicialmente, filté el único sistema de la tabla de fechas para tener una columna de fecha única, pero tendré que informar de dos sistemas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *