Valor de devolución basado en la fecha máxima de ventas del cliente = fecha máxima de actualización de datos

Un usuario Pregunto ✅

av9

Hola,
Con la esperanza de que alguien pueda ayudarme, tengo un escenario en el que recibo datos de países en diferentes momentos del mes. Considero que el último valor por país y producto es el monto total de ventas de ese mes.

Así como un ejemplo:
Los datos de Bélgica y Noruega se actualizaron por última vez el 30 de septiembre de 2020 y Dinamarca en octubre de 2020.

av9_0-1604626663758.png

Lo primero que noté al crear una medida de Suma más reciente fue que el Total de suma más reciente mostraba el valor más reciente para la fecha más reciente por cliente. Así que agregué una medida condicional si el período de Ventas del último cliente no es igual a la Fecha de actualización del país y luego mostré 0.

6-11-2020 12-50-38 PM.jpg

Cuando cambio de cliente en mi cortadora, noto que otro cliente que tiene un valor de Monto de 0 en el último mes (es decir, octubre de 2020), las Ventas totales también se muestran como cero. Esto no es correcto y debería mostrar la cifra de septiembre de 2020, ya que este es el último valor para los datos de Noruega.

6-11-2020 12-45-11 PM.jpg

Alguien sabe como puedo solucionar esto. Básicamente, necesito devolver el monto según la fecha máxima de ventas del cliente = fecha máxima de actualización de datos. Mi pbix y funcionamiento está en el enlace de abajo;

https://drive.google.com/file/d/1p3kNea7sCzR33Ge7h0QN2Lk_2DdVmkYn/view?usp=sharing

amichandak

@ av9, tienes que probar una fórmula como

Sales = 
sumx(VALUES(Country[Country]) , IF([Country Refresh Date]=[Last Country Refresh Date], [Latest SUM], BLANK()))

Sum Amount = 
CALCULATE 
    ( SUMX (values(Country[Country]),Sum(Sales[Amount])),
 FILTER ( Sales, (MAX(Sales[Date]) = [Country Refresh Date] )))

Total Sales = sumx(VALUES(Country[Country]) ,IF(ISBLANK([Last Sales Period for Customer]),BLANK(),IF(ISBLANK([Sales]),0,[Sales])))

av9

Fantástico, eso funcionó !!!😀

amichandak

@ av9, tienes que probar una fórmula como

Sales = 
sumx(VALUES(Country[Country]) , IF([Country Refresh Date]=[Last Country Refresh Date], [Latest SUM], BLANK()))

Sum Amount = 
CALCULATE 
    ( SUMX (values(Country[Country]),Sum(Sales[Amount])),
 FILTER ( Sales, (MAX(Sales[Date]) = [Country Refresh Date] )))

Total Sales = sumx(VALUES(Country[Country]) ,IF(ISBLANK([Last Sales Period for Customer]),BLANK(),IF(ISBLANK([Sales]),0,[Sales])))

Deja un comentario

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