Trimestre Fiscal

Un usuario Pregunto ✅

scastrontu

Hola,

Espero que estés bien. Estoy tratando de calcular TOTALQTD para mi calendario financiero. He leído mucho pero no puedo encontrar una manera de resolver esto…

Mi calendario fiscal es:

Q1: agosto-octubre

Q2: Nov-Ene

Q3: febrero-abril

Q4: mayo-julio

Mi tabla de calendario está aquí.

calendario.png

quiero calcular la medida [projects submitted] para el QTD actual.

Además, tengo una consulta. ¿Supongo que el valor TOTALQTD se puede filtrar por año académico y trimestre desde una segmentación/filtro? Entonces, el usuario puede elegir la fecha, pero si no se selecciona, ¿siempre elegirá el último QTD? Para trimestres naturales, para que mi TOTALQTD muestre el QTD actual, tuve que usar «Hoy» (columna de fecha de uso) para mostrar el QTD actual; de lo contrario, quedó en blanco.

Gracias

¡Muchas gracias!

scastrontu

En respuesta a scastrontu

Hola a todos,

¡Por fin se me ocurre la solución!

Aquí la solución que funcionó para mí. Tuve que crear columnas calculadas en mi tabla de calendario para crear los trimestres fiscales:

Comienzo de QTR = IF(‘Calendario'[Month Number]=8||’Calendario'[Month Number]=9||’Calendario'[Month Number]=10||’Calendario'[Month Number]=11||’Calendario'[Month Number]=12,FECHA(AÑO(‘Calendario'[Date]),’Calendario'[Month of the quarter],1),SI(‘Calendario'[Month Number]=1,FECHA(AÑO(‘Calendario'[Date])-1,’Calendario'[Month of the quarter],1),SI(‘Calendario'[Month Number]=2||’Calendario'[Month Number]=3||’Calendario'[Month Number]=4||’Calendario'[Month Number]=5||’Calendario'[Month Number]=6||’Calendario'[Month Number]=7,FECHA(AÑO(‘Calendario'[Date]),’Calendario'[Month of the quarter],1))))
Fin del trimestre = EOMONTH(‘Calendario'[Start of QTR],2)
Luego creé las medidas DAX:
Proyectos QTD presentados = CALCULAR ([Projects Submitted],FECHAS ENTRE(‘Calendario'[Date],MIN(‘Calendario'[Start of QTR]),MAX(‘Calendario'[End of Qtr])))
Espero que esto ayude.

Hola @scastrontu,

¿Como esto?

Measure = 
CALCULATE(
    SUM(Sheet2[Value]),
    FILTER(
        ALL(Sheet2),
        Sheet2[Financial _Quarter] = SELECTEDVALUE(Sheet2[Financial _Quarter]) && Sheet2[Financial_Date] <= SELECTEDVALUE(Sheet2[Financial_Date])
    )
)

mn2.PNG

Atentamente,
Lionel Chen

Si esta publicación ayudaentonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

amichandak

@scastrontu, agregue lo siguiente a su tabla de fechas

Start of Year = STARTOFYEAR(Dates[Date],"7/31")
Qtr No = "Q"& QUOTIENT(DATEDIFF(Dates[Start of Year], Dates[Date],MONTH),3)+1
Start of Qtr = date(year(Dates[Start of Year]), month(Dates[Start of Year])+Dates[Add Qtr],1)
Qtr Rank = RANKX(ALL(Dates),Dates[Strat of Qtr],,ASC,Dense)
Qtr = QUOTIENT(DATEDIFF(Dates[Start of Year], Dates[Date],MONTH),3)+1

Crear medidas como esta

This Qtr = CALCULATE([Total Value], FILTER(ALL(Dates), Dates[Qtr Rank] =max(Dates[Qtr Rank])))
last Qtr = CALCULATE([Total Value], FILTER(ALL(Dates), Dates[Qtr Rank] =max(Dates[Qtr Rank])-1))	

Para obtener lo mejor de la función de inteligencia de tiempo. Asegúrese de tener un calendario de fechas y que se haya marcado como la fecha en la vista del modelo. Además, únelo con la columna de fecha de tu/s hecho/s. Referir:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

scastrontu

En respuesta a amichandak

Hola de nuevo @amitchandak

Logré obtener ADD QT y las otras columnas calculadas. Sin embargo, la medida Este QTD da un error.

Este QTD = CALCULAR ([Projects Submitted],FILTRO(TODO(‘Calendario'[Date]),’Calendario'[Qtr Rank]=MAX(‘Calendario'[Qtr Rank])))
Error: No se puede determinar un solo valor para la columna Qtr Rank en la tabla «Calendario». Esto puede suceder cuando un formulario de medida se refiere a una columna que contiene muchos valores sin especificar una agregación como min, max, count o sum para obtener un solo resultado.
Si saco FILTRO, como

CALCULAR([Projects Submitted],TODO(‘Calendario'[Date]),’Calendario'[Qtr Rank]=MAX(‘Calendario'[Qtr Rank]))
Luego tengo el error de que se ha usado una función MAX en una expresión Verdadero/Falso que se usa como expresión de tabla.
Además, la columna Rank Qtr solo da el valor 1… No sé si esto es normal.
alguna ayuda por favor?

amichandak

En respuesta a scastrontu

Tratar

Este QTD = CALCULAR ([Projects Submitted],FILTRAR(TODO(‘Calendario’),‘Calendario'[Qtr Rank]=MAX(‘Calendario'[Qtr Rank])))

scastrontu

En respuesta a amichandak

Gracias @amitchandak

La fórmula funcionó esta vez, pero me está dando valores incorrectos, vea la tabla. ¿Quizás porque Qtr Rank en la tabla del calendario da solo 1 valor (independientemente de la fecha)?

Trimestre/mes Proyectos presentados QTD nuevo YTD enviado
1 7 58 7
ago 3 58 3
septiembre 3 58 6
oct 1 58 7
2 11 58 18
nov 6 58 13
dic 1 58 14
ene 4 58 18

en lugar de

Trimestre/mes Proyectos presentados QTD nuevo YTD enviado
1 7 7 7
ago 3 7 3
septiembre 3 7 6
oct 1 7 7
2 11 11 18
nov 6 11 13
dic 1 11 14
ene 4 11 18

Gracias.

scastrontu

En respuesta a scastrontu

Hola a todos,

¡Por fin se me ocurre la solución!

Aquí la solución que funcionó para mí. Tuve que crear columnas calculadas en mi tabla de calendario para crear los trimestres fiscales:

Comienzo de QTR = IF(‘Calendario'[Month Number]=8||’Calendario'[Month Number]=9||’Calendario'[Month Number]=10||’Calendario'[Month Number]=11||’Calendario'[Month Number]=12,FECHA(AÑO(‘Calendario'[Date]),’Calendario'[Month of the quarter],1),SI(‘Calendario'[Month Number]=1,FECHA(AÑO(‘Calendario'[Date])-1,’Calendario'[Month of the quarter],1),SI(‘Calendario'[Month Number]=2||’Calendario'[Month Number]=3||’Calendario'[Month Number]=4||’Calendario'[Month Number]=5||’Calendario'[Month Number]=6||’Calendario'[Month Number]=7,FECHA(AÑO(‘Calendario'[Date]),’Calendario'[Month of the quarter],1))))
Fin del trimestre = EOMONTH(‘Calendario'[Start of QTR],2)
Luego creé las medidas DAX:
Proyectos QTD presentados = CALCULAR ([Projects Submitted],FECHAS ENTRE(‘Calendario'[Date],MIN(‘Calendario'[Start of QTR]),MAX(‘Calendario'[End of Qtr])))
Espero que esto ayude.

scastrontu

En respuesta a amichandak

Gracias. Estoy intentando esto.

¿Cuál es la fórmula para

Dates[Add Qtr]

Gracias.

greg_deckler

Vea si mi Time Intelligence the Hard Way proporciona una forma diferente de lograr lo que está buscando.

https://community.powerbi.com/t5/Quick-Measures-Gallery/Time-Intelligence-quot-The-Hard-Way-quot-TIT…

scastrontu

En respuesta a greg_deckler

Hola Greg,

Gracias por su pronta respuesta. Leí la publicación y… no pude entenderlo. la medida (qtd new) se comporta como TOTALYTD (ver la tabla) incluso si cambié la fórmula a «Cuartos».

Anotación 2020-05-18 160330.png

Esto es lo que demandé por QTD nuevo:

QTD nuevo =

var MaxYear = MAX(‘Calendario'[Inital year])

var MaxQuarter = MAX(‘Calendario'[Academic Quarter])

var TmpTable = CALCULATETABLE(‘Calendario’,TODO(‘Calendario'[Inital year]),TODOS(‘Calendario'[Academic Quarter]))

return SUMX(FILTRO(TmpTable,’Calendario'[Inital year]=AñoMáximo && ‘Calendario'[Academic Quarter] <= MaxQuarter),[Projects Submitted])

Esta tabla debería verse así

Trimestre/mes Proyectos presentados QTD nuevo YTD enviado
1 7 7 7
ago 3 7 3
septiembre 3 7 6
oct 1 7 7
2 11 11 18
nov 6 11 13
dic 1 11 14
ene 4 11 18

Gracias por tu ayuda.

Deja un comentario

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