AC1
Hola,
Esta solicitud es similar a: https://community.powerbi.com/t5/Desktop/DAX-Calculate-the-Max-for-a-Group/mp/64645/highlight/true#…, aunque me costó obtener la solución para trabajar para mí.
Esperaba que alguien pudiera ayudarme a crear una medida (llamemos a esta medida [MS]) que maximizan [Searches] por [Date], [Size] & filtro de usuario (si se aplica algún filtro). Entonces dividiré la suma de [Orders] con la suma de [MS] para obtener la conversión. Con suerte, los ejemplos a continuación dejarán más claro lo que busco.
Ejemplo:
Fecha |
Tamaño |
Marca |
Producto |
Búsquedas |
Pedidos |
01/01/2017 |
X |
A |
110 |
250 |
2 |
01/01/2017 |
X |
A |
111 |
250 |
9 |
01/01/2017 |
X |
B |
120 |
250 |
9 |
01/01/2017 |
Y |
A |
210 |
150 |
8 |
01/01/2017 |
Y |
B |
220 |
150 |
5 |
01/01/2017 |
Y |
C |
230 |
150 |
9 |
01/01/2017 |
Y |
C |
230 |
150 |
8 |
01/01/2017 |
Z |
B |
320 |
500 |
2 |
02/01/2017 |
X |
A |
111 |
350 |
2 |
02/01/2017 |
X |
B |
120 |
350 |
7 |
02/01/2017 |
X |
B |
120 |
350 |
7 |
02/01/2017 |
Y |
B |
121 |
150 |
3 |
02/01/2017 |
Y |
C |
231 |
150 |
8 |
02/01/2017 |
Z |
A |
310 |
450 |
3 |
02/01/2017 |
Z |
B |
320 |
450 |
6 |
02/01/2017 |
Z |
B |
320 |
450 |
1 |
02/01/2017 |
Z |
B |
321 |
450 |
7 |
02/01/2017 |
Z |
C |
330 |
450 |
7 |
- Si no se aplica ningún filtro: Conversión = SUMA([Orders]) / SUMA([MS]) = 103 / (250 + 150 + 500 + 350 + 150 + 450) = 5,57 %
- Si Tamaño = X y Marca = A: Conversión = SUMA ([Orders]) / SUMA([MS]) = (2+9+2) / (250 + 350) = 2,17 %
- Si Tamaño = X & Marca = A & Producto = 111: Conversión = SUMA ([Orders]) / SUMA([MS]) = (9+2) / (250 + 350) = 1,83%
- Si Marca = A: Conversión = SUMA([Orders]) / SUMA([MS]) = 24 / (250 + 150 + 350 + 450) = 2,00%
- Si Fecha = 01/01/217 & Marca = A: Conversión = SUMA([Orders]) / SUMA([MS]) = (2 + 9 + 😎 / (250 + 150) = 4,75%
- Por fecha, Marca = A: {01/01/2017} Conversión = SUM([Orders]) / SUMA([MS]) = (2 + 9 + 😎 / (250 + 150) = 4,75% & {01/02/2017} Conversión = SUMA([Orders]) / SUMA([MS]) = (2 + 3) / (350 + 450) = 0,63%
Tenga en cuenta que el último ejemplo muestra cómo podríamos mostrar la conversión en un gráfico de líneas, con la fecha en el eje x. De manera similar, los datos pueden dividirse por cualquiera de las columnas anteriores, por lo tanto [MS] tendrá que mostrar una cifra para cada uno de los valores en esa columna. También podemos hacer que el usuario seleccione 2 tamaños, marcas, etc., por lo tanto [MS] es necesario combinar las búsquedas adecuadamente para ambos.
Preferiría que la solución funcione en DirectQuery, pero estaré contento con cualquier solución.
Puede haber una mejor manera de hacer esto y me complace escuchar soluciones alternativas, siempre que logre los resultados del ejemplo.
Espero que esto tenga sentido, de lo contrario, solo escríbame e intentaré explicarlo mejor.
Salud,
Alejandro
Phil_Seamark
hola @AC1
¿Cómo se ve esto? Simplemente reemplace donde tengo Table6 con su nombre de tabla.
MS = VAR P = SUMX(SUMMARIZE(Table6,'Table6'[Date],'Table6'[Size],"Searches",MAX('Table6'[Searches])),[Searches]) VAR T = DIVIDE( CALCULATE( SUM(Table6[Orders]) ), P) RETURN T
Phil_Seamark
hola @AC1
¿Cómo se ve esto? Simplemente reemplace donde tengo Table6 con su nombre de tabla.
MS = VAR P = SUMX(SUMMARIZE(Table6,'Table6'[Date],'Table6'[Size],"Searches",MAX('Table6'[Searches])),[Searches]) VAR T = DIVIDE( CALCULATE( SUM(Table6[Orders]) ), P) RETURN T
AC1
En respuesta a Phil_Seamark
Hola @Phil_Seamark,
¡¡Funcionó!!
Gracias.
Salud,
Alex
AC1
En respuesta a Phil_Seamark
Hola @Phil_Seamark,
Eso se ve bien.
Lo intentaré ahora y te mantendré informado.
Gracias.
Salud,
Alex
v-qiuyu-msft
Hola @AC1,
De «crear una medida (llamemos a esta medida [MS]) que maximizan [Searches] por cualquiera de los dos grupos ([Date], [Size]) o filtro de usuario (el que tenga más filas), la medida «MS» devolverá el máximo [Searches] en base a los filtros. Por ejemplo, si Talla = X y Marca = A: Conversión = SUMA([Orders]) / SUMA([MS]) = (2+9+2) / (250 + 350) = 2,17%, el [MS] y Suma([MS]) devuelve 350. ¿Por qué en su escenario es (250+350)?
También para sus 5 condiciones, cada una devolverá un valor, ¿por qué desea mostrar los resultados en un gráfico de líneas en lugar de la tarjeta visual?
Atentamente,
qiuyun yu
AC1
En respuesta a v-qiuyu-msft
Hola,
Gracias por mirar mi consulta.
Con respecto a «También para sus 5 condiciones, cada una devolverá un valor, por qué desea mostrar los resultados en un gráfico de líneas en lugar de la tarjeta visual». el gráfico de líneas es cuando encontraremos el [MS] por cada fecha, pero quizás sobre varios tamaños, marcas y productos. Me doy cuenta de que los ejemplos no muestran eso, por lo que escribí «Tenga en cuenta que es posible que tengamos la conversión mostrada en un gráfico de líneas, con la fecha en el eje x. » después… 🙂 Agregaré un ejemplo ahora:
- Fecha en el eje x, Marca = A: {01/01/2017} Conversión = SUMA([Orders]) / SUMA([MS]) = (2 + 9 + 😎 / (250 + 150) = 4,75% & {01/02/2017} Conversión = SUMA([Orders]) / SUMA([MS]) = (2 + 3) / (350 + 450) = 0,63%
La razón por la que está confundido con «¿Por qué en su escenario es (250+350)?» es porque no he explicado el camino [MS] funciona con precisión. [MS] es el máximo de [Searches] por [Date] & [Size] & filtro de usuario (si lo hay). Así que en este ejemplo usamos [Date] & [Size] & [Brand] y obtenga 250 como máximo de {01/01/2017}, {X}, {A} y 350 como máximo de {02/01/2017}, {X}, {A}. Voy a cambiar la explicación en mi publicación original.
Gracias de nuevo.
Salud,
Alex