Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Tengo las siguientes columnas:
ID Ventas Amt. Mes de ventas Mes anterior
A1 1000 Junio Mayo
A2 2000 Abril Marzo
A1 3000 Mayo Abril
A2 4000 Marzo Febrero
Necesito hacer una columna que busque el valor de la columna del mes anterior en el mes de ventas y devuelva el monto de las ventas. Muy parecido a:
ID Ventas Amt. Mes de ventas Mes anterior Mes anterior Monto de las ventas
A1 1000 Junio Mayo 3000
A2 2000 Abril Marzo 4000
A1 3000 Mayo Abril -
A2 4000 Mayo Abril 2000
Medidas probadas y columna calculada pero sin obtener el resultado deseado.
Cualquier ayuda sería
Solved! Go to Solution.
Hay @rahuldas_vgm,
Puede usar la función MAX para reemplazar la función SUM original tal como se muestra en la siguiente captura de pantalla:
Monto de las ventas del mes anterior =
VAR _premonth =
SELECTEDVALUE ( 'Tabla'[Mes anterior] )
VAR _selid =
SELECTEDVALUE ( 'Tabla'[ID] )
DEVOLUCIÓN
CALCULAR (
MAX ( «Tabla» [Ventas Amt.] ),
FILTRO (
ALLSELECTED ( 'Tabla' ),
'Tabla'[ID] = _selid
&& 'Tabla'[Mes de ventas] = _premonth
)
)
|
Si lo que desea obtener es una columna,puede crear una columna calculada de la siguiente manera:
Column =
CALCULATE (
MAX ( 'Table'[Sales Amt.] ),
FILTER (
ALL ( 'Table' ),
'Table'[ID] = EARLIER('Table'[ID])
&& 'Table'[Sales Month] = EARLIER('Table'[Previous Month])
)
)
Si los anteriores no funcionan, proporcione más datos de muestra con formato de texto y su resultado esperado con captura de pantalla o ejemplos especiales. Gracias.
Saludos
Aquí hay una expresión de columna calculada que debería funcionar. Sin embargo, ¿cómo manejas Jan con el mes anterior de diciembre? Debe considerar convertir sus columnas de mes a fechas, agregar una tabla de fechas a su modelo, para que luego pueda hacer este tipo de análisis con medidas de inteligencia de tiempo.
Ventas de PrevMon =
VAR prevmon = Amt[Mes anterior]
VAR thisID = Amt[ID]
DEVOLUCIÓN
SUMX (
FILTER ( FILTER ( Amt, Amt[Sales Month] = prevmon ), Amt[ID] = thisID ),
Amt[Ventas Amt.]
)
Palmadita
Hola Pat,
Gracias por su sugerencia. Esto realmente me llevó a pensar en el mes de enero y llevarlo hacia atrás. Ahora he creado la columna Fecha actual y fecha del mes anterior a partir de la edición de la consulta. Me encontré con publicaciones de análisis de inteligencia de tiempo aquí antes y definitivamente intentaré resolver el problema.
Además, sería de gran ayuda si pudieras guiarme con esta parte, en caso de que no pueda seguir las publicaciones correctamente.
Gracias de nuevo!!
Hay @rahuldas_vgm,
¿Su problema se ha resuelto? Si no, puede crear una medida como la siguiente para obtener las ventas del mes anterior:
Previous Month Sales Amount =
VAR _premonth =
SELECTEDVALUE ( 'Table'[Previous Month] )
VAR _selid =
SELECTEDVALUE ( 'Table'[ID] )
RETURN
CALCULATE (
SUM ( 'Table'[Sales Amt.] ),
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[ID] = _selid
&& 'Table'[Sales Month] = _premonth
)
)
Si su problema se ha resuelto, ¿podría marcarlo como Respondido? Ayudará a los demás en la comunidad a encontrar la solución fácilmente si enfrentan el mismo problema con el suyo. Gracias.
Saludos
Hola Rena,
Gracias por su ayuda. El resultado no me muestra ningún valor, pero no hay ningún mensaje de error. El tipo de datos en la columna ventas está en palabras (texto) Si tuviera que devolver un texto, ¿con qué debería reemplazar la función SUMA?
Gracias de nuevo por su ayuda, esperando su respuesta.
Hay @rahuldas_vgm,
Puede usar la función MAX para reemplazar la función SUM original tal como se muestra en la siguiente captura de pantalla:
Monto de las ventas del mes anterior =
VAR _premonth =
SELECTEDVALUE ( 'Tabla'[Mes anterior] )
VAR _selid =
SELECTEDVALUE ( 'Tabla'[ID] )
DEVOLUCIÓN
CALCULAR (
MAX ( «Tabla» [Ventas Amt.] ),
FILTRO (
ALLSELECTED ( 'Tabla' ),
'Tabla'[ID] = _selid
&& 'Tabla'[Mes de ventas] = _premonth
)
)
|
Si lo que desea obtener es una columna,puede crear una columna calculada de la siguiente manera:
Column =
CALCULATE (
MAX ( 'Table'[Sales Amt.] ),
FILTER (
ALL ( 'Table' ),
'Table'[ID] = EARLIER('Table'[ID])
&& 'Table'[Sales Month] = EARLIER('Table'[Previous Month])
)
)
Si los anteriores no funcionan, proporcione más datos de muestra con formato de texto y su resultado esperado con captura de pantalla o ejemplos especiales. Gracias.
Saludos
Lo siento, me había olvidado de decir que el mes actual se está seleccionando a través de una cortadora. Entonces, ahora me di cuenta de que su solución funciona perfectamente, pero solo cuando la cortadora se ha eliminado por completo o el mes actual y el mes anterior respectivo se seleccionan de la rebanadora.
Definitivamente marcaré esto como una solución a la pregunta que había publicado, pero realmente sería de gran ayuda si pudieras hacérmelo saber:
1. Cómo crear una columna que tenga los valores de la medida que su solución está proporcionando.
2. Cómo hacer que los elementos visuales vean los datos del mes anterior en la selección de un solo mes en lugar de la selección de dos meses consecutivos.
¡Muchas gracias!
Hay @rahuldas_vgm
Pruebe esto para agregar una nueva columna:
Column = LOOKUPVALUE('Table'[Sales Amt.],[Sales Month],[Previous Month])
Salida:
Si esta publicación ayuda,considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Aprecia tus felicitaciones!!
La columna Mes anterior se creó en la edición de consulta para la columna calculada mediante Dateadd(SalesMonth,-1,Month). Es esa la razón por la que me está dando el error. ¿También si es posible obtener el valor de ventas del mes anterior de la columna Mes de ventas en sí según los valores dentro de la columna?
¡Gracias de nuevo por todas las maravillosas sugerencias y ayuda!
Gracias @VahidDM
Intenté buscar valor en la columna crear, pero da un error "Se proporcionó una tabla de valor múltiple donde se esperaba un solo valor".
😞
Gracias por su sugerencia!!