Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo crear el indicador "Curren tPeriod" en la tabla de calendario en función de la columna de fecha principal

Tengo una tabla de calendario con estas columnas, que se construyen en función de la columna de fecha "POSTING_DATE" que está en mi "Query1Loan" principal que se actualiza cada mes. Cuando uso ese POSTING_DATE de atributo/marca como filtro con cualquier objeto visual que use métricas calculadas basadas en mis columnas de tabla de calendario, utilizando el formulario de inteligencia de tiempo POwer BI, no puedo hacer que funcione como mi filtro. Aparentemente no funciona por alguna razón, y obtengo ese Query1Loan de otras fuentes, no lo estoy creando. Me pregunto si puedo crear mi propio período actual en mi tabla de calendario usando dax y cómo podría escribir ese cálculo de dax. Muchas gracias por cualquier sugerencia.

Mk60_0-1749773632662.png

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola @Mk60 ,

Gracias por ponerse en contacto con la comunidad de Microsoft Fabric y compartir el contexto detallado.

En función de la descripción, en la que el conjunto de datos se actualiza mensualmente alrededor del 7.º día laborable con el rendimiento de fin de mes anterior, esta es una versión actualizada que puede agregar como columna calculada en la tabla de Calendar:

IsCurrentPeriod = 
VAR MaxPostingDate =
    CALCULATE (
        MAX ( Query1Loan[POSTING_DATE] ),
        REMOVEFILTERS ( Query1Loan )
    )
VAR MaxMonthEnd =
    EOMONTH ( MaxPostingDate, 0 )
RETURN
    IF (
        EOMONTH ( 'Calendar'[Date], 0 ) = MaxMonthEnd,
        TRUE(),
        FALSE()
    )

Para admitir objetos visuales que muestren solo los últimos 5 trimestres, también puede agregar lo siguiente:

IsInLast5Quarters = 
VAR MaxPostingDate =
    CALCULATE (
        MAX ( Query1Loan[POSTING_DATE] ),
        REMOVEFILTERS ( Query1Loan )
    )

VAR MaxYear = YEAR(MaxPostingDate)
VAR MaxMonth = MONTH(MaxPostingDate)

// Determine quarter start of MaxPostingDate
VAR MaxQuarterStartMonth = SWITCH(
    TRUE(),
    MaxMonth IN {1, 2, 3}, 1,
    MaxMonth IN {4, 5, 6}, 4,
    MaxMonth IN {7, 8, 9}, 7,
    10
)

VAR MaxQuarterStartDate = DATE(MaxYear, MaxQuarterStartMonth, 1)
VAR ThresholdDate = EDATE(MaxQuarterStartDate, -15)  // Go back 5 quarters

RETURN
    IF (
        'Calendar'[Date] >= ThresholdDate
        && 'Calendar'[Date] <= MaxPostingDate,
        TRUE(),
        FALSE()
    )

Ahora puede usar estas marcas en segmentaciones de datos o filtros para restringir los objetos visuales al último mes o ventana de 5 trimestres disponible.

Espero que esto ayude. Póngase en contacto con nosotros para obtener más ayuda.
Si esta publicación ayuda, considere dar un felicito y aceptar como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.


Gracias.

Encuentre el archivo .pbix adjunto como referencia.

Hola @v-veshwara-msft

¡Muchas gracias una vez más! Agradezco sinceramente su disposición a ayudarme aquí. Probé su filtro "IsInLast5Quarters" y no me proporciona lo que estaba buscando, y estoy seguro de que la razón es que necesito brindarle un detalle más, y probablemente podrá modificar este filtro para capturar SOLO valores para el último "Fin de mes trimestral", (Jun, Sep, Dic, Mar, Jun, ). Aunque los usuarios quieren llamarlos Q1 2024, Q2, 2024, etc., pero las métricas deben ser a partir de marzo de 2024, junio de 2024, etc.). Por lo tanto, incluiré algunas imágenes más aquí y les mostraré ejemplos de:

Pictuer#1. Tabla mensual real con todos los valores/números que es la base para crear 5 tablas de trimestres recientes que necesito

Imagen #2. Tabla con los resultados reales de fin de trimestre que necesito capturar,

Imagen #3. Tabla donde utilicé su filtro "IsInLast5Quarters", (donde Power BI Time intelligence básicamente suma 3 meses de cada trimestre y divide por 3 para darme valores técnicamente precisos, pero no solo el último mes de cada trimestre que necesito). Es decir, el valor preciso del Q1.2025 es 37.90%, (imagen # 2), y usando su filtro me da 34.01%, (37.90% + 34.99% + 29.13%) = 102.02 / 3 = 34.01%)

Solo para su información, para el segundo trimestre de 2025 en mi caso, el informe mostrará los datos de mayo de 2025 por ahora, y una vez que se carguen los datos de junio, a principios del próximo mes, ese número aún mostrará correctamente el segundo trimestre de 2025, pero los datos / valores reflejarán con precisión junio de 2025 (final para el segundo trimestre de 2025)

Perdón por la larga explicación. Espero que esto ayude un poco más a tener un dax revisado que capturará solo el último mes de los valores de cada trimestre, y aún así mantendrá solo los 5 trimestres más recientes (que son 5 fines de mes trimestrales) en la tabla visual. ¡Muy apreciado!

Mk60_0-1750094258488.pngMk60_1-1750094279536.pngMk60_2-1750094308286.png

Hola @Mk60 ,
Gracias por el contexto adicional y las capturas de pantalla. En función de su aclaración, esta es la tabla actualizada de DAX para el calendario que marca solo el último mes de cada trimestre (es decir, marzo, junio, septiembre, diciembre, junio), limitado a los 5 finales de trimestre completados más recientes en función de los últimos POSTING_DATE disponibles:

IsInLast5Quarters = 
VAR MaxPostingDate =
    CALCULATE (
        MAX ( Query1Loan[POSTING_DATE] ),
        REMOVEFILTERS ( Query1Loan )
    )

VAR MaxMonth = MONTH ( MaxPostingDate )
VAR MaxQuarterEndMonth =
    SWITCH (
        TRUE (),
        MaxMonth IN { 1, 2, 3 }, 3,
        MaxMonth IN { 4, 5, 6 }, 6,
        MaxMonth IN { 7, 8, 9 }, 9,
        12
    )

VAR MaxQuarterEndDate = DATE ( YEAR ( MaxPostingDate ), MaxQuarterEndMonth, 1 )

VAR QuarterEndList =
    ADDCOLUMNS (
        GENERATESERIES ( 0, 4, 1 ),
        "QuarterEnd",
            EOMONTH ( MaxQuarterEndDate, - [Value] * 3 )
    )

VAR ValidQuarterEnds =
    SELECTCOLUMNS ( QuarterEndList, "QuarterEnd", [QuarterEnd] )

RETURN
    IF (
        EOMONTH ( 'Calendar'[Date], 0 ) IN ValidQuarterEnds,
        TRUE (),
        FALSE ()
    )

Ahora puede usar esta columna en el panel de filtro visual (por ejemplo, IsInLast5Quarters= TRUE()) para restringir los objetos visuales solo a esos meses.

Espero que esto ayude.

Si esto no satisface completamente sus necesidades, considere compartir un archivo PBIX de muestra o datos de muestra simplificados para que podamos guiarlo con mayor precisión.

Si esta publicación ayuda, considere dar un felicito y aceptar como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.


Gracias.

Encuentre el archivo .pbix adjunto como referencia.

Hola @v-veshwara-msft

Una vez más, solo quería expresar mi más sincero agradecimiento por su tiempo y pasión para brindar la mejor solución a mi tal vez pequeña solicitud. Su dax revisado hace exactamente lo que estaba buscando, y espero que otros usuarios también lo encuentren útil.

Si no te importa, agregaré una pregunta "extra" más, solo para mi propia práctica; Aquí está la tabla final con su dax revisado, se ve perfecto, y solo me preguntaba si hay un giro fácil en la sintaxis de su dax para permitir que los "Períodos de trimestres no completos", en este caso Q2 2025 muestren los valores de los meses más recientes hasta que los datos del trimestre completo se carguen el próximo mes para completar / finalizar el último trimestre. De nuevo, solo para mi propia práctica. ¡Muchas gracias, una vez más por toda la educación y su paciencia 🙂

Mk60_0-1750178125479.png

Syndicate_Admin
Administrator
Administrator

Si por Período actual se refiere al mes actual, puede crear una columna calculada para comparar el mes año con el mes año de hoy

Is Current Period =
FORMAT ( TODAY (), "mmmyy" ) = 'Calendar'[Month Year]
Syndicate_Admin
Administrator
Administrator

Hola @Mk60

Usar el dax para agregar una columna calculada en la tabla de calendario

IsCurrentPeriod =

VAR MaxPostingDate = CALCULAR(

MAX(Query1Loan[POSTING_DATE]),

REMOVEFILTERS(Query1Loan)

)

DEVOLUCIÓN

IF('Calendar'[Date] = MaxPostingDate, TRUE(), FALSE())

DEVOLUCIÓN

IF('Calendar'[Date] = MaxPostingDate, TRUE(), FALSE())Gracias
Pankaj Namekar | LinkedIn (en inglés)

Si esta solución ayuda, por favor acéptala y da un aplauso (Me gusta), sería muy apreciado.

Hola @pankajnamekar25

Muchas gracias por su aporte. Su dax funciona técnicamente bien, pero cuando selecciono "Verdadero" en mi filtro, muestra la fecha como 30/06/2025, lo cual es técnicamente correcto ya que ahora estamos en junio. Sin embargo, no proporcioné suficiente información, así que aquí hay un contexto adicional, que debería ayudar. Remito mis datos solo una vez al mes, anexando los detalles mensuales a nivel de cuenta para el rendimiento de fin de mes anterior a mi historial actual en el modelo Query1Loan. Los nuevos datos de vencimiento de fin de mes se actualizan aproximadamente al 7º día hábil del mes en curso, con el final del mes anterior, por lo que en este momento (junio), mis datos de Current_Period son mayo de 2025, en julio sería el final del mes de junio agregado al 7º día de autobús, y así sucesivamente. Sé que la tabla del calendario ya tiene un año completo con todos los meses para 2025, por lo que mi desafío es tener algún tipo de "bandera" o filtro para poder usar mis datos históricos desde enero de 2023 (que es mi primer mes disponible) hasta el final de mes más reciente que tengo disponible en mi conjunto de datos. Así que espero que migh te ayude a personalizar el dax que proporcionaste?

Además, si se me permite agregar, necesitaría una "bandera" similar para ayudarme a filtrar solo los 5 trimestres más recientes en mis imágenes, y actualmente no puedo eliminar otros trimestres que aparecen hasta fin de año, para los que obviamente aún no tengo ningún dato.

Aquí hay algunas imágenes más para mostrar mi atributo Date en la consulta principal y cómo conecté la fecha archivada a mi tabla de calendario. Muchas gracias por su tiempo, y applogogize por no proporcionar más detalles la primera vez.

Mk60_0-1749820474391.pngMk60_1-1749820493368.png

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors