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
JihyeHeo
Frequent Visitor

Problema con la aplicación del filtro de página (problema de relación de fecha)

Intento aplicar un filtro en el panel de filtro al informe para ver los valores de 2019. Sin embargo, hay una diferencia entre el valor filtrado y el real.

Hay tres tablas como se muestra a continuación, y he creado algunas relaciones entre las columnas Tabla A [fecha] y Fecha de las columnas De la Tabla B y C (Muchos a uno, dirección única) y he activado la relación entre el Cuadro A [fecha] y el Cuadro C [fecha de factura].

  • Tabla A:Tabla de calendarios que incluye las columnas de fecha, año y mes
  • Tabla B:Nueva tabla de clientes que incluye las columnas del nombre del cliente, la fecha de primer pedido/año/mes
  • Cuadro C:Tabla de ventas que incluye las columnas de nombre de cliente, factura,fecha de factura, fecha de entrada, fecha reservada y valores de pedido

Al seleccionar un filtro como Tabla A [año], el valor para 2019 YTD New Customer es 201, y al seleccionar un filtro como Tabla B [año], el valor es 205 y este es el correcto.

Necesito aplicar el Cuadro A [año] al "filtro de página" en este informe. ¿Cómo puedo obtener el valor correcto para 2019 YTD New Customer?

Espero que me ayudes a resolverlo.

pic.png

5 REPLIES 5
amitchandak
Super User
Super User

@JihyeHeo , ¿Qué quieres decir con mi YTD 2019. ¿Hasta junio de 2019?

Ejemplos Varias versiones de YTD puede tener

YTD QTY = TOTALYTD(Sum('order'[Qty]),'Date'[Date])
LYTD QTY = TOTALYTD(Sum('order'[Qty]),dateadd('Date'[Date],-1,year))
Previous Year = CALCULATE(SUM('order'[Qty]), PREVIOUSYEAR('Date'[Date]))

//Based on Today
YTD QTY forced= 
var _max = today()
return
calculate(Sum('order'[Qty]),DATESYTD('Date'[Date]),'Date'[Date]<=_max)
//calculate(TOTALYTD(Sum('order'[Qty]),'Date'[Date]),filter('Date','Date'[Date]<=_max))

LYTD QTY forced= 
var _max = date(year(today())-1,month(today()),day(today()))
return
CALCULATE(Sum('order'[Qty]),DATESYTD(dateadd('Date'[Date],-1,year)),'Date'[Date]<=_max)
//TOTALYTD(Sum('order'[Qty]),dateadd('Date'[Date],-1,year),'Date'[Date]<=_max)

//Based on Transaction date. Here you can change logic
YTD QTY forced= 
var _max = maxx('order',[Order date])
return
calculate(Sum('order'[Qty]),DATESYTD('Date'[Date]),'Date'[Date]<=_max)
//calculate(TOTALYTD(Sum('order'[Qty]),'Date'[Date]),filter('Date','Date'[Date]<=_max))

LYTD QTY forced= 
var _max1 =maxx('order',[Order date])
var _max = date(year(_max1)-1,month(_max1),day(_max1))
return
CALCULATE(Sum('order'[Qty]),DATESYTD(dateadd('Date'[Date],-1,year)),'Date'[Date]<=_max)
//TOTALYTD(Sum('order'[Qty]),dateadd('Date'[Date],-1,year),'Date'[Date]<=_max)

//Only year vs Year, not a level below

This Year = CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]=max('Date'[Year])))
Last Year = CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]=max('Date'[Year])-1))

Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únase a ella con la columna de fecha de su/s hecho/s. Consulte:
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/

Vea si mi seminario web sobre Time Intelligence puede ayudar: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...


Apreciamos tus Felicitaciones.

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Gracias por su respuesta. Utilizo la medida siguiente para contar el número de nuevos clientes para el período YTD, y para ver el nuevo cliente para 2019 YTD, seleccioné 2019 año en el panel de filtro.

Medida: Nuevo número de clientes YTD ? calculate(DISTINCTCOUNT('New Customer'[FullCustNo]),DATESYTD('New Customer'[First Order Date]),'New Customer'[MNC Month]<-MONTH(TODAY()))

Por favor, ayúdame a resolver este problema.

Hola @JihyeHeo ,

He creado la tabla B como esta:

sample date.png

Prueba como esta medida:

New Customer Count YTD =
CALCULATE (
    DISTINCTCOUNT ( 'Table B'[FullCustNo] ),
    FILTER (
        ALLSELECTED ( 'Table B' ),
        'Table B'[MNC Year]
            <= YEAR ( TODAY () ) - 1
            && 'Table B'[MNC Month] <= MONTH ( TODAY () )
    )
)

result1.pngresult2.png

Se adjunta un archivo de ejemplo que espera ayudarle, por favor compruébelo y pruébelo: Problema con la aplicación del filtro de página (problema de relación de fecha).pbix

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias por su respuesta. Sin embargo, el problema no se resuelve...

Comparé el valor filtrado de 2019 de un nuevo número de clientes total YTD con el valor YTD calculado de 2019.

Consulte las siguientes medidas.

1. El valor filtrado de 2019 de un nuevo número de clientes total YTD seleccionando 2019 en el campo de filtro.

Nuevo número de clientes YTD - CALCULATE ( DISTINCTCOUNT ( 'Table B'[FullCustNo] ), FILTER ( ALLSELECTED ( 'Table B' ), 'Table B'[MNC Year] <' YEAR ( TODAY () ) && 'Table B'[MNC Month] <' MONTH ( TODAY () ) ) )

2. Valor YTD calculado 2019:

El año pasado Nuevo Conteo de Clientes YTD calculate(DISTINCTCOUNT('Tabla B'[FullCustNo]),'Tabla B'[Año MNC]-Año(HOY())-1,'Tabla B'[Mes MNC]<MONTH(TODAY()))

¿Sabes por qué ambos valores no son los mismos?

Hola @JihyeHeo ,

Está relacionado con la función allselected().

La función ALLSELECTED obtiene el contexto que representa todas las filas y columnas de la consulta, al tiempo que mantiene filtros y contextos explícitos distintos de los filtros de fila y columna. Esta función se puede utilizar para obtener totales visuales en las consultas.

Si no uso allselected(), cuando pongo el año MNC como 2019 en el filtro en todas las páginas, obtendrá 4 no 3 en mi muestra:

1.png

Por favor refiérase a este documento: función allselected()

Best Looks,
Yingjie Li

Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

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