Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola chicos, tengo datos como este:
Compañía | Categoría | Subcategoría | Nombre del producto | ventas |
ACOMP | VÍVERES | 1 | A | 1000 |
ACOMP | VÍVERES | 1 | B | 1500 |
ACOMP | VÍVERES | 1 | C | 2000 |
ACOMP | VÍVERES | 2 | D | 3000 |
ACOMP | VENTA AL POR MENOR | 2 | E | 2000 |
ACOMP | VENTA AL POR MENOR | 2 | F | 1000 |
BCOMP | VENTA AL POR MENOR | 3 | G | 1000 |
BCOMP | VENTA AL POR MENOR | 3 | H | 5000 |
BCOMP | SERVICIO | 4 | I | 2500 |
BCOMP | SERVICIO | 4 | J | 1000 |
El caso cuando pongo la segmentación de datos basada en el nombre del producto, el valor también mantiene la SUMA del nombre del producto.
El resultado de mi expectativa, cuando pongo la segmentación de datos basada en el nombre del producto puede mostrar la SUMA del grupo en una tarjeta visual,se ve así:
Perdón por mi explicación en modo Excel, eso es para dejarlo lo suficientemente claro.
¿Alguien sabe cómo hacer este cálculo en Dax?
Gracias de antemano por su ayuda.
BR
Solved! Go to Solution.
Hay @tian
Creo que es necesario crear una tabla de nombres de producto no relacionada. A continuación, cree una segmentación de datos junto a esta tabla y cree medidas.
Product Name = VALUES('Table'[Product Name])
Códigos de medida:
% Sub-Category =
VAR _SelectProductName =
SELECTEDVALUE ( 'Product Name'[Product Name] )
VAR _SubCategory =
CALCULATE (
MAX ( 'Table'[Sub-Category] ),
FILTER ( ALL ( 'Table' ), 'Table'[Product Name] = _SelectProductName )
)
VAR _SalesbyGroup =
CALCULATE (
SUM ( 'Table'[sales] ),
FILTER ( ALL ( 'Table' ), 'Table'[Sub-Category] = _SubCategory )
)
VAR _Total =
CALCULATE ( SUM ( 'Table'[sales] ), ALL ( 'Table' ) )
RETURN
DIVIDE ( _SalesbyGroup, _Total )
% Category =
VAR _SelectProductName =
SELECTEDVALUE ( 'Product Name'[Product Name] )
VAR _Category =
CALCULATE (
MAX ( 'Table'[Category] ),
FILTER ( ALL ( 'Table' ), 'Table'[Product Name] = _SelectProductName )
)
VAR _SalesbyGroup =
CALCULATE (
SUM ( 'Table'[sales] ),
FILTER ( ALL ( 'Table' ), 'Table'[Category] = _Category )
)
VAR _Total =
CALCULATE ( SUM ( 'Table'[sales] ), ALL ( 'Table' ) )
RETURN
DIVIDE ( _SalesbyGroup, _Total )
% Company =
VAR _SelectProductName =
SELECTEDVALUE ( 'Product Name'[Product Name] )
VAR _Company =
CALCULATE (
MAX ( 'Table'[Company] ),
FILTER ( ALL ( 'Table' ), 'Table'[Product Name] = _SelectProductName )
)
VAR _SalesbyGroup =
CALCULATE (
SUM ( 'Table'[sales] ),
FILTER ( ALL ( 'Table' ), 'Table'[Company] = _Company )
)
VAR _Total =
CALCULATE ( SUM ( 'Table'[sales] ), ALL ( 'Table' ) )
RETURN
DIVIDE ( _SalesbyGroup, _Total )
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hay @tian
Creo que es necesario crear una tabla de nombres de producto no relacionada. A continuación, cree una segmentación de datos junto a esta tabla y cree medidas.
Product Name = VALUES('Table'[Product Name])
Códigos de medida:
% Sub-Category =
VAR _SelectProductName =
SELECTEDVALUE ( 'Product Name'[Product Name] )
VAR _SubCategory =
CALCULATE (
MAX ( 'Table'[Sub-Category] ),
FILTER ( ALL ( 'Table' ), 'Table'[Product Name] = _SelectProductName )
)
VAR _SalesbyGroup =
CALCULATE (
SUM ( 'Table'[sales] ),
FILTER ( ALL ( 'Table' ), 'Table'[Sub-Category] = _SubCategory )
)
VAR _Total =
CALCULATE ( SUM ( 'Table'[sales] ), ALL ( 'Table' ) )
RETURN
DIVIDE ( _SalesbyGroup, _Total )
% Category =
VAR _SelectProductName =
SELECTEDVALUE ( 'Product Name'[Product Name] )
VAR _Category =
CALCULATE (
MAX ( 'Table'[Category] ),
FILTER ( ALL ( 'Table' ), 'Table'[Product Name] = _SelectProductName )
)
VAR _SalesbyGroup =
CALCULATE (
SUM ( 'Table'[sales] ),
FILTER ( ALL ( 'Table' ), 'Table'[Category] = _Category )
)
VAR _Total =
CALCULATE ( SUM ( 'Table'[sales] ), ALL ( 'Table' ) )
RETURN
DIVIDE ( _SalesbyGroup, _Total )
% Company =
VAR _SelectProductName =
SELECTEDVALUE ( 'Product Name'[Product Name] )
VAR _Company =
CALCULATE (
MAX ( 'Table'[Company] ),
FILTER ( ALL ( 'Table' ), 'Table'[Product Name] = _SelectProductName )
)
VAR _SalesbyGroup =
CALCULATE (
SUM ( 'Table'[sales] ),
FILTER ( ALL ( 'Table' ), 'Table'[Company] = _Company )
)
VAR _Total =
CALCULATE ( SUM ( 'Table'[sales] ), ALL ( 'Table' ) )
RETURN
DIVIDE ( _SalesbyGroup, _Total )
El resultado es el siguiente.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
@tian , basado en lo que obtuve
measure = divide(sum(Table[Sales]), calculate(sum(Table[Sales]), all(Table)))
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.