Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago
Solved

Filtro de mes

Hola

No puedo averiguar cómo organizar un filtro que filtra una tabla en función del mes actual. Para la tabla de ejemplo siguiente me gustaría utilizar la siguiente medida DAX:

Filtro = De monthnr <= Mes (Hoy () ) Y hasta monthnr >= Mes (Hoy () )

Pero esto no funcionará para el artículo C. Si el monthnr actual es 1, 2 o 3, se debe devolver el artículo C, pero no lo hará porque el argumento "From monthnr" no sea válido. ¿Cómo puedo resolver esto?

artículoDesde el mesDesde monthnrHasta el mesHasta mes
AEnero1Abril4
BJulio7Agosto8
CNoviembre11Marzo3

Espero que tengas una idea. Gracias de antemano!

Raymond

  • Syndicate_Admin's avatar
    Syndicate_Admin
    5 years ago

    Gracias por la asistencia, pero esto todavía deja el problema con el artículo C durante los meses 11 y 12, ya que resultarán en "No" debido al último argumento para MONTH (TODAY () ) <= [Until Month].

    Creo que he encontrado una solución mediante el uso de los números de mes para crear una fecha con nuevas columnas:


    Desde el punto =
    IF(
    [Desde el mes] > [Hasta el mes]
    && [Desde el mes] > MES (HOY() ),
    FECHA(
    AÑO ( HOY() ) -1,
    [A partir de un mes],
    1
    ),
    FECHA(
    AÑO (HOY() ),
    [A partir de un mes],
    1
    )
    )


    Hasta el período =
    VAR MonthNr = [Hasta el mes]
    Año VAR =
    IF(
    [Desde el mes] > [Hasta el mes]
    && [Desde el mes] <= MES (HOY() ),
    AÑO ( HOY() ) +1,
    AÑO (HOY() )
    )
    VAR DayNr =
    CALCULAR(
    MAX(DateTable[Día del mes]),
    DateTable[Número de mes] = MonthNr,
    DateTable[Año] = Año
    )

    devolución
    IF(
    [Desde el mes] > [Hasta el mes]
    && [Desde el mes] <= MES (HOY() ),
    FECHA(
    AÑO ( HOY() ) +1,
    [Hasta el mes],
    DayNr
    ),
    FECHA(
    AÑO (HOY() ),
    [Hasta el mes],
    DayNr
    )
    )

4 Replies

  • @raymondvis, La información que ha proporcionado no está dejando el problema claro para mí. ¿Puede explicarlo con un ejemplo?
    ¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O un pbix de ejemplo después de eliminar datos confidenciales.
    Aprecia tu Kudos.

    A ver si la inteligencia del tiempo puede ayudar

    Power BI — Mes a mes con o sin inteligencia de tiempo
    https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e
    https://www.youtube.com/watch?v=6LUBbvcxtKA

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Wel básicamente la tabla sigue siendo la misma, sólo los nombres de mes no se incluyen. Los artículos deben ordenarse dentro de un período determinado que se indica en los números de mes. Pero estos períodos no se basan en el año, están basados en meses. Por lo tanto, no puedo usar una fecha como noviembre de 2020 hasta mayo de 2021, pero sólo noviembre hasta mayo.

      A continuación encontrará la tabla de ejemplo una vez más.

      La columna ( solo agregué esta columna como ejemplo):

      Mes actual = MES ( HOY() )

      La columna: ¿Es en punto =
      VAR CurrentMonth = MES ( HOY() )

      devolución
      IF(
      Blad2[Del mes] <= CurrentMonth
      && Blad2[Hasta el mes] >= CurrentMonth,
      "Sí",
      "No"
      )

      artículoDesde el mesHasta el mes¿Es en el períodoMes actual
      A14Sí4
      B78No4
      C115No4
      D15Sí4
      D1112No4


      El artículo C debe incluirse como Sí, porque el mes 4 está entre el período comprendido entre el mes 11 y el mes 5. No es una opción incluir los datos como el artículo D, porque entonces estaría agregando 2 líneas en lugar de 1.

      ¿Alguna idea de cómo arreglar esto?

  • @raymondvis

    Solo puede agregar otra condición en caso de que el mes de mayor tamaño sea grande que el mes de hasta ahora.

    Columna = IF([Desde el mes]>[Hasta el mes] & & MES (TODAY())<=[Hasta el mes],"Sí",
    IF(MONTH(TODAY())>=[Desde el mes] & & MES (TODAY())<=[Hasta el mes],"Sí", "No"))
    V-pazhen-msft_0-1619576346121.png

    Paul Zheng _ Equipo de Apoyo a la Comunidad
    Si esta publicación ayuda, por favor acéptela como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Gracias por la asistencia, pero esto todavía deja el problema con el artículo C durante los meses 11 y 12, ya que resultarán en "No" debido al último argumento para MONTH (TODAY () ) <= [Until Month].

      Creo que he encontrado una solución mediante el uso de los números de mes para crear una fecha con nuevas columnas:


      Desde el punto =
      IF(
      [Desde el mes] > [Hasta el mes]
      && [Desde el mes] > MES (HOY() ),
      FECHA(
      AÑO ( HOY() ) -1,
      [A partir de un mes],
      1
      ),
      FECHA(
      AÑO (HOY() ),
      [A partir de un mes],
      1
      )
      )


      Hasta el período =
      VAR MonthNr = [Hasta el mes]
      Año VAR =
      IF(
      [Desde el mes] > [Hasta el mes]
      && [Desde el mes] <= MES (HOY() ),
      AÑO ( HOY() ) +1,
      AÑO (HOY() )
      )
      VAR DayNr =
      CALCULAR(
      MAX(DateTable[Día del mes]),
      DateTable[Número de mes] = MonthNr,
      DateTable[Año] = Año
      )

      devolución
      IF(
      [Desde el mes] > [Hasta el mes]
      && [Desde el mes] <= MES (HOY() ),
      FECHA(
      AÑO ( HOY() ) +1,
      [Hasta el mes],
      DayNr
      ),
      FECHA(
      AÑO (HOY() ),
      [Hasta el mes],
      DayNr
      )
      )