cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Helper II
Helper II

Modelado de fecha con fecha y otras segmentaciones

Estoy molestando un informe que permite al usuario elegir ver los datos y objetos visuales durante el período de datos seleccionado. El período de datos se basa en dos segmentaciones de datos:

Slicer 1 - Fecha de inicio. Slicer 1 opción: valor del mes, desde los últimos 6 meses hasta los próximos 6 meses

Slicer 2 - Marco de tiempo. Slicer 2 opción: 1-2 meses, 3-4 meses, 7-12 meses.

La fecha de inicio del período de datos depende del valor de la segmentación de datos 1, mientras que la fecha de finalización se calcula mediante la segmentación 1 y la segmentación 2.

por ejemplo, Si la cortadora 1 a enero20, la cortadora 2 a 1-2 meses. La fecha de inicio será del 1 al 20 de enero, la fecha de finalización será del 29 al 20 de febrero.

por ejemplo, Si la cortadora 1 a mayo20, la cortadora 2 a 3-4 meses. La fecha de inicio será del 1-jul-20, la fecha de finalización será del 31 al 20 de agosto.

¿Debo y cómo puedo crear una relación de fecha de inicio y fecha de finalización con la tabla Date?

1 ACCEPTED SOLUTION
Community Support
Community Support

Hola, @MikeKK

De acuerdo con su descripción y ejemplos, puedo entender su lógica, pero no creo que se pueda lograr mediante la construcción de una relación de fecha de inicio y fecha de finalización con la tabla Fecha. Te sugiero que lo consigas usando medidas, puedes seguir mis pasos:

  1. Cree dos tablas 'Slicer1', "Slicer2":
Slicer1 =

CALENDAR(DATE(2020,1,1),DATE(2020,12,31))

Slicer2: Haga clic en "Introducir datos" para crear esta tabla:

v-robertq-msft_0-1607671834867.png

  1. Cree dos medidas:
Start date =

var _selecteddate=MIN('Slicer1'[Date])

var _selectedperiod=SELECTEDVALUE(Slicer2[option])

return

SWITCH(_selectedperiod,

"1-2 months",_selecteddate,

"3-4 months",EDATE(_selecteddate,2),

"7-12 months",EDATE(_selecteddate,6))
End date =

var _selecteddate=MIN('Slicer1'[Date])

var _selectedperiod=SELECTEDVALUE(Slicer2[option])

return

SWITCH(_selectedperiod,

"1-2 months",EDATE(_selecteddate,2)-1,

"3-4 months",EDATE(_selecteddate,4)-1,

"7-12 months",EDATE(_selecteddate,12)-1)

A continuación, cree dos segmentaciones y dos gráficos de tarjetas para colocar dos medidas, puede obtener lo que desea, como esta:

v-robertq-msft_1-1607671834878.png

Puede descargar mi archivo pbix de prueba aquí

Saludos

Equipo de apoyo a la comunidad _Robert Qin

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

View solution in original post

6 REPLIES 6
Community Support
Community Support

Hola, @MikeKK

De acuerdo con su descripción y ejemplos, puedo entender su lógica, pero no creo que se pueda lograr mediante la construcción de una relación de fecha de inicio y fecha de finalización con la tabla Fecha. Te sugiero que lo consigas usando medidas, puedes seguir mis pasos:

  1. Cree dos tablas 'Slicer1', "Slicer2":
Slicer1 =

CALENDAR(DATE(2020,1,1),DATE(2020,12,31))

Slicer2: Haga clic en "Introducir datos" para crear esta tabla:

v-robertq-msft_0-1607671834867.png

  1. Cree dos medidas:
Start date =

var _selecteddate=MIN('Slicer1'[Date])

var _selectedperiod=SELECTEDVALUE(Slicer2[option])

return

SWITCH(_selectedperiod,

"1-2 months",_selecteddate,

"3-4 months",EDATE(_selecteddate,2),

"7-12 months",EDATE(_selecteddate,6))
End date =

var _selecteddate=MIN('Slicer1'[Date])

var _selectedperiod=SELECTEDVALUE(Slicer2[option])

return

SWITCH(_selectedperiod,

"1-2 months",EDATE(_selecteddate,2)-1,

"3-4 months",EDATE(_selecteddate,4)-1,

"7-12 months",EDATE(_selecteddate,12)-1)

A continuación, cree dos segmentaciones y dos gráficos de tarjetas para colocar dos medidas, puede obtener lo que desea, como esta:

v-robertq-msft_1-1607671834878.png

Puede descargar mi archivo pbix de prueba aquí

Saludos

Equipo de apoyo a la comunidad _Robert Qin

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

View solution in original post

Sí, eso es lo que pensé. No es posible crear una relación con la tabla Date si estamos viendo Start and End Date a través de dos segmentaciones de datos no de fecha. ¡Gracias!

Responsive Resident
Responsive Resident

La creación de 1 segmentación de datos para comprobar 2 fechas no es posible a menos que cree medidas y más medidas.

Puede copiar la tabla de fechas y crear una relación entre startdate y datetable1 y una relación entre enddate y datetable2

Sin embargo, dudo de la necesidad. Esperaría un requisito como 'quiero ver todos los blablas que han comenzado en el período a a b y se han terminado en 2 meses (o 4 o lo que sea)'

No quiero comprobar el inicio y la fecha final.

Responsive Resident
Responsive Resident

No creo que tu descripción diga eso. Si leo la descripción, la fecha de inicio determina en qué bucket se encuentra

Inicio 20 jan es cubo 1 (1-2) meses

Inicio 20 puede es cubo 2

Así que el cubo no tenía nada que ver con la fecha final (si leo la descripción)

Si quiere decir que el cubo depende de la fecha inicial y final (por ejemplo, la duración de la ocurrencia) entonces yo diría

calcular la ocurrencia en el hecho (datediff(days,startdate,enddate)

Si < 60 cubo 1

si entre 60 y 120 cubo 2 etc

Esto va en el hecho de y se crea una cortadora en él

Helper II
Helper II

La fecha de finalización es necesaria para que el objeto visual solo muestre datos/valor entre la fecha de inicio y la fecha de finalización.


La fecha de inicio y finalización es dinámica (basada en el valor de segmentación de datos), ¿cómo puedo crear los buckets en la tabla?

Responsive Resident
Responsive Resident

No entiendo por qué quieres vincularte a enddate. Si conoce la fecha de inicio, sabe en qué período de tiempo (bucket) se encuentra.

Así que varias opciones aquí

1) Cree los cubos en la tabla de hechos. A continuación, cree una dimensión con número de categoría / descripción.

2) Cree los cubos en la tabla de fechas.

Helpful resources

Announcements
secondImage

Congratulations!

We are excited to announce the Power BI Super Users!

Wave Release 2

Check out the updates in Power BI.

Overview of Power BI 2020 release wave 2!

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.