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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
tarun912
Helper IV
Helper IV

12 meses de recuento de datos en un gráfico de líneas

Hola

https://docs.google.com/spreadsheets/d/1lQI0l-Ahz30XkgPx7jABx_Cy8V9usJb6AJzelZX04PI/edit?usp=sharing

Este es mi conjunto de datos de ejemplo.

Por lo tanto, básicamente tengo un conjunto de datos que contiene:
A- es una clave principal contiene varios iDs
B - Formato de marca de fecha (mm/dd/aaaa)
C - contiene 2 tipos de opción sí o no
D- contiene 4 productos diferentes (juguete, tren, autobús, coche)

Además, he creado una TABLA DE FECHAs en POWER BI.

Basicall my requirement is , He hecho una segmentación de datos de mi tabla de fechas en mi informe, así que quiero cada vez que seleccione una fecha de mi segmentación de datos, luego quiero mostrar el recuento de mis iDs (de la columna A ) de un año atrás en un gráfico de líneas. (Además, debido a alguna restricción de interfaz de usuario no puedo usar la segmentación de datos relativa, solo tengo la opción de seleccionar una sola fecha de la segmentación de datos de fecha)
Por ejemplo: Si selecciono 5 mayo 2020 en la segmentación de FECHA TABLA, entonces quiero mostrar el recuento de ID (de la columna A ) en un gráfico de líneas, de MAYO 2019 a ABRIL 2020 (Además, debido a alguna restricción de la interfaz de usuario, no tengo la opción de usar la segmentación de fecha relativa, sólo tengo la opción de usar la segmentación de fecha normal)

Espero que entienda mi declaración de problema.
¡Gracias!

2 ACCEPTED SOLUTIONS
Icey
Community Support
Community Support

Hola @tarun912 ,

Por favor, compruebe:

1. Mesas.

'Fecha': para filtro.

Date = CALENDAR ( DATE ( 2020, 1, 1 ), DATE ( 2020, 5, 31 ) )

'Fecha 2': para el gráfico de eje de línea.

Date 2 = CALENDAR ( DATE ( 2019, 1, 1 ), DATE ( 2020, 12, 31 ) )

'Muestra': sus datos de muestra.

No hay relaciones entre estas tablas.

2. Crear medidas.

Count of ID = 
VAR SelectedDate =
    SELECTEDVALUE ( 'Date'[Date] )
VAR SelectedYear =
    YEAR ( SelectedDate )
VAR SelectedMonth =
    MONTH ( SelectedDate )
VAR PreviousDate =
    DATE ( SelectedYear - 1, SelectedMonth, 1 )
VAR SelectedMonthFirstDay =
    DATE ( SelectedYear, SelectedMonth, 1 )
RETURN
    CALCULATE (
        COUNTROWS ( 'Sample' )+0,
        FILTER (
            ALLSELECTED ( 'Sample' ),
            'Sample'[B (Date timestamp) (mm/dd/yyyy)] >= PreviousDate
                && 'Sample'[B (Date timestamp) (mm/dd/yyyy)] < SelectedMonthFirstDay
                &&'Sample'[B (Date timestamp) (mm/dd/yyyy)]<=MAX('Date 2'[Date])
        )
    )
Measure = 
VAR SelectedDate =
    SELECTEDVALUE ( 'Date'[Date] )
VAR SelectedYear =
    YEAR ( SelectedDate )
VAR SelectedMonth =
    MONTH ( SelectedDate )
VAR PreviousDate =
    DATE ( SelectedYear - 1, SelectedMonth, 1 )
VAR SelectedMonthFirstDay =
    DATE ( SelectedYear, SelectedMonth, 1 )
RETURN
    IF (
        MAX ( 'Date 2'[Date] ) >= PreviousDate
            && MAX ( 'Date 2'[Date] ) < SelectedMonthFirstDay,
        1
    )

3. Cree un gráfico de líneas.

id.PNG

BTW, archivo .pbix adjunto.

Saludos

Icey

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

Icey
Community Support
Community Support

Hola @tarun912 ,

¿Está resuelto este problema?

Saludos

Icey

View solution in original post

8 REPLIES 8
Icey
Community Support
Community Support

Hola @tarun912 ,

Por favor, compruebe:

1. Mesas.

'Fecha': para filtro.

Date = CALENDAR ( DATE ( 2020, 1, 1 ), DATE ( 2020, 5, 31 ) )

'Fecha 2': para el gráfico de eje de línea.

Date 2 = CALENDAR ( DATE ( 2019, 1, 1 ), DATE ( 2020, 12, 31 ) )

'Muestra': sus datos de muestra.

No hay relaciones entre estas tablas.

2. Crear medidas.

Count of ID = 
VAR SelectedDate =
    SELECTEDVALUE ( 'Date'[Date] )
VAR SelectedYear =
    YEAR ( SelectedDate )
VAR SelectedMonth =
    MONTH ( SelectedDate )
VAR PreviousDate =
    DATE ( SelectedYear - 1, SelectedMonth, 1 )
VAR SelectedMonthFirstDay =
    DATE ( SelectedYear, SelectedMonth, 1 )
RETURN
    CALCULATE (
        COUNTROWS ( 'Sample' )+0,
        FILTER (
            ALLSELECTED ( 'Sample' ),
            'Sample'[B (Date timestamp) (mm/dd/yyyy)] >= PreviousDate
                && 'Sample'[B (Date timestamp) (mm/dd/yyyy)] < SelectedMonthFirstDay
                &&'Sample'[B (Date timestamp) (mm/dd/yyyy)]<=MAX('Date 2'[Date])
        )
    )
Measure = 
VAR SelectedDate =
    SELECTEDVALUE ( 'Date'[Date] )
VAR SelectedYear =
    YEAR ( SelectedDate )
VAR SelectedMonth =
    MONTH ( SelectedDate )
VAR PreviousDate =
    DATE ( SelectedYear - 1, SelectedMonth, 1 )
VAR SelectedMonthFirstDay =
    DATE ( SelectedYear, SelectedMonth, 1 )
RETURN
    IF (
        MAX ( 'Date 2'[Date] ) >= PreviousDate
            && MAX ( 'Date 2'[Date] ) < SelectedMonthFirstDay,
        1
    )

3. Cree un gráfico de líneas.

id.PNG

BTW, archivo .pbix adjunto.

Saludos

Icey

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

kentyler
Solution Sage
Solution Sage

Gracias por publicar datos de muestra. Lo usé para crear una base de datos de prueba y agregar algunas filas para obtener suficiente de un intervalo de fechas para poder ver que mi medida estaba funcionando.
countofdates.PNG

Escribí una medida de una línea para obtener la fecha seleccionada (ya sea en una segmentación de datos o haciendo clic en una fila de la tabla)

Fecha seleccionada: SELECTEDVALUE(Sales[Sales Date])
luego escribí una medida para contar las filas en el intervalo de fechas.
Recuento de Fechas ?
VAR current_date - SELECTEDVALUE(Sales[Sales Date])
VAR current_year a año([Fecha seleccionada])
VAR current_month de VAR a MES([Fecha seleccionada])
VAR previous_year - current_year -1
VAR first_day_in_month_in_previous_year á date(previous_year,current_month,1)
VAR last_day_in_month_in_current_year á EOMONTH(Ventas[Fecha seleccionada],0)
Resultado de VAR: calculate(COUNTROWS(Sales),ALL(Sales),Sales[Sales Date] <-current_date, Sales[Sales Date] >-first_day_in_month_in_previous_year)
Resultado de dEVOLUCION
calcula el primer día del mes en el que has seleccionado una fecha, pero en el año anterior
entonces calcula el último día del mes que ha seleccionado una fecha en
a continuación, utiliza calcular para contar las filas. tiene que utilizar ALL() para eliminar el contexto de filtro en la tabla Sales y hacer que todas las filas estén disponibles para ser contadas.
así fue como interpreté su dicho "Si selecciono 5 de mayo de 2020 en la segmentación DE FECHA TABLA, entonces quiero mostrar el recuento de iDs (de la columna A) en un gráfico de líneas, de MAYO 2019 a ABRIL 2020"
este fue un problema muy interesante... lo más interesante fue traducir su requisito declarado en la lógica en DAX
gracias por publicarlo




Did this post answer your question? Mark it as a solution so others can find it!

Help when you know. Ask when you don't!




Join the conversation at We Talk BI find out more about me at Slow BI


Hola @kentyler ,

Acabo de tomar el ejemplo de 5 mayo 2020, pero básicamente lo que me importa es el mes lógicamente aquí, porque cuando selecciono 5 mayo 2020, el resultado que quiero debe comprender que no. de mis identificaciones de MAYO 2019 a ABRIL 2020, (básicamente quiero calcular todos los Documentos de Identificación que se producen en ese mes específico, por lo que no nos preocupa la fecha introducida, tendremos que pensar en un mes) también las fechas pueden ser múltiples también para por ejemplo: muchos iDs pueden ocurrir en una sola fecha, lo que significa que para una sola fecha podría haber 50 identificaciones diferentes.

Icey
Community Support
Community Support

Hola @tarun912 ,

¿Está resuelto este problema?

Saludos

Icey

No, el problema aún no está resuelto.

Icey
Community Support
Community Support

Hola @tarun912 ,

Por favor, hágamelo saber lo que está mal en mi método anterior.

Saludos

Icey

Hola

En realidad mis datos son algo complejos, el problema es con mi medida, pero ahora está funcionando bien.
¡Gracias!

amitchandak
Super User
Super User

@tarun912 , tratar como


Medida ?
var _max á maxx(allselected('Date'),'Date'[Date])
var _min á date(year(_max),month(_max)-12,day(_max))
devolución
calculate([measure],filter(All(DATE), Date[Date] >-_min && Date[Date] <-_max))

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors