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

Intentando generar una columna calculada para el mes actual y el año actual

Hola, buscando crear una columna calculada que, en función de la tabla de fechas, agregará una nueva columna para mostrar tres estados diferentes Mes actual, Mes anterior y, a continuación, Mes futuro. Por lo tanto, naturalmente para agosto de 2021 debería ser "Mes actual" y luego para enero-julio ser "Mes anterior" y cualquier cosa después de agosto de 2021 (es decir, septiembre de 2021) "Mes futuro". Mi intención es poder cortar rápidamente mi informe con algunas selecciones para mostrar los resultados de los meses anteriores porque es posible que los espectadores no quieran ver el mes actual hasta que termine el mes, pero aún así tienen la capacidad de mostrar el mes actual si es necesario.

He intentado usar múltiples declaraciones IF, pero estoy pensando que puede que necesite usar variables y simplemente comparar mucho. ¿Alguna ayuda/sugerencia?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @ElvirBotic ,

Estos son los pasos que puede seguir:

1. Crear columna calculada.

Switch =
var _currentyear=YEAR(TODAY())
var _currentmonth=MONTH(TODAY())
var _maxcurrentmonthday=EOMONTH(TODAY(),0)
var _maxlastmonth=EOMONTH(TODAY(),-2)
var _switch=
SWITCH(
    TRUE(),
    YEAR('Table'[Date])=_currentyear&&MONTH('Table'[Date])=_currentmonth,"Current Month",
    YEAR('Table'[Date])=_currentyear&&MONTH('Table'[Date])=_currentmonth-1,"Previous Month",
    'Table'[Date]<=_maxlastmonth,"Previous",
    'Table'[Date]>_maxcurrentmonthday,"Future Month")
return
_switch

2. Resultado:

Filtrar los datos para extraer fechas representativas para ver mejor los resultados

vyangliumsft_0-1629183679290.png

Saludos

Liu Yang

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

10 REPLIES 10
Syndicate_Admin
Administrator
Administrator

No @ElvirBotic ,

Estos son los pasos que puede seguir:

1. Crear columna calculada.

Switch =
var _currentyear=YEAR(TODAY())
var _currentmonth=MONTH(TODAY())
var _maxcurrentmonthday=EOMONTH(TODAY(),0)
var _maxlastmonth=EOMONTH(TODAY(),-2)
var _switch=
SWITCH(
    TRUE(),
    YEAR('Table'[Date])=_currentyear&&MONTH('Table'[Date])=_currentmonth,"Current Month",
    YEAR('Table'[Date])=_currentyear&&MONTH('Table'[Date])=_currentmonth-1,"Previous Month",
    'Table'[Date]<=_maxlastmonth,"Previous",
    'Table'[Date]>_maxcurrentmonthday,"Future Month")
return
_switch

2. Resultado:

Filtrar los datos para extraer fechas representativas para ver mejor los resultados

vyangliumsft_0-1629183679290.png

Saludos

Liu Yang

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

Syndicate_Admin
Administrator
Administrator

No @ElvirBotic ,

¿Está diciendo que desea etiquetar los valores en blanco?

Estos son los pasos que puede seguir:

1. Crear columna calculada.

Column =
var _currentyear=YEAR(TODAY())
var _currentmonth=MONTH(TODAY())
var _switch=
SWITCH(
    TRUE(),
MONTH('Table'[Date])=_currentmonth&&YEAR('Table'[Date])=_currentyear,"Current Month",
'Table'[Date] <DATE(YEAR(TODAY()),MONTH(TODAY()),1),"Previous Month",
MONTH('Table'[Date])>_currentmonth&&YEAR('Table'[Date])>=_currentyear,"Future Month")
return
IF('Table'[Date]=BLANK(),"blank",_switch)

2. Resultado:

vyangliumsft_0-1628756918927.png

Saludos

Liu Yang

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

Esto funcionaría para un año de datos, pero tengo varios años de datos ¿hay alguna manera de que la corrección incluya 2020, 2019, etc.?

Syndicate_Admin
Administrator
Administrator

Sí, tengo varios años de datos, por lo que me lo hace más difícil.

@ElvirBotic

Puede probar esto

Column = if(year('date'[Date])=year(today())&&month('date'[Date])=month(today()),"Current Month",if(year('date'[Date])=year(today())&&month('date'[Date])<month(today()),"Previous Month",if('date'[Date]>EOMONTH(today(),0),"Future Month")))

pls ver el archivo adjunto a continuación.

Vi que para 2020 hay muchos valores en blanco. ¿Hay alguna manera de evitar esto? Básicamente, cada fecha de la dimensión de fecha debe tener un registro anterior, actual y futuro.

@ElvirBotic

entonces, ¿qué quieres mostrar en los últimos años, no lo mencionaste en tu descripción?

Sólo "Anterior"

@ElvirBotic

pls probar esto

Column = if(year('date'[Date])=year(today())&&month('date'[Date])=month(today()),"Current Month",if('date'[Date]<=EOMONTH(today(),-1),"Previous Month",if('date'[Date]>EOMONTH(today(),0),"Future Month")))
Syndicate_Admin
Administrator
Administrator

@ElvirBotic

¿es esto lo que quieres? Supongo que solo tiene datos de un año en la tabla de fechas. Si tiene más de un año de datos, debe modificar el DAX

Column = if(MONTH('Date'[Date])=month(today()),"Current Month",if('Date'[Date]<=EOMONTH(today(),-1),"Previous Month",if('Date'[Date]>EOMONTH(today(),0),"Future Month")))

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