Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Tengo una tabla de membresías :
membership_id | membership_start | membership_end | user_id |
1 | 01-01-2021 | 31-12-2021 | a |
2 | 01-06-2021 | 31-12-2021 | b |
3 | 01-01-2022 | 31-12-2022 | c |
4 | 01-01-2023 | 31-12-2023 | d |
Y una tabla de usuarios
user_id | account_created | ciudad |
a | 01-02-2020 | Austin |
b | 02-02-2021 | Austin |
c | 03-03-2021 | Seattle |
d | 04-04-2020 | Chicago |
Quiero crear un gráfico de barras que consista en "recuento de usuarios activos, por ciudad" en un intervalo de fechas determinado. Quiero poder cambiar este intervalo de fechas como un filtro a nivel de página. (Varios gráficos deberían verse afectados si cambio este rango de fechas)
Supongamos que el intervalo de fechas es date_range_start a date_range_end
Consideraría a un usuario como activo si:
1. La membresía ha comenzado antes de la date_range_end y termina después de la date_range_start
(membership_start <= date_range_end) && (membership_end >= date_range_start)
O
2. account_created está entre el intervalo de fechas
(account_created > date_range_start) && (account_created < date_range_end)
Entonces, si selecciono el rango de fechas como (06-06-2020 a 06-06-2021), obtendría una tabla unida como esta, junto con una medida calculada con las condiciones anteriores:
membership_id | user_id | membership_start | membership_end | account_created | ciudad | is_active |
1 | a | 01-01-2021 | 31-12-2021 | 01-02-2020 | Austin | VERDADERO (satisface la 1ª condición) |
2 | b | 01-06-2021 | 31-12-2021 | 02-02-2021 | Austin | VERDADERO (satisface la 1ª condición) |
3 | c | 01-01-2022 | 31-12-2022 | 03-03-2021 | Seattle | VERDADERO (satisface la 2ª condición) |
4 | d | 01-01-2023 | 31-12-2023 | 04-04-2020 | Chicago | FALSO |
Pude hacer esto creando una medida que satisface las condiciones anteriores. Pero no puedo agregar un filtro de nivel de página en la medida is_active elegir solo las filas donde is_active = TRUE.
Necesito que la tabla resultante sea:
membership_id | user_id | membership_start | membership_end | account_created | ciudad | is_active |
1 | a | 01-01-2021 | 31-12-2021 | 01-02-2020 | Austin | VERDADERO (satisface la 1ª condición) |
2 | b | 01-06-2021 | 31-12-2021 | 02-02-2021 | Austin | VERDADERO (satisface la 1ª condición) |
3 | c | 01-01-2022 | 31-12-2022 | 03-03-2021 | Seattle | VERDADERO (satisface la 2ª condición) |
De modo que crearía un gráfico de barras usando "ciudad" en el eje x y "recuento de ciudad" en el eje y, para el rango de fechas seleccionado. (Por supuesto, debería poder cambiar el rango de fechas, lo que a su vez cambia los gráficos)
¿Hay alguna manera de obtener la tabla resultante como la anterior, mientras se obtiene el rango de fechas como entrada del usuario?
Hola @संदेशप ,
Hice muestras sencillas y puedes comprobar los resultados a continuación:
Measure = var _max = MAX('Table 2'[Date])
var _min = MIN('Table 2'[Date])
RETURN IF(MAX('Table'[membership_start ])<=_max&&MAX('Table'[membership_end ])>=_min,1,IF(MAX('Table'[account_created ])>_min&&MAX('Table'[account_created ])<_max,2,0))
Un archivo adjunto para su referencia. ¡Espero que te ayude!
Saludos
Apoyo a la comunidad Team_ Scott Chang
Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
En realidad, no es necesario, ya que forma parte del contexto de filtro en el que opera la medida. Si es necesario, utilice VALUES() o FILTERS().
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.