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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
PowerPirate
New Member

Cómo cambiar el período de tiempo un mes usando inteligencia de tiempo (¡casi allí!)

Hola a todos

Estoy trabajando a través de un análisis en el que estoy viendo el impacto que un cliente que intenta un nuevo producto tiene en sus ventas.

Esencialmente, me gustaría ver los 6 meses de ventas antes de probarlo y 6 meses después de observar el efecto. Todos mis datos tienen una fecha con el 1 del mes, por lo que todos mis datos en el mes de julio es 7/1/2019.

En el ejemplo donde un cliente intenta el nuevo producto en el mes de julio, me gustaría que mi período de seguimiento de 6 meses sea enero-junio y el período de 6 meses con visión de futuro sea Jul-Dec.

Mi fórmula con visión de futuro está funcionando muy bien usando la siguiente medida:

Reenviar 6 Ventas Totales - CALCULATE(
'Total Sales by Year'[Total Sales],
DATESINPERIOD(
'Calendario'[Fecha],
ENDOFMONTH('Usuarios activos'[Fecha]),6,MES
)
)

Mi problema es con el período final. En lugar de recoger a Jan-Jun, está recogiendo feb-jul. Entiendo por qué está sucediendo esto, pero no estoy seguro de cómo corregir la siguiente medida:

Trailing 6 Total Sales - CALCULATE(
'Total Sales by Year'[Total Sales],
DATESINPERIOD(
'Calendario'[Fecha],
ENDOFMONTH('Usuarios activos'[Fecha]),-6,MES
)
)

He estado girando mis ruedas durante días tratando de colocar un DATEADD en algún lugar con un "-1" y "Mes" pero estoy atascado. ¿Alguna idea de cómo podría hacer que el siguiente funcione? Podría hacer trampa y crear una columna calculada, pero estoy tratando de usar esto como una experiencia de aprendizaje... Sé que tiene que haber una manera.

¡Gracias!

3 REPLIES 3
v-yingjl
Community Support
Community Support

Hola @PowerPirate ,

Lo he probado, pero parece funcionar bien cuando agrego 'Dateadd' en 'Fin de mes':

Forward 6 Total Sales =
CALCULATE (
    SUM ( 'Active Users'[Sales] ),
    DATESINPERIOD (
        'Active Users'[Date],
        ENDOFMONTH ( DATEADD ( 'Active Users'[Date], 1, MONTH ) ),
        6,
        MONTH
    )
)
Trailing 6 Total Sales =
CALCULATE (
    SUM ( 'Active Users'[Sales] ),
    DATESINPERIOD (
        'Active Users'[Date],
        ENDOFMONTH ( DATEADD ( 'Active Users'[Date], -1, MONTH ) ),
        -6,
        MONTH
    )
)

El resultado es así:

period date.png

¿O podría considerar proporcionar un .pbix ficticio para una discusión más detallada?

Mejores looks,
Yingjie Li

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

amitchandak
Super User
Super User

@PowerPirate , Consulte este ejemplo

Rodar 6 hasta el mes pasado: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(dateadd(Sales[Sales Date],-1,month)),-6,MONTH))

O

Rodar 6 hasta el mes pasado: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(dateadd('Date'[Date],-1,month)),-6,MONTH))

@amitchandak

Gracias por tu ayuda. Eso es lo que estaba intentando, pero todos mis valores se van en blanco cuando lo uso. ¿Quizás tengo algún otro problema en el fondo?

Helpful resources

Announcements
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.