Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo puedo agregar dinámicamente una fila a una tabla?

Hola

Así que trataré de hacer mi pregunta usando un pequeño ejemplo. Tengo el modelo de datos de fllowing:

temp3.png

Tengo una tabla principal de Ventas que obtiene datos de un archivo de Excel, las tablas Marcas y Atributos obtienen sus valores de esta tabla de Ventas usando el siguiente comando:

Marcas = DISTINCT('Ventas'[Marca]).

Estoy tratando de desarrollar un visual como el siguiente visual:

temp.PNG

Este visual está tomando valores de los valores del eje Y de la tabla Atributos y la tabla Leyenda de Marcas, y los valores del eje X provienen de una medida que hice usando DAX. Además, hay una cortadora para las marcas en la pantalla.

Ahora requiero athird bar en este gráfico de barras llamado Resto de MArket(ROM) con marca 1 y marca 2, debe mostrar el resto de los porcentajes de mercado para cada atributo, esto significa que debe excluir los valores de marca 1 y marca 2. Además, esta ROM debe estar disponible en la rebanadora para marcas.

Entonces, por ejemplo, digamos que tenemos 5 marcas en la rebanadora Nike, Adidas, Puma, Reebok, Superdry y tienen un atributo llamado ajuste ajustado, selecciono Nike y Adidas de la rebanadora y también la tercera opción llamada ROM, el visual muestra un ajuste ajustado en el eje y con las barras, uno para la participación de NIke en este ajuste, uno para Adidas share en el ajuste y el tercero debe incluir todas las marcas no seleccionadas, es decir, Puma, Reebok, Superdry.

He tratado de explicar este problema lo mejor que he podido, por favor hágamelo saber si se requiere una explicación adicional.

Gracias.

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

@shou ,

Para ello es necesario crear una nueva tabla con las marcas y las demás líneas esto se puede lograr utilizando la siguiente sintaxis:

Brands + Others = UNION(Brands, 
                    DATATABLE ( "Brands", STRING,
                    { { "Others" } }
    ) )

Ahora agregue la siguiente medida a su modelo:

Sales Selected Brands + Others = 
VAR SelectedSales =
    CALCULATE (
        SUM(Sales[Dollars]),
        INTERSECT (
            VALUES ( Brands[Brand]),
            VALUES ( 'Brands + Others'[Brand])
        )
    )
VAR UnSelectedSales =
    CALCULATE (
     SUM(Sales[Dollars]),
        EXCEPT (
            ALL ( Brands[Brand] ),
            VALUES ( Brands[Brand] )
        )
    )
VAR AllSales =
    CALCULATE (
         SUM(Sales[Dollars]),
        ALL ( Brands[Brand])
    )
RETURN
    IF (
        HASONEVALUE ( 'Brands + Others'[Brand] ),
        SWITCH (
            VALUES ( 'Brands + Others'[Brand]),
            "others", UnSelectedSales,
            SelectedSales
        ),
        AllSales
    )

Vea el resultado a continuación y en el archivo adjunto:

MFelix_0-1657011342775.png

Hi MFelix,

Gracias por la increíble respuesta, acabas de salvarme la vida. Tengo una pregunta rápida, quiero que cada una de las barras en el visual muestre el porcentaje de las ventas totales de la marca en ese atributo. Algo así como la imagen de abajo:
temp.PNG

Las barras naranjas deben sumar hasta el 100% y las barras azules deben sumar hasta el 100%. ¿Podría sugerir cambios en la medida para hacerlo?

Gracias.

@shou ,

¿Cómo es la fórmula que está utilizando para los cálculos?

Hola MFelix,

Gracias descubrí el cálculo yo mismo.

Estoy usando el mismo código que usted dio, pero he hecho algunos cambios, hay una rebanadora en el visual llamada subclase por el usuario, por lo que para cada barra la fórmula debe ser algo así como:

= (marca1 negocio en el atributo 1 y subclase por usuario)/(marca1 negocio en subclase por usuario) X 100.


He realizado cambios en las marcas seleccionadas para probar por ahora, pero estoy obteniendo 0 para las marcas seleccionadas en el visual.

Ventas Marcas seleccionadas + Otras =

DÓNDE Ventas seleccionadas = --calcula las ventas totales de las marcas seleccionadas para todos los atributos
(CALCULAR (
SUMA(Ventas[Dólares]),
CRUZAR (
VALORES ( Marcas[Marca]),
VALORES ( 'Marcas + Otros'[Marca])
)
))/(CALCULAR (
SUMA(Ventas[Dólares]),
TODO(SubClassByWearer[SubClase por usuario]),
CRUZAR ( --devolverá una tabla con las marcas seleccionadas de la segmentación de datos
VALORES ( Marcas[Marca]), -- valores de la segmentación de datos
VALORES ( 'Marcas + Otros'[Marca])
)
))
DÓNDE Ventas no seleccionadas = --calcula las ventas totales de marcas no seleccionadas para todos los atributos
CALCULAR (
SUMA(Ventas[Dólares]),
EXCEPTUAR ( --devuelve la tabla con todas las marcas excepto las seleccionadas en la segmentación de datos
TODO ( Marcas[Marca] ),
VALORES ( Marcas[Marca] )
)
)
DÓNDE AllSales = --devuelve calcuates ventas totales para todas las marcas para todos los atributos
CALCULAR (
SUMA(Ventas[Dólares]),
TODO( Marcas[Marca])
)
DEVOLUCIÓN
SI (
HASONEVALUE ( 'Marcas + Otros'[Marca] ),
INTERRUPTOR (
VALORES ( 'Marcas + Otros'[Marca]),
"otros", Ventas no seleccionadas,
Ventas seleccionadas
),
AllSales
)

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors