Anónimo
Aquí está mi problema: tengo 1 tabla de hechos sobre compras, 2 dimensiones (Productos, Clientes)
Quiero crear un tipo de cliente en función del producto comprado mayoritariamente para un intervalo de fechas determinado.
Ejemplo:
Dimensión de división |
Fruta |
Carne |
Verduras |
Fecha | Cliente | División de productos | Montones |
01/01/2018 | John | Fruta | 7 |
02/01/2018 | John | Verduras | 8 |
01/03/2018 | Meg | Fruta | 13 |
01/04/2018 | Meg | Carne | dieciséis |
01/05/2018 | Meg | Verduras | 5 |
01/03/2018 | Salida | Fruta | 3 |
01/04/2018 | Salida | Carne | 2 |
01/05/2018 | Salida | Verduras | 5 |
tomando el tonelaje máximo para ese cliente, quiero asignar un tipo de cliente a la dimensión del cliente (Ejemplo:
Dimensión personalizada | tipo de cliente |
John | Verduras |
Meg | Carne |
Salida | Fruta |
¿Alguna idea?
Gracias
v-juanli-msft
Hola @Anónimo
De su ejemplo, parece que el «rango de fechas dado» aquí es anterior al 2018/5/1, por lo que uso la columna «fecha» en una cortadora y selecciono «antes del 2018/5/1».
Primero creo una tabla de fechas de calendario
Table2 = CALENDARAUTO()
tenga en cuenta que no debe crear una relación entre esta tabla de fechas y su tabla.
Luego cree medidas en su tabla (llamada Tabla1 a continuación)
max = MAX(Table2[Date]) min = MIN(Table2[Date]) max purchase = CALCULATE(MAX(Table1[Tons ]),FILTER(ALLEXCEPT(Table1,Table1[Customer]),[Date ]>=[min]&&[Date ]<[max])) max-produce = CALCULATE(MAX(Table1[Product Division ]),FILTER(ALLEXCEPT(Table1,Table1[Customer]),[Tons ]=[max purchase]))
Atentamente
Maggie
v-juanli-msft
Hola @Anónimo
De su ejemplo, parece que el «rango de fechas dado» aquí es anterior al 2018/5/1, por lo que uso la columna «fecha» en una cortadora y selecciono «antes del 2018/5/1».
Primero creo una tabla de fechas de calendario
Table2 = CALENDARAUTO()
tenga en cuenta que no debe crear una relación entre esta tabla de fechas y su tabla.
Luego cree medidas en su tabla (llamada Tabla1 a continuación)
max = MAX(Table2[Date]) min = MIN(Table2[Date]) max purchase = CALCULATE(MAX(Table1[Tons ]),FILTER(ALLEXCEPT(Table1,Table1[Customer]),[Date ]>=[min]&&[Date ]<[max])) max-produce = CALCULATE(MAX(Table1[Product Division ]),FILTER(ALLEXCEPT(Table1,Table1[Customer]),[Tons ]=[max purchase]))
Atentamente
Maggie
Anónimo
En respuesta a v-juanli-msft
HOLA-
Recibo un error en la compra máxima
No se puede determinar un solo valor para la columna ‘Fecha’ en la tabla ‘Calendario 1’. Esto puede suceder cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación como mínimo, máximo, recuento o suma para obtener un único resultado.
¿Pueden ayudarme?
v-juanli-msft
En respuesta a Anónimo
Hola @Anónimo
este error ocurre porque usted pone directamente una columna en una medida, pero por diseño, necesita especifique una agregación como mínimo, máximo, recuento o suma para obtener un único resultado.
Measure1 = calendario[date] (error)
Measure2 = max (calendario[date])
No se preocupe, obtendrá el valor máximo para el [date] columna, la fórmula de Measure2 solo da el valor actual de cada fila. por ejemplo,
fecha Measure2
2018/1/1 2018/1/1
2018/4/1 2018/4/1
2018/5/1 2018/5/1
para obtener el valor máximo de la [date] columna, debe definir el contenido del filtro.
por ejemplo
fecha Measure3
2018/1/1 2018/6/1
2018/2/1 2018/6/1
2018/3/1 2018/6/1
2018/4/1 2018/6/1
2018/5/1 2018/6/1
2018/6/1 2018/6/1
Measure3 = calcular (max (calendario[date]), todos (calendario))
Atentamente
Maggie
Greg_Deckler
Measure = VAR __customer = MAX([Customer]) VAR __table = SUMMARIZE(ALL('table19'),[Customer],[Product Division ],"__Tons",SUM([Tons ])) VAR __max = MAXX(FILTER(__table,[Customer]=__customer),[__Tons]) RETURN MAXX(FILTER(__table,[Customer]=__customer && [__Tons]=__max),[Product Division ])