Forum Discussion
Converting data from Kits to components
- 6 years ago
Hi David,
I modified a bit the solution to take into account that there is a single master table, and that kits can be identified based on the column Tipo.
You can download the updated solution from here.
And here is the new DAX formula:
Units sold = var currentProduct = [Product] VAR productIsKit= LOOKUPVALUE('Masterdata'[Tipo],'Masterdata'[Product],currentProduct) = "Kit" VAR productSales = LOOKUPVALUE(Sales[Units sold],Sales[Item],[Product],0) VAR productSalesViaKit = SUMX( 'Masterdata', IF([Item]=currentProduct, [Qty per kit]*LOOKUPVALUE(Sales[Units sold],Sales[Item],[Product],0) ) ) RETURN IF(productIsKit, 0, productSales+productSalesViaKit)It's very similar to before. The only main change is how to check whether the product is a kit.
Now the variable productIsKit looks at the 'Tipo' column: if the Tipo column is equal to kit, then it considers the product to be a kit.
Hopefully, this matches all of your requirements
Let me know if anything is unclear
LC
- 6 years ago
Hi David,
I updated your file to include the calculation.
You can download it from here.
I hope that this is what you are looking for. If you need more help, do not hesitate to ask.
LC
Interested in Power BI and DAX templates? Check out my blog at www.finance-bi.com
Hi Jdsarmientoc ,
Thank you for the interesting question!
You can download my proposed solution from here.
Here is how I would approach it:
1) Create a new calculated table ' sales by component' which includes components that are sold individually (from the Sales table) and components sold as part of kits (from the Kits table). Here is the formula for the calculated table:
Sales by component item = DISTINCT(
UNION(
VALUES(Sales[Item])
, VALUES(Kits[Item])
)
)2) Create a calculated column in this table to estimate the units sold by component. Units sold by component can come either from:
- the individual sale of the component itself
- the sale of the component as part of the kit
here is the formula for the calculated column:
Units sold =
var currentItem = [Item]
VAR itemIsKit=
NOT COUNTX(
FILTER('Kits',
[Kit]=EARLIER('Sales by component item'[Item])
),[Kit])
= BLANK()
VAR itemSales = LOOKUPVALUE(Sales[Units sold],Sales[Item],[Item],0)
VAR itemSalesViaKit = SUMX(
'Kits',
IF([Item]=currentItem,
[Qty per kit]*LOOKUPVALUE(Sales[Units sold],Sales[Item],[Kit],0)
)
)
RETURN IF(itemIsKit, 0, itemSales+itemSalesViaKit)Here is what I have in the sales table (188066 is a kit while 190000 is an individual component):
And here is what I have in the ' sales by component' calculated table.
The product 190000 is not a kit, so sales are kept as it.
The product 188066 is a kit, so its sales are split by component: 100 to 187097, 100 to 187096 and 900 to 181904
Hope this helps you! Do not hesitate if you have further questions,
LC
Interested in Power BI and DAX website? Check out my blog at www.finance-bi.com