Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Doble corte

Hola

Tengo una solicitud y no estoy seguro de si es posible, pero mi empresa actualmente está ejecutando una versión anterior de PBI (2022) en este momento (buscando actualizar en breve), pero quieren un informe que filtre al mes/año actual y luego también al mes/año anterior para que cuando alguien vaya al informe, independientemente de cuándo, se establecerá para el mes/año actual y luego para el mes/año anterior (ejemplo: diciembre de 2024 frente a diciembre de 2023).

Puedo hacer eso, pero luego viene la parte que no he descifrado: ¿también quieren la capacidad de cortar a la fecha / mes / año que deseen?

Por ejemplo, visito el informe y está configurado automáticamente para mostrar diciembre de 2024 frente a diciembre de 2023, pero luego el usuario quiere ver mayo de 2024 frente a mayo de 2023 o algunas otras fechas completamente aleatorias. Por lo tanto, debe tener la funcionalidad para filtrar al mes/año actual y al año anterior, así como ser lo suficientemente dinámico para que un usuario también lo ajuste según sus especificaciones.

¿Alguien tiene alguna idea???

4 Replies

  • Utilice una mesa desconectada para alimentar su cortadora. Utilice una medida para detectar el valor de la segmentación y calcular el intervalo de fechas deseado (por ejemplo, 1 para incluido y 0 para excluido). Aplique la medida como un filtro visual (establézcalo en "igual a 1", por ejemplo).

  • Hola @ianallen13V2

    Por favor, siga los pasos a continuación

    1. cree medidas para los períodos actual y anterior utilizando la siguiente medida

      CurrentMonthNumber =
      CALCULAR(SUMA('Tabla'[Valor]),
      FILTER('DateTable',
      'DateTable'[Año] = AÑO(HOY()) &&
      'DateTable'[Mes] = MES(HOY())))

      PreviousMonthNumber =
      CALCULAR(SUMA('Tabla'[Valor]),
      FILTER('DateTable',
      'DateTable'[Año] = AÑO(HOY()) - 1 &&
      'DateTable'[Mes] = MES(HOY()))

    2. Cree medidas dinámicas que respondan a las selecciones de la segmentación de datos. según las siguientes medidas

      SelectedMonthValues =
      CALCULAR(SUMA('Tabla'[Valor]),
      FILTER('DateTable',
      'DateTable'[Año] = SELECTEDVALUE('DateTable'[Año]) &&
      'DateTable'[Mes] = SELECTEDVALUE('DateTable'[Mes])))

      SelectedPreviousMonthValues =
      CALCULAR(SUMA('Tabla'[Valor]),
      FILTER('DateTable',
      'DateTable'[Año] = SELECTEDVALUE('DateTable'[Año]) - 1 &&
      'DateTable'[Mes] = SELECTEDVALUE('DateTable'[Mes])))

    3. A continuación, cree un marcador con las segmentaciones establecidas en el mes/año actual
    4. Establezca este marcador como la vista predeterminada cuando se abra el informe.

    Hazme saber si funciona

    ¡Gracias!

  • Hola @ianallen13V2 ,

    Tal vez puedas probar una fórmula como la siguiente:

    Current= 
    VAR sel_year =
        SELECTEDVALUE ( 'Date'[Year] )
    VAR sel_month =
        SELECTEDVALUE ( 'Date'[Month] )
    RETURN
        IF (
            ISFILTERED ( 'Table' ),
            CALCULATE (
                SUM ( 'Table'[Sales] ),
                FILTER (
                    ALL('Table'),
                    YEAR ( 'Table'[Date] ) = sel_year
                        && MONTH ( 'Table'[Month] ) = sel_month
                )
            ),        CALCULATE (
                SUM ( 'Table'[Sales] ),
                FILTER (
                    ALL('Table'),
                    YEAR ( [Date] ) = YEAR ( TODAY () )
                        && MONTH ( [Date] ) = MONTH ( TODAY () )
                )
            )
        )
    
    
    Previous= 
    VAR sel_year =
        SELECTEDVALUE ( 'Date'[Year] )
    VAR sel_month =
        SELECTEDVALUE ( 'Date'[Month] )
    RETURN
        IF (
            ISFILTERED ( 'Table' ),
            CALCULATE (
                SUM ( 'Table'[Sales] ),
                FILTER (
                    ALL('Table'),
                    YEAR ( 'Table'[Date] ) = sel_year
                        && MONTH ( 'Table'[Month] ) = sel_month
                )
            ),        CALCULATE (
                SUM ( 'Table'[Sales] ),
                FILTER (
                    ALL('Table'),
                    YEAR ( [Date] ) = YEAR ( TODAY () ) - 1
                        && MONTH ( [Date] ) = MONTH ( TODAY () )
                )
            )
        )
    

    Saludos
    Adamk Kong

    Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.