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.
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?
Solved! Go to Solution.
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:
2:
Si esta publicación ayuda, considere Aceptarla como la solución ✔️para ayudar a los demás miembros a encontrarla más rápidamente.
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:
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
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).
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:
2:
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
debería ser como en este gráfico
puede hacerlo así (consulte el archivo PBIX adjunto):
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)
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |