Anónimo
Hola,
Tengo una tabla:
CUST A | Producto A | 1/1/19 | Departamento de Neumáticos | Neumáticos
CUST A | Producto B | 1/1/20 | Departamento de Acme | Campanas
CUST A | Producto C | 1/1/18 | Departamento de neumáticos | Neumáticos
Probé un Calcular por Min (producto, filtro (anterior (fecha)), Filtro (Neumáticos))
Pero no estoy seguro de cómo escribir esto.
Necesito encontrar el primer producto vendido por el Cliente en «Llantas» por el Departamento de Llantas para cualquier Producto.
En este caso, debería ser el Cliente A, Producto C, para Neumáticos en el departamento de Neumáticos.
Alguien puede ayudar. Dax no es como Excel.
v-alq-msft
En respuesta a Anónimo
Hola, @Anónimo
Puede probar la siguiente medida.
Sales Price =
var _cust = SELECTEDVALUE('MF Data 6_25'[Account Name])
var _tor = SELECTEDVALUE('MF Data 6_25'[Sales Price (converted)])
var _date =
CALCULATE(
MIN('MF Data 6_25'[Created Date].[Date]),
FILTER(
ALL('MF Data 6_25'),
'MF Data 6_25'[Account Name] = _cust&&
'MF Data 6_25'[Product LOBs] = "Career"&&
'MF Data 6_25'[ColSales] < 50000
)
)
var _product =
CONCATENATEX(
FILTER(
ALL('MF Data 6_25'),
'MF Data 6_25'[Account Name] = _cust&&
'MF Data 6_25'[Product LOBs] = "Career"&&
'MF Data 6_25'[Created Date].[Date] = _date
),
[Product Name]
)
return
_TOR
Atentamente
Alano
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
v-alq-msft
Hola, @Anónimo
Basándome en tu descripción, creé datos para reproducir tu escenario. El archivo pbix se adjunta al final.
Tabla:
Puede crear una medida como se muestra a continuación.
Result =
var _cust = SELECTEDVALUE('Table'[CUST])
var _date =
CALCULATE(
MIN('Table'[Date]),
FILTER(
ALL('Table'),
'Table'[CUST] = _cust&&
'Table'[Dept] = "Tire Dept"
)
)
var _product =
CONCATENATEX(
FILTER(
ALL('Table'),
'Table'[CUST] = _cust&&
'Table'[Dept] = "Tire Dept"&&
'Table'[Date] = _date
),
[Product]
)
return
_cust&"|"&_product&"|"&_date&"|Tire Dept|Tires"
Resultado:
Atentamente
Alano
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Anónimo
En respuesta a v-alq-msft
Hola @ v-alq-msft Allan o alguien:
¿Cómo puedo filtrar otra columna en función de los valores?
Me gustaría sacar valores inferiores a 50.000.
Entonces, si tuviéramos un producto que se vendió por menos de 50,000 y fue el primer / primer producto vendido, entonces la fórmula lo omitiría y pasaría al siguiente producto para ver si era mayor que 50,000.
v-alq-msft
En respuesta a Anónimo
Hola, @Anónimo
Puede probar la siguiente medida.
Sales Price =
var _cust = SELECTEDVALUE('MF Data 6_25'[Account Name])
var _tor = SELECTEDVALUE('MF Data 6_25'[Sales Price (converted)])
var _date =
CALCULATE(
MIN('MF Data 6_25'[Created Date].[Date]),
FILTER(
ALL('MF Data 6_25'),
'MF Data 6_25'[Account Name] = _cust&&
'MF Data 6_25'[Product LOBs] = "Career"&&
'MF Data 6_25'[ColSales] < 50000
)
)
var _product =
CONCATENATEX(
FILTER(
ALL('MF Data 6_25'),
'MF Data 6_25'[Account Name] = _cust&&
'MF Data 6_25'[Product LOBs] = "Career"&&
'MF Data 6_25'[Created Date].[Date] = _date
),
[Product Name]
)
return
_TOR
Atentamente
Alano
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Anónimo
En respuesta a v-alq-msft
@ v-alq-msft – ¡Esto funcionó muy bien! ¡Ahora entiendo cómo usar filtros dentro de estas ecuaciones!
Amitchandak
@Anónimo, prueba como
calculate(firstnonblankvalue(Table[Date],Min(Table[product])), Table[Type]="Tires")
Anónimo
En respuesta a Amitchandak
Hola @amitchandak
¿Por qué usaríamos nonblankvalue? En este caso se responderían todos los valores.
Aclaré mi pregunta anterior, esto también tiene que encontrar al Cliente al final del día.
Entonces la respuesta sería: CUST A | Producto C | 1/1/18 | Departamento de neumáticos | Neumáticos
Tenga en cuenta que puede haber CUST B, C u otros en esta lista.
Gracias,