Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hola a todos,
Estoy tratando de agrupar un gráfico circular de muchas ventas de empresas de mensajería teniendo en cuenta los siguientes aspectos:
Por lo tanto, tendría 5 sectores diferentes en mi gráfico circular y cada mes que actualizo mi base de datos, el gráfico circular también actualizará los 5 mejores mensajeros de acuerdo con sus ventas.
Estaré muy agradecido por su ayuda, he estado atascado en este problema por un tiempo.
Mejor
Jalv
Solved! Go to Solution.
Hola @jlopezentregas ,
La tabla de clasificación se utiliza por grupo sin categoría como referencia. La columna 'Categoría' real está en su tabla 'MRN_2020', por lo que debe crear la columna de cálculo 'Grupo' en la tabla 'MRN_2020' utilizando la fórmula anterior:
Group =
VAR tab =
FILTER (
SUMMARIZE ( MRN_2020, MRN_2020[Cargo Company], "KILOS", SUM( MRN_2020[Kilos] ) ),
NOT (MRN_2020[Cargo Company] IN { "ENTREGAS ESPECIALES ESPENTREGAS S.A.", "DHL EXPRESS ECUADOR S.A.", "LAARCOURIER EXPRESS S.A." } )
)
VAR newtab =
ADDCOLUMNS (
tab,
"Rank",
VAR _category = 'MRN_2020'[Category]
RETURN
RANKX ( FILTER ( 'MRN_2020', 'MRN_2020'[Category] = _category ), [KILOS],,DESC,Dense )
)
VAR _group =
VAR _company = 'MRN_2020'[Cargo Company]
RETURN
IF (
_company IN { "ENTREGAS ESPECIALES ESPENTREGAS S.A.", "DHL EXPRESS ECUADOR S.A.", "LAARCOURIER EXPRESS S.A." },
[Cargo Company],
VAR x =
SUMX ( FILTER ( newtab, [Cargo Company]= _company ), [Rank] )
RETURN
IF ( x >= 1 && x <= 5, "Other Top 5 Countries", "Others" )
)
RETURN
_group
Y puede colocar su columna de categoría en el filtro visual del gráfico circular para filtrar cada categoría:
Mejores looks,
Yingjie Li
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @jlopezentregas ,
¿Podría proporcionar algunos datos de muestra? El gráfico circular se dividirá en 5 partes con estos valores al igual que la siguiente captura de pantalla? ¿Si la siguiente captura de pantalla es el resultado esperado?
1. Compañía X
2. Compañía Y
3. Compañía Z
4. Las 5 principales empresas excepto la empresa X,Y y Z
5. Las empresas de izquierda
Saludos
Rena
Hola @yingyinr
Otro usuario me ayudó con esta fórmula, pero al usarla en el informe original, recibo el error "La expresión hace referencia a varias columnas. Varias columnas no se pueden convertir en un valor escalar"
Tabla de rangos = PESTAÑA VAR = FILTRO ( RESUMIR ( 'Tabla', 'Tabla'[Empresa], "Ventas", SUMA ( 'Tabla'[Ventas] ) ), NO ( [Empresa] IN { "Empresa X", "Empresa Y", "Empresa Z" } ) ) VAR newtab = ADDCOLUMNS ( pestaña, "Rango", RANKX ( pestaña, [Ventas] ) ) VAR _table = RESUMIR ( 'Tabla', 'Tabla'[Empresa], "Ventas", SUM ( 'Tabla'[Ventas] ), "Grupo", VAR _company = [Empresa] RETURN IF ( _company IN { "Empresa Z", "Empresa Y", "Empresa X" }, [Empresa], VAR x = SUMX ( FILTRO ( nueva ficha, [Empresa] = _company ), [Rango] ) RETURN IF ( x > = 1 &&x < = 5, "Ohter Top 5 Países", "Otros") ) ) RETORNO _table
Además, lo siguiente que me gustaría hacer es filtrar según 2 categorías diferentes. Por ejemplo, quiero tener el gráfico circular donde puedo filtrar según "documentos" o "paquetes". Si selecciono el filtro "documentos", el gráfico circular calcula las 5 principales empresas con más ventas en la categoría Documentos, y si quiero mostrar la cuota de mercado solo con respecto a los paquetes, entonces filtro los paquetes y las actualizaciones del gráfico circular con las 5 principales con respecto a los paquetes.
Sería el mismo ejercicio, pero añadiendo la opción de separar o filtrar entre dos categorías.
Muchas gracias por su ayuda.
mejor
José López
Hola @jlopezentregas ,
En realidad, lo que ese usuario creó es la pestaña calculadano se mide ni se calcula la columna. Si usó su fórmula proporcionada con tabla calculada, funciona bien. Por favor, compruebe la siguiente captura de pantalla.
Además, hay otro método: crear 5 medidas diferentes para mostrar las ventas resumidas de estas 5 cinco particiones.
Puede consultar los detalles de ambos métodos en este enlace.
Saludos
Rena
Hola @jlopezentregas ,
Puede probar esta medida para crear una tabla de cálculo:
Rank table =
VAR tab =
FILTER (
SUMMARIZE ( 'Table', 'Table'[Company], "Sales", SUM ( 'Table'[Sales] ) ),
NOT ( [Company] IN { "Company X", "Company Y", "Company Z" } )
)
VAR newtab =
ADDCOLUMNS ( tab, "Rank", RANKX ( tab, [Sales] ) )
VAR _table =
SUMMARIZE (
'Table',
'Table'[Company],
"Sales", SUM ( 'Table'[Sales] ),
"Group",
VAR _company = [Company]
RETURN
IF (
_company IN { "Company Z", "Company Y", "Company X" },
[Company],
VAR x =
SUMX ( FILTER ( newtab, [Company] = _company ), [Rank] )
RETURN
IF ( x >= 1 && x <= 5, "Ohter Top 5 Countries", "Others" )
)
)
RETURN
_table
La tabla de clasificación le gustará de esta manera:
Coloque la columna de grupo y la columna de ventas en el gráfico circular y el resultado final es como a la derecha del informe:
Aquí está mi archivo de muestra que espera ayudarle, por favor pruébelo: Gráfico circular agrupado por clasificación
Mejores looks,
Yingjie Li
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @v-yingjl ,
En primer lugar, gracias por responderme y ayudarme, eso es exactamente lo que estoy tratando de hacer. Desafortunadamente, copié la medida en mi informe original, pero recibí el siguiente error: "La expresión hace referencia a varias columnas. Varias columnas no se pueden convertir en un valor escalar". ¿Por qué estoy recibiendo este error y cómo puedo resolverlo?
Además, lo siguiente que me gustaría hacer es filtrar según 2 categorías diferentes. Por ejemplo, quiero tener el gráfico circular donde puedo filtrar de acuerdo con "documentos" o "paquetes". Si selecciono el filtro "documentos", el gráfico circular calcula las 5 principales empresas con más ventas en la categoría Documentos, y si quiero mostrar la cuota de mercado con respecto a los paquetes solo, selecciono paquetes de filtro y las actualizaciones del gráfico circular.
Sería el mismo ejercicio, pero añadiendo la opción de separar o filtrar entre dos categorías.
Mejor
José López
Hola @jlopezentregas ,
Acerca de grupo por categoría, agrego una columna de categoría en la tabla como esta para crear grupo:
La columna crear un cálculo utiliza la fórmula similar a la que publiqué por primera vez:
Group =
VAR tab =
FILTER (
SUMMARIZE ( 'Table', 'Table'[Company], "Sales", SUM ( 'Table'[Sales] ) ),
NOT ( [Company] IN { "Company X", "Company Y", "Company Z" } )
)
VAR newtab =
ADDCOLUMNS (
tab,
"Rank",
VAR _category = 'Table'[Category]
RETURN
RANKX ( FILTER ( 'Table', 'Table'[Category] = _category ), [Sales] )
)
VAR _group =
VAR _company = [Company]
RETURN
IF (
_company IN { "Company Z", "Company Y", "Company X" },
[Company],
VAR x =
SUMX ( FILTER ( newtab, [Company] = _company ), [Rank] )
RETURN
IF ( x >= 1 && x <= 5, "Ohter Top 5 Countries", "Others" )
)
RETURN
_group
A continuación, puede crear un gráfico circular y utilizar la columna de categoría como segmentación de datos:
Aquí está el archivo de muestra sobre grupo por categoría que espera que también le ayude, por favor pruébelo: Rango y grupo por category.pbix
Mejores looks,
Yingjie Li
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
HI @v-yingjl,
Hice lo que me dijiste y finalmente no tuve ningún error en la fórmula para crear la mesa. Pero, al crear el gráfico circular, solo muestra las categorías "Otros". Adjunto el informe que estoy usando, ¿puede ayudarme a comprobar mis errores?
Ejemplo de rango N superior de la carta circular
De lo contrario, muchas gracias por toda la ayuda que ha proporcionado anteriormente.
Mejor
José L
Hola @jlopezentregas ,
La tabla de clasificación se utiliza por grupo sin categoría como referencia. La columna 'Categoría' real está en su tabla 'MRN_2020', por lo que debe crear la columna de cálculo 'Grupo' en la tabla 'MRN_2020' utilizando la fórmula anterior:
Group =
VAR tab =
FILTER (
SUMMARIZE ( MRN_2020, MRN_2020[Cargo Company], "KILOS", SUM( MRN_2020[Kilos] ) ),
NOT (MRN_2020[Cargo Company] IN { "ENTREGAS ESPECIALES ESPENTREGAS S.A.", "DHL EXPRESS ECUADOR S.A.", "LAARCOURIER EXPRESS S.A." } )
)
VAR newtab =
ADDCOLUMNS (
tab,
"Rank",
VAR _category = 'MRN_2020'[Category]
RETURN
RANKX ( FILTER ( 'MRN_2020', 'MRN_2020'[Category] = _category ), [KILOS],,DESC,Dense )
)
VAR _group =
VAR _company = 'MRN_2020'[Cargo Company]
RETURN
IF (
_company IN { "ENTREGAS ESPECIALES ESPENTREGAS S.A.", "DHL EXPRESS ECUADOR S.A.", "LAARCOURIER EXPRESS S.A." },
[Cargo Company],
VAR x =
SUMX ( FILTER ( newtab, [Cargo Company]= _company ), [Rank] )
RETURN
IF ( x >= 1 && x <= 5, "Other Top 5 Countries", "Others" )
)
RETURN
_group
Y puede colocar su columna de categoría en el filtro visual del gráfico circular para filtrar cada categoría:
Mejores looks,
Yingjie Li
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @jlopezentregas ,
Lamento que no pueda explicar claramente la expresión anteriormente. Intente utilizar esta expresión para crear una tabla de cálculo que no sea una medida y obtendrá el resultado correcto.
Mejores looks,
Yingjie Li
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Soy nuevo en fórmulas Dax así que no pude encontrar la solución. No sé qué estoy haciendo mal y también no tengo valores min y max, ya que los datos de ventas se actualizan mensualmente y varían mucho.
Me gustaría adjuntar un enlace de un exaple de lo que estoy tratando de hacer con el fin de recibir más ayuda: TOP N POR ENLACE EJEMPLO DE RANKING
Gracias de antemano por cualquier ayuda o consejo adicional.
Consulte si esto puede ayudar a:https://www.daxpatterns.com/dynamic-segmentation/