Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
2 years ago

Botón Fecha

¡Hola a todos!

Necesito tu ayuda

Creé en mi columna de base de datos en la fecha tenue que se llama "Botón de fecha"

La columna contiene tres categorías
Ayer
30 días atrás
90 días atrás

Ahora intento poner esa columna en la segmentación de datos que filtra mi fecha

El problema es que los 30 días me dan 29 días

y los 90 días me traen 60 días

Probé fórmulas y una columna calculada pero sin éxito
Agradecería su ayuda
Adjuntar el archivo

Exmple Date.pbix

5 Replies

  • Hola @netanel ,

    así que esto se calcula mal desde la base de datos, porque cuando intenté filtrar la tabla desde la vista de datos para ver las filas relacionadas con los últimos 30 días, mostró 29 como se puede ver en la captura de pantalla.

    Y cuando lo filtré para mostrar los últimos 90 días, solo filtró 60 filas

    Por lo tanto, debe comprobar el cálculo de esta columna a partir del cálculo de la base de datos porque Power BI lo refleja tal como se calculó.

    Si respondí a su pregunta, marque mi publicación como solución, aprecie sus felicitaciones 👍

    Sígueme en Linkedin
    Vota por mi idea de aplicación móvil comunitaria 💡

  • Pero esa es toda la idea, piénsalo
    En SQL traigo una columna
    Ayer es una línea
    Los últimos 30 días no se pueden registrar ayer
    Los últimos 90 días no se pueden registrar en 30 días y ayer

    Ahora en Power BI, estoy intentando calcular una medida
    Esos 30 días atrás me traerán tanto ayer como los 30 días

    Más allá de eso, también tiene una columna separada para cada fecha.
    Últimos 30 días con 30 filas
    Últimos 90 días con 90 filas

  • Hola @netanel ,

    Así que ajusté la medida de los últimos 30 días a lo siguiente:

    Último 30 Días =
    DÓNDE Last30Days = ..MAX('Dim_Date'[ISODateName]) -30

    DEVOLUCIÓN
    INTERRUPTOR(VERDADERO(),
    'Dim_Date'[ISODateName] > Last30Days,"Últimos 30 días")

    Y los últimos 90 días a los siguientes

    Último 90 Días =
    DÓNDE Last90Days = ..MAX('Dim_Date'[ISODateName]) -90

    DEVOLUCIÓN
    INTERRUPTOR(VERDADERO(),
    'Dim_Date'[ISODateName] > Last90Days,"Últimos 90 días")

    Si respondí a su pregunta, marque mi publicación como solución, aprecie sus felicitaciones 👍

    Sígueme en Linkedin
    Vota por mi idea de aplicación móvil comunitaria 💡

  • @Idrissshatila

    Eso no responde a mi pregunta...
    Necesito una medida para insertar en la segmentación de datos

    Y obtenga 30 días para "Últimos 30 días"
    y 90 días para "últimos 90 días"

    y también Yesterday

  • Hola a todos

    Encontré la solución
    Abro una nueva tabla

    e inserte ese código Dax:

    Botones de fecha =
    DÓNDE Ayer =
    ADDCOLUMNS(
    CALCULATETABLE(
    'Dim_Date',
    FILTRO(Dim_Date, Dim_Date[Fecha] = HOY() - 1)
    ),
    "Últimos X días", " "
    )

    DÓNDE Last30Days =
    ADDCOLUMNS(
    CALCULATETABLE(
    'Dim_Date',
    FECHASENTRE(
    Dim_Date[Fecha],
    HOY() - 30, Ajustar la fecha de inicio para excluir hoy
    HOY() - 1 Ajustar la fecha de finalización para incluir ayer
    )
    ),
    "Últimos X días", " "
    )

    DÓNDE Last90Days =
    ADDCOLUMNS(
    CALCULATETABLE(
    'Dim_Date',
    FECHASENTRE(
    Dim_Date[Fecha],
    HOY() - 90, Ajustar la fecha de inicio para excluir hoy
    HOY() - 1 Ajustar la fecha de finalización para incluir ayer
    )
    ),
    "Últimos X días", " "
    )
    DÓNDE Last1737Days =
    ADDCOLUMNS(
    CALCULATETABLE(
    'Dim_Date',
    FECHASENTRE(
    Dim_Date[Fecha],
    HOY() - 1737, Ajustar la fecha de inicio para excluir hoy
    HOY() - 1 Ajustar la fecha de finalización para incluir ayer
    )
    ),
    "Últimos X días", " "
    )

    DEVOLUCIÓN UNIÓN(Ayer, Last30Days, Last90Days,Last1737Days)