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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now

Reply
Syndicate_Admin
Administrator
Administrator

Los valores mínimos y máximos del medidor ayudan

Estoy trabajando con algunas tablas diferentes y estoy tratando de mostrar varias piezas de información en un solo panel: una combinación de detalles específicos sobre un cliente y alguna información agregada sobre la cuenta más grande de ese cliente (1 entre muchas cuentas).

Esto es lo que tengo hasta ahora, y lo que estoy tratando de lograr:
Mesa de ventas

customer_idAñoMonto de la venta
12023$45
12024$45
12024$5
22024$20
32024$75
42024-$10


Tabla de clientes

customer_idcustomer_name
1Juan Fulano
2Kathy Sims
3Corazón de Bret
4Pat Blaine

Tabla de cuentas

account_idaccount_name
100Gato curioso
200Perro delicado
300Hurones de fantasía

Tabla de unión a la cuenta de cliente

customer_idaccount_id
1100
2100
3200
4300


Tengo una cortadora en mi tablero, junto con un filtro configurado en 2024, de modo que puede seleccionar John Doe y aparecerá una tabla de solo sus transacciones de 2024, que tendrá una fila total para que pueda ver sus ventas totales ($ 50).

Con la siguiente medida, también puedo hacer que una tarjeta llene el total de transacciones de su cuenta (100) en 2024: $70
Ventas totales de la cuenta = CALULATE(SUM('TABLA DE VENTAS'[Importe de la venta]),ALL('Tabla de unión a la cuenta de cliente',VALUES('Tabla de unión a la cuenta de cliente'[account_id))

Lo que estoy tratando de lograr ahora es usar un medidor para mostrar cómo se compara la cuenta de John Doe con las otras cuentas, pero no puedo averiguar cómo configurar correctamente el máximo y los minutos. En otras palabras, al hacer clic en John Doe, el indicador mostrará las ventas totales de su cuenta de $ 70 , siendo el indicador mínimo la cantidad más baja (-$ 10, Fancy Ferrets solo ha tenido un reembolso este año) y la cantidad más alta ($ 75 para Dainty Dogs). Por el contrario, si hiciera clic en Kathy Sims, se actualizaría la tabla a sus transacciones, pero el medidor seguiría siendo el mismo (ya que pertenece a la misma cuenta que John Doe), pero cambiaría si se eligiera un cliente de una cuenta diferente (manteniendo el mínimo y el máximo iguales).

De esta manera, en lugar de usar tres tarjetas diferentes (una para Curious Cat, la cuenta del cliente seleccionado; una para el máximo; y otra para el mínimo), puedo poner las tres piezas de esta información en una visualización que también mostrará qué tan cerca está el valor del máximo/mínimo (es decir, cuánto se acumula Curious Cat en relación con otras cuentas, no un mínimo / máximo codificado de forma rígida).

El mayor problema que estoy encontrando es que debido a que las ventas totales de la cuenta son una medida, no puedo ponerle más agregados, como mín./máx.
¿Cuáles son mis opciones?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Esto es lo que terminó funcionando para mí:
CuentaTotalVentas =

CACLULADO(

SUM('Tabla de ventas' [importe de la venta]),

ALL('Tabla de unión a la cuenta de cliente'),

VALUES('Tabla de unión a cuenta de cliente[account_id])

)

MaxAccountSales =

MAXX(

RESUMIR(

ALL('Tabla de unión a la cuenta de cliente'),

«Tabla de unión a la cuenta de cliente»[account_id],

"Ventas máximas",

CACLULADO(

SUM('Tabla de ventas' [importe de la venta]),

ALL('Tabla de unión a la cuenta de cliente'),

VALUES('Tabla de unión a cuenta de cliente[account_id])

),

[Ventas máximas]

)

MinAccountSales =

MINX(

RESUMIR(

ALL('Tabla de unión a la cuenta de cliente'),

«Tabla de unión a la cuenta de cliente»[account_id],

"Ventas mínimas",

CACLULADO(

SUM('Tabla de ventas' [importe de la venta]),

ALL('Tabla de unión a la cuenta de cliente'),

VALUES('Tabla de unión a cuenta de cliente[account_id])

),

[Ventas mínimas]

)

Todos estos responden a cualquier filtro que agregue a la página, por lo que no necesito hacer que mi código haga referencia a ellos.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Esto es lo que terminó funcionando para mí:
CuentaTotalVentas =

CACLULADO(

SUM('Tabla de ventas' [importe de la venta]),

ALL('Tabla de unión a la cuenta de cliente'),

VALUES('Tabla de unión a cuenta de cliente[account_id])

)

MaxAccountSales =

MAXX(

RESUMIR(

ALL('Tabla de unión a la cuenta de cliente'),

«Tabla de unión a la cuenta de cliente»[account_id],

"Ventas máximas",

CACLULADO(

SUM('Tabla de ventas' [importe de la venta]),

ALL('Tabla de unión a la cuenta de cliente'),

VALUES('Tabla de unión a cuenta de cliente[account_id])

),

[Ventas máximas]

)

MinAccountSales =

MINX(

RESUMIR(

ALL('Tabla de unión a la cuenta de cliente'),

«Tabla de unión a la cuenta de cliente»[account_id],

"Ventas mínimas",

CACLULADO(

SUM('Tabla de ventas' [importe de la venta]),

ALL('Tabla de unión a la cuenta de cliente'),

VALUES('Tabla de unión a cuenta de cliente[account_id])

),

[Ventas mínimas]

)

Todos estos responden a cualquier filtro que agregue a la página, por lo que no necesito hacer que mi código haga referencia a ellos.

Syndicate_Admin
Administrator
Administrator

Hola @jam17,

¿Puedes probar este enfoque?

1. Crear una medida para las ventas totales por cuenta

AccountTotalSales = 
CALCULATE(
    SUM('Sales Table'[sale amount]),
    ALL('Customer Account Join Table', 'Customer Table', 'Account Table'),
    'Customer Account Join Table'[account_id] = 
        SELECTEDVALUE('Customer Account Join Table'[account_id])
)

2. Crear una medida para las ventas mínimas en todas las cuentas

MinAccountSales = 
MINX(
    SUMMARIZE(
        ALL('Account Table'),
        'Account Table'[account_id],
        "TotalSales", 
        CALCULATE(
            SUM('Sales Table'[sale amount]),
            'Customer Account Join Table'[account_id] = 'Account Table'[account_id],
            'Sales Table'[Year] = 2024
        )
    ),
    [TotalSales]
)

3. Crear una medida para las ventas máximas en todas las cuentas

MaxAccountSales = 
MAXX(
    SUMMARIZE(
        ALL('Account Table'),
        'Account Table'[account_id],
        "TotalSales", 
        CALCULATE(
            SUM('Sales Table'[sale amount]),
            'Customer Account Join Table'[account_id] = 'Account Table'[account_id],
            'Sales Table'[Year] = 2024
        )
    ),
    [TotalSales]
)

Espero que esto ayude.

También recibo un error con la siguiente línea:

'Customer Account Join Table'[account_id] = 'Account Table'[account_id],

Dice "La expresión contiene columnas de varias tablas, pero solo las columnas de una sola tabla se pueden usar en una expresión Verdadero/Falso que se usa como expresión de filtro de tabla".

Al establecer

'Sales Table'[Year] = 2024

¿Es eso codificarlo duro?

¿Cómo puedo hacer que el mín./máx. sea dinámico para el año seleccionado por el filtro?
Del mismo modo, ¿qué sucede si quisiera agregar otro filtro, como la región?

Helpful resources

Announcements
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

Check out the October 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

October NL Carousel

Fabric Community Update - October 2024

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

Top Solution Authors