Forum Discussion
RCustomDAXFilter logic
Hola, tengo un parámetro de consulta (no un parámetro de informe) donde el usuario selecciona una fecha del menú desplegable. Quiero poder recuperar los últimos 13 meses de datos en función de la fecha seleccionada en el mensaje. Actualmente, mi consulta DAX está configurada para buscar donde la fecha es igual a la fecha en el mensaje, pero quiero modificar el código DAX para buscar dónde están los datos de los últimos 13 meses, por lo que si el usuario selecciona octubre de 2022 en el menú desplegable, los resultados deberían estar entre octubre de 2021 y octubre, 2022. El código DAX actualmente solo está buscando donde la fecha es 'igual a'. se parece a este RCustomDAXFilter(@DimDateBK,EqualToCondition,[Dim Date]. ¿Cómo modifico el código para filtrar dónde está la fecha entre la fecha seleccionada menos 13 meses y la fecha seleccionada? Gracias
2 Replies
- Syndicate_Admin
Administrator
Hola @ldwf ,
Necesita una tabla de calendario sin relación entre la tabla de hechos:Entonces, por favor, nueva medida:
Measure = VAR _max_date = MAX('Calendar'[Date]) VAR _min_date = EDATE(_max_date,-13) VAR _filter = IF(MAX('Table'[Date])>_min_date&&MAX('Table'[Date])<=_max_date,1) RETURN _filterSi el objeto visual tiene un eje de fecha, puede usarlo como filtro.
Para una sola medida, puede pasar estas dos variables al parámetro de filtro de esta manera.
Sales = VAR _max_date = MAX('Calendar'[Date]) VAR _min_date = EDATE(_max_date,-13) VAR _sales = CALCULATE(SUM('Table'[Sales]),'Table'[Date]>_min_date&&'Table'[Date]<=_max_date) RETURN _salesSaludos
Gao
Equipo de apoyo a la comunidadSi hay alguna publicación de ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo sus necesidades o todavía tiene problemas al respecto, no dude en hacérnoslo saber. ¡Muchas gracias!
Cómo obtener respuestas rápidas a sus preguntas -- Cómo proporcionar datos de muestra
- Syndicate_Admin
Administrator
Gao, gracias por la respuesta. Debería haberlo explicado mejor. No puedo subir fotos por política de empresa. Se trata de un informe paginado creado con un conjunto de datos, no con un informe nativo de Power BI. Hago clic en Diseñador de consultas para arrastrar todas las columnas a la página y crear mis parámetros de consulta (es decir, no parámetros de informe). Cuando agrego mi parámetro de fecha, tengo opciones en el menú desplegable de 'igual a', 'no igual a', 'contiene', 'comienza con', 'rango (incluido)', 'rango (exclusivo)' y 'Personalizado'. Quiero el parámetro de consulta de fecha tal que cuando el usuario seleccione una fecha, la returnquery devuelva 13 meses de datos, terminando en la fecha que seleccione en el parámetro, por lo que si selecciona 10/31/22, los resultados serán 10/31/21 a 10/31/22. No quiero que el usuario tenga que seleccionar un rango si no tengo que hacerlo. Dadas las opciones en el menú desplegable de parámetros, no veo cómo hacer esto. Pensé en modificar el código de la instrucción de consulta resultante (comienza con EVALUATE SUMMARIZECOLUMNS). Veo lógica en el código que dice 'RCustomDaxFilter(@Date,EqualtoCondition'. Pensé en cambiar el 'EqualtoCondition' a algo como 'Between', pero nada funciona. ¡Gracias por cualquier ayuda!