Hola!
Necesito ayuda para crear una medida que me calcule totales de tal forma que cuando arrastre esa medida a una tabla no le afecten los filtros de cada fila.
Para explicarlo mejor os pongo un ejemplo. Una empresa vende dos productos (mesas y sillas) a dos consumidores:
Lo que busco es una medida que me calculase el total para cada producto (8 sillas vendidas y 3 mesas), independientemente de cuál sea la factura o el cliente:
Muchas gracias!!
Solved! Go to Solution.
total unit by product measure =
VAR __product = MAX('Table 2'[product])
VAR __table = FILTER(ALL('Table 1'),[product] = __product)
RETURN
SUMX(__table,[units by invoice])
@powerbi2srm El archivo PBIX se adjunta debajo de la firma
Measure =
VAR __Product = MAX('dim_product'[product_id])
VAR __Table = FILTER(ALL('fact_sale_invoice'),[product_id] = __Product)
RETURN
IF(SUM('fact_sale_invoice'[product_quantity])>0,SUMX(__Table,[product_quantity]),BLANK())
Muchas gracias @Greg_Deckler. Esto me sirvió para resolver el problema, sin embargo al trabajar con grandes cantidades de datos daba algunos errores de carga. Probé esta cosa que me funcionó perfecto. Lo pongo por aquí. Por si alguien tiene el mismo problema en un futuro:
total unit by product = VAR TblSummary = ADDCOLUMNS( VALUES(fact_sale_invoice[product_id]), "Total", CALCULATE(SUM(fact_Sale_invoice[product_quantity]),ALL(fact_sale_invoice),VALUES(fact_Sale_invoice[product_id])) ) RETURN SUMX(TblSummary,[Total])
@powerbi2srm ¿Puede publicar su archivo PBIX o una muestra que replica el modelo de datos?
@powerbi2srm Usa OneDrive o Google Drive o Box, cualquier servicio de carga de archivos.
@powerbi2srm El archivo PBIX se adjunta debajo de la firma
Measure =
VAR __Product = MAX('dim_product'[product_id])
VAR __Table = FILTER(ALL('fact_sale_invoice'),[product_id] = __Product)
RETURN
IF(SUM('fact_sale_invoice'[product_quantity])>0,SUMX(__Table,[product_quantity]),BLANK())
Disculpa las molestias, pero ¿como tendría que hacer para filtrar esos datos por fecha a través de DAX? Es decir, por ejemplo: esa medida para el mes de enero. Esto es lo que he intentado, pero no me lo reconoce:
Unidades_totales_enero =
VAR __Product = MAX(dim_product[product_id])
VAR __Table =
FILTER(
ALLEXCEPT(fact_sale_invoice_line, fact_sale_invoice_line[invoice_date_id]),
[product_id] = __Product
)
var resultado =
IF(
SUM(fact_sale_invoice_line[product_quantity])>0,
CALCULATE(
SUMX(__Table, fact_sale_invoice_line[product_quantity]),
AND(
fact_sale_invoice_line[invoice_date_id]>=20220201,
fact_sale_invoice_line[invoice_date_id]<=20220228
)
),
BLANK()
)
return resultado
Perdón por las molestias, @Greg_Deckler , pero es que me urge.
@powerbi2srm Maybe:
Measure =
VAR __Product = MAX('dim_product'[product_id])
VAR __Table = FILTER(ALL('fact_sale_invoice_line'),[product_id] = __Product && [invoice_date_id]>=20220201 && [invoice_date_id]<=20220228
)
RETURN
IF(SUM('fact_sale_invoice_line'[product_quantity])>0,SUMX(__Table,[product_quantity]),BLANK())
Mil gracias!!!! 😀
total unit by product column =
VAR __product = [product]
VAR __table = FILTER('Table'[product] = __product)
RETURN
SUMX(__table,[units by invoice])
Disculpa, @Greg_Deckler, las columnas de la tabla que puse pertenecen a distintas tablas relacionadas. Por lo que creo que tu solución no funciona... Necesito una medida que me calcule eso para poder arrastrarla a la visualización de tabla.
total unit by product measure =
VAR __product = MAX('Table 2'[product])
VAR __table = FILTER(ALL('Table 1'),[product] = __product)
RETURN
SUMX(__table,[units by invoice])
Power BI release plans for 2023 release wave 1 describes all new features releasing from April 2023 through September 2023.
This session will provide guidance and teach campers the skills required to build Power BI reports that support multiple languages.
Make sure you register today for the Power BI Summit 2023. Don't miss all of the great sessions and speakers!
User | Count |
---|---|
224 | |
57 | |
47 | |
45 | |
44 |
User | Count |
---|---|
297 | |
206 | |
75 | |
71 | |
68 |