The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hola
Actualmente tengo una lista de fechas en una rebanadora en una sola selección:
La lista consta de la fecha de hoy y la fecha de fin de mes. Sin embargo, en los meses que terminan en un fin de semana, tendrá la fecha el viernes en lugar del fin de semana. Ejemplo: abril de 2022, termina el 30 de abril de 2022, pero la lista tiene 29 de abril de 2022.
Lo que estoy tratando de hacer es cuando se elige una fecha en la rebanadora, quiero restar 3 meses de esa fecha y encontrar la fecha más cercana posible (esto es necesario debido a que algunas fechas terminan el viernes en lugar del fin de semana).
¿Alguien tiene alguna idea de cómo puedo hacer esto?
Conjunto de datos de ejemplo: https://drive.google.com/file/d/1sy5naT4OTcBUd9fcLJJG7KaFxXgSdPUB/view?usp=sharing
¡Gracias por su ayuda!
Solved! Go to Solution.
Hola @Deermeat ,
Creo que el método de ganancia rápida más fácil es agregar un rango a su tabla de segmentación de datos:
DateRank = RANKX(FILTER(Slicer, [Date] < EARLIER([Date])), [Date],,ASC)
Luego, en una medida, solo pediría devolver el rango y restar por 3:
DateMinusThree =
VAR _SelectedRank = SELECTEDVALUE(Slicer[DateRank], MAX(Slicer[DateRank]))
VAR _EvalRank = _SelectedRank - 3
VAR _GetRank = IF(_EvalRank < 1, 1, _EvalRank)
VAR _GetDate = CALCULATE(MAX(Slicer[Date]), Slicer[DateRank] = _GetRank, REMOVEFILTERS(Slicer))
RETURN
_GetDate
Hola @Deermeat ,
Creo que el método de ganancia rápida más fácil es agregar un rango a su tabla de segmentación de datos:
DateRank = RANKX(FILTER(Slicer, [Date] < EARLIER([Date])), [Date],,ASC)
Luego, en una medida, solo pediría devolver el rango y restar por 3:
DateMinusThree =
VAR _SelectedRank = SELECTEDVALUE(Slicer[DateRank], MAX(Slicer[DateRank]))
VAR _EvalRank = _SelectedRank - 3
VAR _GetRank = IF(_EvalRank < 1, 1, _EvalRank)
VAR _GetDate = CALCULATE(MAX(Slicer[Date]), Slicer[DateRank] = _GetRank, REMOVEFILTERS(Slicer))
RETURN
_GetDate
Gracias por la respuesta. ¿Podría saber qué es exactamente una tabla de segmentación de datos y cómo se puede crear? ¿Mi cortadora está sola sin mesa? Se genera a partir de una columna en mi tabla de datos original, ¿verdad?
Hay @Deermeat ,
Eso es algo correcto. Es principalmente una tabla desconectada que posiblemente contiene todas sus fechas de una o varias tablas.
SlicerTbl =
VAR _Dates = DISTINCT(FactTable[Date]) // Substitute this for your dates from fact table.
RETURN
GENERATE(
_Dates,
ROW("RankDate", RANKX(FILTER(_Dates, [Date] < EARLIER([Date])), [Date],,ASC))
)
En ella @hnguy71,
Muchas gracias. Entiendo cómo hacer que la tabla independiente funcione, sin embargo, cuando utilicé la fórmula de medida después de adaptarla a mi informe. Sigue mostrando la misma fecha sin cambios.
¿Sabes por qué este podría ser el caso?
@Deermeat , tendría que proporcionar una muestra. No puedo decir de inmediato cuál puede ser el problema.
aquí hay un enlace al archivo!
https://drive.google.com/file/d/1niMibueGHS-L6i0FeX8fyh6nZc0PZKHf/view?usp=sharing
Veo el problema. Está utilizando la fecha de la tabla Sheet1. En su lugar, su fecha debe ser de SlicerTbl.
Lo sentimos, ¿qué parte utilicé la Fecha de Sheet1? El código que utilicé para DateMinusThree está usando SlicerTbl Date:
DateMinusThree =
VAR _SelectedRank = SELECTEDVALUE(SlicerTbl[RankDate], MAX(SlicerTbl[RankDate]))
VAR _EvalRank = _SelectedRank - 3
VAR _GetRank = IF(_EvalRank < 1, 1, _EvalRank)
VAR _GetDate = CALCULATE(MAX(SlicerTbl[Date]), SlicerTbl[RankDate] = _GetRank, REMOVEFILTERS(SlicerTbl))
RETURN
_GetDate
En el objeto visual de la segmentación de datos, está utilizando la fecha de Sheet1. Debe reemplazar el campo de su objeto visual por el campo SlicerTbl[Date].
Permítame hacerle una última pregunta. Cuando configuré la segmentación de datos para usar la fecha de SlicerTbl, rompió el gráfico que está a la derecha. Ya no puede ser filtrado por la cortadora. ¿Sabes cómo se puede arreglar esto?
Nuevos datos: https://drive.google.com/file/d/12k-dHYN0YcgeRs1DkpqbVDAGcHT-iZTJ/view?usp=sharing
El gráfico de la izquierda muestra demasiados puntos. Muestra todos los puntos posibles en los datos de 1 año, en lugar de de acuerdo con la segmentación de datos. La segmentación de datos con Fecha de SlicerTbl permite que la medida 3MthsAgo Average Score funcione, pero no filtra el gráfico. La segmentación de datos con Fecha de hoja1 permite filtrar el gráfico, pero no funciona para la medida.
He logrado 'arreglar' esto sincronizando las dos rebanadoras juntas y ocultando una de ellas. Un poco tonto, pero funciona ahora.
¡Gracias por su ayuda!