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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Tabla de calendario dinámica

Hola

Quiero crear una tabla de calendario basada en las fechas de segmentación de datos( Fecha de inicio y Fecha de Enda).

Por ejemplo: CalendarDates = CALENDAR([FYStartDate],[FYEndDate]) - (Slicer Dates by SELECTEDVALUE) dado en la parte inferior del mensaje.

Estoy creando un informe que mostrará el ejercicio como Calendario o Fiscal. Probé la solución bidireccional y funcionó en función de la selección, pero mostró todas las fechas en la tabla de transacciones. no está filtrando en función del intervalo de fechas. Así que pensé que si mi tabla calendario solo tiene las fechas del intervalo de fechas de la segmentación de datos, puedo superar este problema, ¿alguna idea?

FinStartEnd =
Dónde StartFinYearSeleccionado= SELECTEDVALUE('Cambiar calendario'[Año])
Dónde StartFinStartMonth =si(SELECTEDVALUE('FinYearCategory'[FinYearType])= "Calendario",01,07)
Dónde Fecha de inicio =FECHA(StartFinYearSeleccionado,StartFinStartMonth,01)
Dónde EndFinYearSeleccionado= SELECTEDVALUE('Cambiar calendario'[Año])
Dónde EndFinEndMonth =si(SELECTEDVALUE('FinYearCategory'[FinYearType])= "Calendario",12,6)
Dónde Fecha de finalización =FECHA(si(EndFinEndMonth = 12, EndFinYearSeleccionado,EndFinYearSeleccionado+1),EndFinEndMonth,si(EndFinEndMonth=12,31,30))
DEVOLUCIÓN
SI (
SELECTEDVALUE ( «Ejercicio»[Valor] ) >= Fecha de inicio
&& SELECTEDVALUE ( «Ejercicio»[Valor] ) <= Fecha de finalización,
1
)
FYEndDate =
Dónde FinYearSelected= SELECTEDVALUE('Cambiar calendario'[Año])
Dónde FinEndMenth =si(SELECTEDVALUE('FinYearCategory'[FinYearType])= "Calendario",12,6)
Dónde Fecha de finalización =FECHA(si(FinEndMenth = 12, FinYearSelected,FinYearSelected+1),FinEndMenth,si(FinEndMenth=12,31,30))
devolución
Fecha de finalización

Gracias de antemano,

JK.

FinYear.PNG

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@jk_adelaide ,

Las tablas calculadas no pueden ser afectadas dinámicamente por las segmentaciones de datos, por lo que no puede tener una tabla calculada dinámica sobre la marcha para usar en una visualización。

Puede considerar usar la medida = 1 para ver las fechas filtradas en el objeto visual.

Estos son los pasos que puede seguir:

1. Crear medida.

FYStartDate =
var _StartFinYearSelected=SELECTEDVALUE('Switch Calendar'[Year])
var _StartFinStartMonth=
IF(
    SELECTEDVALUE('FinYearCategory'[FinYearType])="Calendar",1,7)
var _StartDate=DATE(_StartFinYearSelected,_StartFinStartMonth,1)
var _EndFinYearSelected= SELECTEDVALUE('Switch Calendar'[Year])
var _EndFinEndMonth =if(SELECTEDVALUE('FinYearCategory'[FinYearType])= "Calendar",12,6)
var _EndDate =DATE(if(_EndFinEndMonth = 12, _EndFinYearSelected,_EndFinYearSelected+1),_EndFinEndMonth,if(_EndFinEndMonth=12,31,30))
return
IF(
    SELECTEDVALUE ( 'Financial Year'[Value] ) >= _StartDate
&& SELECTEDVALUE ( 'Financial Year'[Value] ) <= _EndDate,
_StartDate
)
FYEndDate =
var FinYearSelected= SELECTEDVALUE('Switch Calendar'[Year])
var FinEndMonth =if(SELECTEDVALUE('FinYearCategory'[FinYearType])= "Calendar",12,6)
var EndDate =DATE(if(FinEndMonth = 12, FinYearSelected,FinYearSelected+1),FinEndMonth,if(FinEndMonth=12,31,30))
return
EndDate
CalendarDates =
IF(
    MAX('Switch Calendar'[Date])>=[FYStartDate]&&[FYEndDate] - SELECTEDVALUE('Financial Year'[Value]),1,0)

2. Coloque [CalendarDates] en Filtros, establezca is=1, aplique el filtro.

vyangliumsft_0-1647237493025.png

3. Resultado:

vyangliumsft_1-1647237493029.png

Saludos

Liu Yang

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

@jk_adelaide ,

Las tablas calculadas no pueden ser afectadas dinámicamente por las segmentaciones de datos, por lo que no puede tener una tabla calculada dinámica sobre la marcha para usar en una visualización。

Puede considerar usar la medida = 1 para ver las fechas filtradas en el objeto visual.

Estos son los pasos que puede seguir:

1. Crear medida.

FYStartDate =
var _StartFinYearSelected=SELECTEDVALUE('Switch Calendar'[Year])
var _StartFinStartMonth=
IF(
    SELECTEDVALUE('FinYearCategory'[FinYearType])="Calendar",1,7)
var _StartDate=DATE(_StartFinYearSelected,_StartFinStartMonth,1)
var _EndFinYearSelected= SELECTEDVALUE('Switch Calendar'[Year])
var _EndFinEndMonth =if(SELECTEDVALUE('FinYearCategory'[FinYearType])= "Calendar",12,6)
var _EndDate =DATE(if(_EndFinEndMonth = 12, _EndFinYearSelected,_EndFinYearSelected+1),_EndFinEndMonth,if(_EndFinEndMonth=12,31,30))
return
IF(
    SELECTEDVALUE ( 'Financial Year'[Value] ) >= _StartDate
&& SELECTEDVALUE ( 'Financial Year'[Value] ) <= _EndDate,
_StartDate
)
FYEndDate =
var FinYearSelected= SELECTEDVALUE('Switch Calendar'[Year])
var FinEndMonth =if(SELECTEDVALUE('FinYearCategory'[FinYearType])= "Calendar",12,6)
var EndDate =DATE(if(FinEndMonth = 12, FinYearSelected,FinYearSelected+1),FinEndMonth,if(FinEndMonth=12,31,30))
return
EndDate
CalendarDates =
IF(
    MAX('Switch Calendar'[Date])>=[FYStartDate]&&[FYEndDate] - SELECTEDVALUE('Financial Year'[Value]),1,0)

2. Coloque [CalendarDates] en Filtros, establezca is=1, aplique el filtro.

vyangliumsft_0-1647237493025.png

3. Resultado:

vyangliumsft_1-1647237493029.png

Saludos

Liu Yang

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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