Recuento del mes anterior y 2 meses antes

Un usuario Pregunto ✅

kasun78

Hola

Tengo un conjunto de datos que consta de una cantidad de correos electrónicos y se recibió la hora, la fecha, etc. Ya creé una tabla Mes y Año por separado para la conveniencia de las imágenes que ya creé. (Tenga en cuenta que todas las columnas de la tabla de mes y año están en formato de texto y no puedo convertirlo a la fecha).

PBI.PNG

Ahora quería crear una medida que calcule el NÚMERO de correos electrónicos enviados en el mes anterior y 2 meses antes según el mes que el usuario está seleccionando (Slicer se creó usando las tablas de mes y año mencionadas anteriormente)

Intenté usar todos los métodos (PreviousMonth, DateAdd) que se mencionan en el foro y no pude resolver esto, ya que me está dando un error cuando selecciono la tabla de este mes diciendo que la columna elegida estaba en formato de texto.

¿Podría alguien por favor ser capaz de ayudarme?

PD: a continuación se muestra un ejemplo de cómo se ven mis datos.

https://drive.google.com/file/d/1tHMVWPlpaO2pOBTe5gSKEokN2w2okB51/view?usp=drivesdk

Hola @Kasun78,

De acuerdo con su descripción, creé algunos datos para mostrar:

v-yangliu-msft_0-1606091671132.png

Estos son los pasos que puede seguir:

1. Crear columna calculada.

Month = MONTH('Table'[Date])

2. Crear medida.

lastmount =
var _1 = SELECTEDVALUE('Table'[Month])
var _lastmount=
CALCULATE(SUM('Table'[Email time]),FILTER(ALL('Table'),'Table'[Month]=_1-1))
return _lastmount
first two months =
var _1=SELECTEDVALUE('Table'[Month])
var _lastmount1= CALCULATE(SUM('Table'[Email time]),FILTER(ALL('Table'),'Table'[Month]=_1-1))
var _lastmount2=CALCULATE(SUM('Table'[Email time]),FILTER(ALL('Table'),'Table'[Month]=_1-2))
return _lastmount1+_lastmount2

3. Resultado.

v-yangliu-msft_1-1606091671136.png

Puede descargar el archivo PBIX desde aquí.

Atentamente,

liu yang

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

kasun78

Hola Liu @v-yangliu-msft,

Tengo otro requisito para el mismo conjunto de datos. Pensé en actualizar esto en lugar de publicar un nuevo hilo.

Estaba usando la fórmula anterior que proporcionó y ahora quería agregar un filtro de nivel visual. (por ejemplo, tengo nombres de equipo para cada una de las filas y quería mi tarjeta visual que usa la fórmula anterior para filtrarla usando filtros visuales por nombre de equipo) Pero no funciona.

No puedo usar el nombre del equipo como lo mostró en el ejemplo porque quería usar la opción de desglose y cuando uso el nombre del equipo al final de la opción de desglose de fórmula no da el valor correcto.

Agradezco su ayuda en esto.

En respuesta a kasun78

Hola @Kasun78,

Agregué un campo de empresa en los datos:

v-yangliu-msft_0-1609832311238.png

Estos son los pasos que puede seguir:

1. Crear medida.

lastmount =
var _1 = SELECTEDVALUE('Table'[Month])
VAR _2= SELECTEDVALUE('Table'[Company])
var _lastmount=
CALCULATE(SUM('Table'[Email time]),FILTER(ALL('Table'),'Table'[Month]=_1-1&&'Table'[Company]=_2))
return _lastmount
first two months =
var _1=SELECTEDVALUE('Table'[Month])
VAR _2=SELECTEDVALUE('Table'[Company])
var _lastmount1= CALCULATE(SUM('Table'[Email time]),FILTER(ALL('Table'),'Table'[Month]=_1-1&&'Table'[Company]=_2))
var _lastmount2=CALCULATE(SUM('Table'[Email time]),FILTER(ALL('Table'),'Table'[Month]=_1-2&&'Table'[Company]=_2))
return _lastmount1+_lastmount2

2. Resultado.

Coloque los campos de mes y compañía en Slice

v-yangliu-msft_1-1609832311244.png

Puede descargar el archivo PBIX desde aquí.

Atentamente,

liu yang

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

Hola @Kasun78,

De acuerdo con su descripción, creé algunos datos para mostrar:

v-yangliu-msft_0-1606091671132.png

Estos son los pasos que puede seguir:

1. Crear columna calculada.

Month = MONTH('Table'[Date])

2. Crear medida.

lastmount =
var _1 = SELECTEDVALUE('Table'[Month])
var _lastmount=
CALCULATE(SUM('Table'[Email time]),FILTER(ALL('Table'),'Table'[Month]=_1-1))
return _lastmount
first two months =
var _1=SELECTEDVALUE('Table'[Month])
var _lastmount1= CALCULATE(SUM('Table'[Email time]),FILTER(ALL('Table'),'Table'[Month]=_1-1))
var _lastmount2=CALCULATE(SUM('Table'[Email time]),FILTER(ALL('Table'),'Table'[Month]=_1-2))
return _lastmount1+_lastmount2

3. Resultado.

v-yangliu-msft_1-1606091671136.png

Puede descargar el archivo PBIX desde aquí.

Atentamente,

liu yang

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

kasun78

En respuesta a v-yangliu-msft

Hola liu,

Muchas gracias. Salvaste mi día. 😀

Lo modifiqué un poco como se muestra a continuación para satisfacer algunos otros requisitos míos.

lastmount = 
var _1 = SELECTEDVALUE(email[Month_Metrics])
var _2 = SELECTEDVALUE(email[Year])
var _lastmount=
CALCULATE(COUNTROWS(email),FILTER(ALL(email),email[Month_Metrics]=_1-1),email[Year]= _2, email[Team] = "HR")
return _lastmount

Gracias de nuevo

crismendoza

@ Kasun78: el uso de funciones de inteligencia de tiempo en DAX tiene ‘requisitos’. Eche un vistazo a https://radacad.com/basics-of-time-intelligence-in-dax-for-power-bi-year-to-date-quarter-to-date-mon… para comenzar a aprender cómo usar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *