Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Trabajar con un año que va más allá de un año calendario

Hola

Estoy buscando consejos, ya que últimamente estoy recibiendo muchas preguntas de mi audiencia sobre el año. Mi panel de control muestra varias campañas y tipos de campañas que hemos estado ejecutando a lo largo de los años. Los usuarios pueden filtrar usando el filtro de "inicio de campaña" y ver cuántas campañas hemos estado ejecutando por país en ese año. Sin embargo, cuando la campaña se está ejecutando más allá del año calendario, el recuento no lo considera, ya que comenzó en el año anterior. Vea a continuación en la tabla de ejemplo, si los usuarios seleccionan 2021, solo habría 2 campañas (en Francia e Italia), sin embargo, técnicamente durante 2021 tuvimos 3 campañas, incluida Alemania. No estoy seguro de cómo asegurar que el filtro del año cubra el año siguiente.

¿Alguna sugerencia/idea?

Gracias

Inicio de la campañaFin de la campañaPaís de la campaña
13 Noviembre 202013 mayo 2021Alemania
01 Febrero 202101 Agosto 2021Francia
05 mayo 202105 Noviembre 2021Italia
1 ACCEPTED SOLUTION

¿@thatakke

Creo que desea filtrar su imagen por "Seleccionar año" > = "Año de inicio de la campaña" y "Seleccionar año"< = "Año final de la campaña". No es una buena manera de crear una relación entre su tabla "Fecha" y la tabla Datos de hechos.

Aquí le sugiero que cree una tabla de fechas no relacionada y cree una medida de filtro para lograr su objetivo.

Mi muestra:

1.png

Si selecciono 2021 en slicer, basado en su lógica, debería obtener el resultado Alemania, Francia, Italia y B.

Creo una tabla de fechas no relacionada por dax.

Date = ADDCOLUMNS(CALENDARAUTO(),"Year",YEAR([Date]),"Month",MONTH([Date]))

Medir:

Filter = 
VAR _Select_Year =
    SELECTEDVALUE ( 'Date'[Year] )
VAR _Start_Year =
    YEAR ( MAX ( 'Table'[Campaign Start] ) )
VAR _End_Year =
    YEAR ( MAX ( 'Table'[Campaign End] ) )
RETURN
    IF (
        ISFILTERED ( 'Date'[Year] ),
        IF ( AND ( _Start_Year <= _Select_Year, _End_Year >= _Select_Year ), 1, 0 ),
        1
    )

Creo un objeto visual de tabla, agrego esta medida al campo de filtro en este objeto visual y lo configuro para que muestre los elementos cuando el valor = 1.

El resultado es el siguiente.

1.png

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

8 REPLIES 8

Gracias @amitchandak el resultado esperado sería 3. Cuando selecciono el filtro de año como 2021, debería mostrar todas las campañas que comenzaron o continuaron durante 2021.

@thatakke , Pruebe una medida como, mayo con una tabla de fechas o años independiente

medida =

var _max = año(maxx(allselected('Fecha'), 'Fecha'[Fecha]))

devolución

countrows(filter(Table, _max>= year([Iniciar campaña]) && _max <= year([End Campaign]) ))

Hola @amitchandak Muchas gracias por tu respuesta pero estoy recibiendo un error de sintaxis de la medida que compartiste.

¿@thatakke

Creo que desea filtrar su imagen por "Seleccionar año" > = "Año de inicio de la campaña" y "Seleccionar año"< = "Año final de la campaña". No es una buena manera de crear una relación entre su tabla "Fecha" y la tabla Datos de hechos.

Aquí le sugiero que cree una tabla de fechas no relacionada y cree una medida de filtro para lograr su objetivo.

Mi muestra:

1.png

Si selecciono 2021 en slicer, basado en su lógica, debería obtener el resultado Alemania, Francia, Italia y B.

Creo una tabla de fechas no relacionada por dax.

Date = ADDCOLUMNS(CALENDARAUTO(),"Year",YEAR([Date]),"Month",MONTH([Date]))

Medir:

Filter = 
VAR _Select_Year =
    SELECTEDVALUE ( 'Date'[Year] )
VAR _Start_Year =
    YEAR ( MAX ( 'Table'[Campaign Start] ) )
VAR _End_Year =
    YEAR ( MAX ( 'Table'[Campaign End] ) )
RETURN
    IF (
        ISFILTERED ( 'Date'[Year] ),
        IF ( AND ( _Start_Year <= _Select_Year, _End_Year >= _Select_Year ), 1, 0 ),
        1
    )

Creo un objeto visual de tabla, agrego esta medida al campo de filtro en este objeto visual y lo configuro para que muestre los elementos cuando el valor = 1.

El resultado es el siguiente.

1.png

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Fantástico @RicoZhou Funciona maravillosamente sobre una mesa. Sin embargo, cuando quise poner esta medida como filtro a través de la página no me permite, ni me permite poner una tarjeta visual. ¿Hay alguna manera de lograrlo?

Gracias

@Anonymous ,

Al igual que su prueba, Power BI no nos permite agregar medidas en el filtro de nivel Página/Toda la página. Solo pudimos agregar medidas en el filtro de nivel visual en Power BI. Puede agregar esta medida en el filtro de nivel visual de otros elementos visuales y establecerlo para que muestre los elementos cuando el valor = 1.

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Gracias una vez más @RicoZhou pero parece que tampoco puedo agregarlo al filtro de nivel visual de una tarjeta visual (a continuación se muestra una captura de pantalla de su pbix), pero teniendo en cuenta que esta es una limitación de PBI, supongo que esto es lo máximo que se puede hacer.

Gracias

thatakke_0-1639388975486.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.