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

Mostrar sólo todas las primeras fechas de meses para todo el período en el gráfico (más incl min y max date sclicer)

Tengo una columna con fecha, donde las fechas pueden repetirse (un período de varios años)

ejemplo:

02.01.2020

03.01.2020

03.01.2020

07.02.2020

08.03.2020

10.03.2020

04.01.2021

04.07.2021

necesitar:

1) Mostrar sólo aquellas fechas que son la primera fecha del mes de la selección para todo el período. Ejemplo fo resultado:

02.01.2020

07.02.2020

08.03.2020

04.01.2021

04.07.2021

2) Lo mismo que en el punto 1, pero añadió al período las fechas de inicio y finalización del período (fijado por el filtro):

por ejemplo: período de 03.01.2020 a 10.03.202 ( período se establece a través de la figura).

resultado:

03.01.2020

07.02.2020

08.03.2020

10.03.2020

Entiendo que esto debe hacerse de alguna manera a través de la función de filtro. Pero tengo poca experiencia y no puedo establecer límites en medida

¿Quién puede mostrar la solución?

1 ACCEPTED SOLUTION

@esemyashkin ,

Espero tener los requisitos correctamente ahora.

Cree una medida y utilí con ella como filtro para el objeto visual:

#checkFirstDate = 
VAR minDate = MINX ( ALLSELECTED ( T[Date] ), T[Date] )
VAR maxDate = MAXX ( ALLSELECTED ( T[Date] ), T[Date] )
VAR cMonth = MONTH ( SELECTEDVALUE ( T[Date] ) )
VAR cYear = YEAR ( SELECTEDVALUE ( T[Date] ) )
VAR cDate = SELECTEDVALUE ( T[Date] )
RETURN
    IF (
        cDate
            = CALCULATE (
                MINX ( ALLSELECTED ( T[Date] ), T[Date] ),
                T[Date] >= minDate,
                T[Date] <= maxDate,
                MONTH ( T[Date] ) = cMonth,
                YEAR ( T[Date] ) = cYear
            ),
        1,
        0
    )

1:

ERD_1-1620923019864.png

2:

ERD_3-1620923339089.png

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

View solution in original post

13 REPLIES 13
Syndicate_Admin
Administrator
Administrator

No @esemyashkin,

Aquí hay 2 opciones:

1. Cree primero una columna Índice (en PQ).

2. Cree una columna calculada:

v1:

first occurrence = 
VAR currentIndex = T[Index]
VAR currentMonth = MONTH(T[Date])
VAR currentYear = YEAR(T[Date])
RETURN 
IF(
    CALCULATE(
        COUNTROWS(T),
        T[Index] < currentIndex, 
        MONTH(T[Date]) = currentMonth, 
        YEAR(T[Date]) = currentYear,
        ALLEXCEPT(T,T[Date])
   ) >= 1,
   0,
   1
)

v2:

first occurrence v2 = 
IF(
    COUNTROWS(
        FILTER(T, 
        MONTH(T[Date]) = MONTH(EARLIER(T[Date])) &&
        YEAR(T[Date]) = YEAR(EARLIER(T[Date])) &&
        T[Index] <= EARLIER(T[Index])
        )
    ) = 1,
   1,
   0
)

Utilice esta columna para filtrar objetos visuales:

ERD_0-1620897169791.png

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

gracias.

1.Pero en esta solución se marca sólo una fila con la fecha más temprana a partir de mes. ( Por ejemplo, si tengo varias filas con la fecha 02.01.2020, esta solución tiene un marcador de solo una fila. Y no puedo resumir las ventas de Alll en esta fecha en el gráfico)

2. ¿Cómo agregar el inicio del gráfico y el final del período? Por ejemplo, si elegí en eslante en el período de lista: de 03.01.2020 a 10.03.2020, entonces en el gráfico ambas fechas no se muestran

@esemyashkin ,

Lo siento, no obtenía todos los requisitos previos. La solución podría ser un poco más complicada entonces.

En su segundo ejemplo, ¿por qué tiene 2 fechas del mismo mes, mientras que antes ha indicado que solo necesita la primera fecha del mes de la selección?

es decir, como resultado, hay dos objetivos para mostrar en el gráfico:
1) sólo datos de ventas para el primer día del mes para el período (sin segmentación de datos).
2) (máximo objetivo) mostrar los mismos valores (el importe de las ventas en el primer día del mes para el período) pero sujeto a las restricciones de segmentación por período (es decir, las fechas de inicio y finalización se incluyeron en el gráfico).

@esemyashkin ,

Espero tener los requisitos correctamente ahora.

Cree una medida y utilí con ella como filtro para el objeto visual:

#checkFirstDate = 
VAR minDate = MINX ( ALLSELECTED ( T[Date] ), T[Date] )
VAR maxDate = MAXX ( ALLSELECTED ( T[Date] ), T[Date] )
VAR cMonth = MONTH ( SELECTEDVALUE ( T[Date] ) )
VAR cYear = YEAR ( SELECTEDVALUE ( T[Date] ) )
VAR cDate = SELECTEDVALUE ( T[Date] )
RETURN
    IF (
        cDate
            = CALCULATE (
                MINX ( ALLSELECTED ( T[Date] ), T[Date] ),
                T[Date] >= minDate,
                T[Date] <= maxDate,
                MONTH ( T[Date] ) = cMonth,
                YEAR ( T[Date] ) = cYear
            ),
        1,
        0
    )

1:

ERD_1-1620923019864.png

2:

ERD_3-1620923339089.png

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

Gracias por su tiempo y esfuerzo!.

Gracias es correcto.

Me disculpo por no dar todos los requisitos a la vez.

Para icluir maxdate (cortadora rom) i midify medida:

checkFirstDate = VAR minDate = MINX ( ALLSELECTED ( T[Date] ), T[Date] ) VAR maxDate = MAXX ( ALLSELECTED ( T[Date] ), T[Date] ) VAR cMonth = MONTH ( SELECTEDVALUE ( T[Date] ) VAR cYear = YEAR ( SELECTEDVALUE ( T[Fecha] ) ) VAR cDate = SELECTEDVALUE ( T[Fecha] ) RETURN IF ( cDate = CALCULATE ( MINX ( ALLSELECTED ( T[Date] ), T[Date] ), T[Date] >= minDate, T[Date] <= maxDate, MES ( T[Fecha] ) = cMonth, YEAR ( T[Fecha] ) = cYear ), 1 ,

IF ( cDate = CALCULATE ( MINX ( ALLSELECTED ( T[Date] ), T[Date] ), T[Date] = maxDate, MONTH ( T[Date] ) = cMonth, YEAR ( T[Date] = cYear ), 1, 0 ))

Gracias por su tiempo y esfuerzo!.

¿Podría mostrar una solución de ejemplo?
1.In los datos iniciales, tengo datos de ventas diarios (sin embargo, el primer día a mes puede diferir, es decir, para enero - las primeras ventas fueron el 2 de enero, para febrero - el 4 de febrero, etc.). muchas ventas se realizan en un día.
Durante un largo período de tiempo (dos años), es óptimo que
el gráfico mostraba el importe de las ventas en el primer día del mes (la suma de todas las ventas ese día) por mes.
2. Además del gráfico, la hoja tiene una segmentación de datos que establece la fecha de inicio y finalización (basada en el mismo campo 'fecha') Idealmente, nos gustaría que los valores de ventas inicial y final mostrados en el gráfico fueran determinados por la segmentación de datos. Por ejemplo, las primeras ventas se realizaron el 01/02/2020 y, a partir del 01/03/2020, respectivamente, la primera fecha del gráfico debe ser 01/03/2020 y no 01/02/2020. lo mismo con la fecha de finalización.
es decir, la información que se muestra en el gráfico debe ser la siguiente:
1- ventas por día especificadas en el límite de segmentación (inicio del período desde la segmentación)
2- ventas en la primera fecha del mes siguiente (mes + 1 en relación con la fecha de inicio y el período de la segmentación)
3- ventas en la primera fecha del mes (mes + 2)
4- ventas en la primera fecha del mes (mes + 3)
.....
etc
9. Ventas el primer día del mes especificado en la restricción de la segmentación de datos (fin del período)
10. ventas el día especificado por la segmentación limitada (final) del período.
puede sugerir cómo implementar esto (si es posible).
es decir, como resultado, hay dos objetivos para mostrar en el gráfico:
1) sólo datos de ventas para el primer día del mes para el período (sin segmentación de datos).
2) (máximo objetivo) mostrar los mismos valores (el importe de las ventas en el primer día del mes para el período) pero sujeto a las restricciones de segmentación por período (es decir, las fechas de inicio y finalización se incluyeron en el gráfico).

¿Podría mostrar una solución de ejemplo?
1.In los datos iniciales, tengo datos de ventas diarios (sin embargo, el primer día a mes puede diferir, es decir, para enero - las primeras ventas fueron el 2 de enero, para febrero - el 4 de febrero, etc.). muchas ventas se realizan en un día.
Durante un largo período de tiempo (dos años), es óptimo que
el gráfico mostraba el importe de las ventas en el primer día del mes (la suma de todas las ventas ese día) por mes.
2. Además del gráfico, la hoja tiene una segmentación de datos que establece la fecha de inicio y finalización (basada en el mismo campo 'fecha') Idealmente, nos gustaría que los valores de ventas inicial y final mostrados en el gráfico fueran determinados por la segmentación de datos. Por ejemplo, las primeras ventas se realizaron el 01/02/2020 y, a partir del 01/03/2020, respectivamente, la primera fecha del gráfico debe ser 01/03/2020 y no 01/02/2020. lo mismo con la fecha de finalización.
es decir, la información que se muestra en el gráfico debe ser la siguiente:
1- ventas por día especificadas en el límite de segmentación (inicio del período desde la segmentación)
2- ventas en la primera fecha del mes siguiente (mes + 1 en relación con la fecha de inicio y el período de la segmentación)
3- ventas en la primera fecha del mes (mes + 2)
4- ventas en la primera fecha del mes (mes + 3)
.....
etc
9.sales el primer día del mes especificado en la restricción de la segmentación (fin del período)
10. ventas el día especificado por la segmentación limitada (final) del período.
puede sugerir cómo implementar esto (si es posible).
es decir, como resultado, hay dos objetivos para mostrar en el gráfico:
1) datos de ventas del primer día del mes para el período (sin segmentación de fechas).
2) (máximo objetivo) mostrar los mismos valores (el importe de las ventas en el primer día del mes para el período) pero sujeto a las restricciones de segmentación por período (es decir, las fechas de inicio y finalización se incluyeron en el gráfico).

¿Podría mostrar una solución de ejemplo?
1.In los datos iniciales, tengo datos de ventas diarios (sin embargo, el primer día a mes puede diferir, es decir, para enero - las primeras ventas fueron el 2 de enero, para febrero - el 4 de febrero, etc.). muchas ventas se realizan en un día.
Durante un largo período de tiempo (dos años), es óptimo que
el gráfico mostraba el importe de las ventas en el primer día del mes (la suma de todas las ventas ese día) por mes.
2. Además del gráfico, la hoja tiene una segmentación de datos que establece la fecha de inicio y finalización (basada en el mismo campo 'fecha') Idealmente, nos gustaría que los valores de ventas inicial y final mostrados en el gráfico fueran determinados por la segmentación de datos. Por ejemplo, las primeras ventas se realizaron el 01/02/2020 y, a partir del 01/03/2020, respectivamente, la primera fecha del gráfico debe ser 01/03/2020 y no 01/02/2020. lo mismo con la fecha de finalización.
es decir, la información que se muestra en el gráfico debe ser la siguiente:
1- ventas por día especificadas en el límite de segmentación (inicio del período desde la segmentación)
2- ventas en la primera fecha del mes siguiente (mes + 1 en relación con la fecha de inicio y el período de la segmentación)
3- ventas en la primera fecha del mes (mes + 2)
4- ventas en la primera fecha del mes (mes + 3)
.....
etc
9.sales el primer día del mes especificado en la restricción de la segmentación (fin del período)
10. ventas el día especificado por la segmentación limitada (final) del período.
puede sugerir cómo implementar esto (si es posible).
es decir, como resultado, hay dos objetivos para mostrar en el gráfico:
1) datos de ventas del primer día del mes para el período.
2) (máximo objetivo) mostrar los mismos valores (el importe de las ventas en el primer día del mes para el período) pero debe incluir las restricciones de segmentación por período (es decir, las fechas de inicio y finalización se incluyeron en el gráfico).

El objetivo uno (sin segmentación de datos) es más simple.

El objetivo dos es más complicado y no sé si es posible realizar

Syndicate_Admin
Administrator
Administrator

16208905198174762405624092622218.jpg

debería ser como en este gráfico

Syndicate_Admin
Administrator
Administrator

No @esemyashkin,

puede hacerlo así (consulte el archivo PBIX adjunto):

12-05-_2021_22-34-51.png

Con amables saludos desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)

Gracias por su pronta respuesta. sin embargo, si agrega, por ejemplo, 01/04/2021 a los datos originales, esta fecha se indicará en su fecha. en última instancia, sólo necesito especificar las primeras fechas del mes y el año (por ejemplo, hay otra columna "ventas" y sólo las primeras fechas del mes y año se seleccionarán en el gráfico)

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.