La solicitud

De Kevin Park, Responsable de Cuentas B2B
Tu objetivo
La matriz tiene products[category] en las filas y la medida dada Sales (ventas completadas). Crea una medida llamada Digital Business Sales: Sales de los pedidos cuyo canal es web o app (usa IN { }) y cuyo segmento de cliente es business.
- Llena
[Digital Business Sales]en cada fila del visualpendiente - También la fila Total correctapendiente
Tu medida
- Visual
- A matrix: rows = products[category]; values = [Sales], [Digital Business Sales]
- Medidas del informe
Sales = CALCULATE(SUM(order_items[line_total]), orders[status] = "completed")
Panel de datos: tablas y columnas
- order_items order_item_id, order_id, product_id, quantity, unit_price, discount_pct, line_total
- orders order_id, customer_id, order_date, status, channel, shipping_fee, coupon_code
- products product_id, name, category, subcategory, unit_price, unit_cost, launched_on, is_active
- customers customer_id, first_name, last_name, email, city, state, signup_date, segment, referral_source
- returns return_id, order_item_id, returned_on, reason, refund_amount
- Date Date, Year, Quarter, Month Number, Month, Year Month, Year Quarter, Day, Weekday Number, Weekday
Cargando el editor…
Solución de referencia
| category | Sales | Digital Business Sales |
|---|---|---|
| Decor | $822,667 | |
| Furniture | $1,393,164 | |
| Kitchen | $799,150 | |
| Lighting | $1,001,844 | |
| Outdoor | $1,297,802 | |
| Textiles | $579,658 | |
| Total | $5,894,284 |
Mote revisa tu resultado
Presiona Comprobar. Mote completa tu respuesta y la compara con lo que necesita el informe.
Lo que recibe Kevin, y por qué
La lección
Los tickets reales rara vez necesitan un solo filtro. El número de Kevin tiene dos condiciones, sobre dos tablas: el canal del pedido y el segmento del cliente.
En qué estás trabajando
Este es un motor DAX de práctica creado para este sitio, no Power BI; rellena la matriz celda por celda con tu medida y comprueba cada celda. En Power BI Desktop: Home → New measure, escribe la fórmula (Shift+Enter empieza una línea nueva en la barra de fórmulas), pulsa Enter y añade la medida a la matriz.
Varios argumentos de filtro significan AND
Digital Business Sales =
CALCULATE(
[Sales],
orders[channel] IN { "web", "app" },
customers[segment] = "business"
)
CALCULATE aplica todos los argumentos de filtro a la vez. Una fila de order_items cuenta solo si
su pedido es web o app y su cliente es de empresa. Los filtros sobre columnas distintas nunca
se cancelan entre sí; se intersectan.
IN { } para una lista de valores
orders[channel] IN { "web", "app" } conserva las filas cuyo canal es cualquiera de los valores de
la lista. Las llaves construyen una pequeña tabla de una columna. Es lo mismo que escribir
orders[channel] = "web" || orders[channel] = "app", y se lee mejor a medida que crece la lista.
Para excluir en su lugar, envuélvelo: NOT ( orders[channel] IN { "marketplace" } ).
OR dentro de una columna, AND entre columnas
Un único argumento de filtro booleano puede probar columnas de una sola tabla, y ninguna
medida. Dentro puedes usar ||, && e IN libremente. Para combinar dos tablas con OR (pedidos web
o clientes de empresa) necesitas un filtro de tabla, que llega en el siguiente nivel con
FILTER. Combinar condiciones con AND es fácil: da a cada una su propio argumento, como aquí.
Los filtros viajan por las relaciones
customers[segment] vive en customers, no en orders. No importa: el filtro cae en
customers, la relación lo lleva a orders, y la siguiente a order_items, donde se ejecuta la
suma. La medida Sales añade dentro su propio filtro de estado, así que el resultado son solo
ventas completadas. Los CALCULATE anidados simplemente suman sus filtros.
Errores comunes
&&sobre la misma columna.orders[channel] = "web" && orders[channel] = "app"pide pedidos que sean ambas cosas a la vez: ninguno.- Mayúsculas y ortografía. Las coincidencias de texto ignoran las mayúsculas en DAX, así que
"Web"funciona, pero"website"no coincide con nada. - Filtrar el visual en su lugar. Una segmentación de canal también cambiaría la columna Sales. Kevin quiere ambos números lado a lado, así que el filtro pertenece dentro de la medida.
¡Linterna encendida!
Practicaste: calculatein operatormultiple filtersand logicrelationships
- Resuelto
- Sin pistas
- Al primer intento
