Forum Discussion
Selectedvalue no funciona
Hola juntos, ¿alguien puede decirme por qué esta medida no está funcionando? Estoy seleccionando SELECTEDVALUE en una segmentación de datos en mi informe.
gracias, lennart
InDateTimeRange =
Dónde _rangeStart= SELECTEDVALUE(Datos[Marca de tiempoDe])
Dónde _rangeEnd= SELECTEDVALUE(Datos[Marca de tiempo])
devolución
SI(
SELECTEDVALUE(Datos[Marca de tiempoDe]) >= _rangeStart
&& SELECTEDVALUE(Datos[Marca de tiempo]) <= _rangeEnd
&& SELECTEDVALUE(Datos[Marca de tiempo]) <>ESPACIO EN BLANCO()
, 1, 0)
3 Replies
- Syndicate_Admin
Administrator
Hola
¿Dónde está utilizando esta medida? Con solo mirarlo, SELECTEDVALUE(Data[TimestampFrom]) será el mismo las dos veces que lo haga referencia, por lo que las dos primeras condiciones siempre deben ser verdaderas, ya que serán iguales cada vez. ¿Es eso lo que estás encontrando?
Es posible que necesite una nueva tabla que contenga fechas para usar para las segmentaciones de datos, y puede usarlas para comparar.
- Syndicate_Admin
Administrator
Hola, estoy usando esta medida en la misma tabla. Pero con 4 columnas diferentes. En la Selección utilizo ProductTimeStampFrom y ProductTimeStampTo. En la parte IF utilizo las columnas TimeFrom y TimeTo. Pero están en la misma mesa. Solo necesito filtrar el rango ob TimeFrom y TimeTo por un valor de ProductTimeStampFrom y ProductTimeStampTo..
- Syndicate_Admin
Administrator
Estoy de acuerdo con la respuesta de AntonioM. Revisé su código y creo que dejar que SELECTEDVALUE(Data[TimestampForm])>=SELECTEDVALUE(Data[TimestampForm]) no tendrá sentido.
InDateTimeRange = VAR _rangeStart = SELECTEDVALUE ( Data[TimestampFrom] ) VAR _rangeEnd = SELECTEDVALUE ( Data[TimestampTo] ) RETURN IF ( SELECTEDVALUE ( Data[TimestampFrom] ) >= _rangeStart && SELECTEDVALUE ( Data[TimestampTo] ) <= _rangeEnd && SELECTEDVALUE ( Data[TimestampTo] ) <> BLANK (), 1, 0 )Creo que la segmentación de datos es creada por las columnas Data[TimestampFrom] y Data[TimestampTo] en la misma tabla con sus datos.
Su visual será filtrado por ellos directamente, su código no funcionará.
Te sugiero que crees dos DimTables para rangeStart y rangeEnd.
DimStart = CALENDARAUTO()DimeEnd = CALENDARAUTO()Medir:
InDateTimeRange = VAR _rangeStart = SELECTEDVALUE ( DimStart[Date] ) VAR _rangeEnd = SELECTEDVALUE ( DimEnd[TimestampTo] ) RETURN IF ( SELECTEDVALUE ( Data[TimestampFrom] ) >= _rangeStart && SELECTEDVALUE ( Data[TimestampTo] ) <= _rangeEnd && SELECTEDVALUE ( Data[TimestampTo] ) <> BLANK (), 1, 0 )Saludos
Rico ZhouSi esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.