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

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

Reply
migueldfr
Helper III
Helper III

Limitar el valor de cada barra (cada año ) a dia de hoy

Buenas a todos,

 

Estoy intentando dar con la solucion pero me queda poco. Lo que quiero es que las barras se limiten tanto en el color de 2024 como 2025 al mismo dia de hoy para el año en cuestion. Es decir, que las barras muestren la cantidad para cada tienda ( primer drill down) hasta el DIA de hoy para las dos barras , y para cada trimestre (segundo drill down) 

 

migueldfr_0-1736372245106.png

 

La medida que he utilizado es esta que muestro aqui 

 

Total_Importe_Cobro_Qencurso_Barras = 
VAR MaxQuarter = MAX('MasterCalendar'[Quarter Number])  -- Trimestre seleccionado en el contexto
VAR MaxYear = MAX('MasterCalendar'[Year])  -- Año seleccionado en el contexto
VAR FechaActual = TODAY() - 1  -- Fecha actual

-- Determinar la fecha límite solo si es el trimestre actual
VAR FechaLimite = 
    IF(
        MaxQuarter = QUARTER(FechaActual) && MaxYear = YEAR(FechaActual),  -- Si es el trimestre y año actuales
        FechaActual,  -- Limitar hasta la fecha de hoy
        BLANK()  -- No limitar para otros trimestres
    )

-- Calcular el importe con lógica ajustada
VAR Importe = 
    CALCULATE(
        SUM('CobrosAnx'[importe_cobro]),  -- Sumar importes
        FILTER(
            ALL('MasterCalendar'),  -- Ignorar filtros previos
            'MasterCalendar'[Year] = MaxYear &&  -- Año en el contexto
            'MasterCalendar'[Quarter Number] = MaxQuarter &&  -- Trimestre en el contexto
            (
                ISBLANK(FechaLimite) ||  -- Para trimestres distintos al actual, no aplicar límite
                'MasterCalendar'[Date] <= FechaLimite  -- Limitar hasta la fecha para el trimestre actual
            )
        )
    )

RETURN
    Importe

 

No se si estoy haciendo algo mal, o me falta algo pero me salen con los valores enteros de todo el año 2024

 

Gracias por adelantado

8 REPLIES 8
migueldfr
Helper III
Helper III

Esta seria la tabla que quiero mejorar, y quiero que en cada cuatrimestre de abajo apra el 2024 sea una cantidad euqivalente a la posicion actual para cada cuatrimestre

migueldfr_0-1736445521348.png

Total_Importe_Cobro_Qencurso = 
VAR MaxQuarter = MAX('MasterCalendar'[Quarter Number])  -- Trimestre seleccionado en el contexto
VAR MaxYear = MAX('MasterCalendar'[Year])  -- Año seleccionado en el contexto
VAR MesActual = MONTH(TODAY())  -- Mes actual
VAR DiaActual = DAY(TODAY()) - 1  -- Día actual menos 1

-- Determinar la fecha límite solo si es el trimestre actual
VAR FechaLimite = 
    IF(
        MaxQuarter = QUARTER(TODAY()),  -- Si es el trimestre y año actuales
        DATE(MaxYear, MesActual, DiaActual),  -- Limitar hasta el día actual menos 1
        BLANK()  -- No limitar para otros trimestres
    )

-- Calcular el importe con lógica ajustada
VAR Importe = 
    CALCULATE(
        SUM('CobrosAnx'[importe_cobro]),  -- Sumar importes
        FILTER(
            ALL('MasterCalendar'),  -- Ignorar filtros previos
            'MasterCalendar'[Year] = MaxYear &&  -- Año en el contexto
            'MasterCalendar'[Quarter Number] = MaxQuarter &&  -- Trimestre en el contexto
            (
                ISBLANK(FechaLimite) ||  -- Para trimestres distintos al actual, no aplicar límite
                'MasterCalendar'[Date] <= FechaLimite  -- Limitar hasta la fecha para el trimestre actual
            )
        )
    )

RETURN
    Importe
Syndicate_Admin
Administrator
Administrator

¿A qué te refieres con "Año"? ¿Año fiscal o año calendario? ¿Su tabla de fechas se crea en modo de importación? ¿Con qué frecuencia se actualiza?

Con año me refiero, año calendario, y es una importacion y el modelo se actualiza cada dia

MasterCalendar = 
VAR StartDate = DATE(2022, 1, 1)
VAR LastPaymentDate  = CALCULATE(MAX(CobrosAnx[fecha]))
VAR LastSalesDate = CALCULATE(MAX(EncargosAnx[fecha]))
VAR MaxDate = MAX(LastPaymentDate, LastSalesDate)
VAR EndDate = MaxDate + 10
RETURN
ADDCOLUMNS(
    CALENDAR(StartDate, EndDate),
    "Year", YEAR([Date]),
    "Month Number", MONTH([Date]),
    "Month Name", FORMAT([Date], "MMMM"),
    "Year Month", FORMAT([Date], "YYYY-MM"),
    "Quarter Number",QUARTER([Date]),
    "Quarter","Q" &  QUARTER([Date]),
    "Week Number", WEEKNUM([Date]),
    "Day", DAY([Date]),
    "Day of Week", WEEKDAY([Date], 2),
    "Day of Week Name", FORMAT([Date], "dddd"),
    "Is Weekday", IF(WEEKDAY([Date], 2) < 6, "Yes", "No")
)

 

Si se actualiza todos los días, puede agregarle una columna calculada

IsPastPY = [Fecha]<=EDATE(Hoy(),-12)

A continuación, puede agregarlo como filtro.

No entiendo muy bien como podria mejorar mi medida y mostrar el resultado que espero con lo que he comentado antes.

VAR Importe = 
    CALCULATE(
        SUM('CobrosAnx'[importe_cobro]),  -- Sumar importes
        SAMEPERIODLASTYEAR('MasterCalendar'[Date]),
        'MasterCalendar'[IsPastPY]=TRUE()
    )

la cosa es que hay cuatrimestres, y el modelo no mide igual que los meses. He puesto otro mensaje explicando la problematica.

Muchas gracias

La lógica será la misma. Necesita una columna calculada como filtro asistente.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

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

March2025 Carousel

Fabric Community Update - March 2025

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

Top Solution Authors
Top Kudoed Authors