Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
HI,
I need some help here.
I have a simple powerbi model with 2 tables, Product and Sales.
The Sales table has fields: OrderNo, LineNo, ProductKey , Qty, etc
The Product table has ProductKey, ProductName, Description.
There is a 1 to Many relationship between Product and Sales table.
Now, On the Product table, in powerBI, i want to have a calculated Column called NumberofOrders.
NumberofOrders is the distinct count orders in which the product has been sold. Remeber a Product may appear more than one line items within an order, hence only the distinct count of orders.
How can i achieve this? I know we need to use RELATEDTABLE.
I am trying something like
=COUNTROWS(distinct(RELATEDTABLE(FactInternetSales)))
but this doesn't work/
Hww do i use a distinct in this case?
Please help
thanks
Solved! Go to Solution.
Hi @msprog,
you can use following DAX:
NumberOfOrders = CALCULATE(DISTINCTCOUNT(sales[OrderNo]), RELATEDTABLE(sales))
Hi @msprog,
you can use following DAX:
NumberOfOrders = CALCULATE(DISTINCTCOUNT(sales[OrderNo]), RELATEDTABLE(sales))
Hi @vik0810
I have a followup question on this if it is ok.
NumberOfOrders = CALCULATE(DISTINCTCOUNT(sales[OrderNo]), RELATEDTABLE(sales))
The solution works fine but as i am reading more about PowerBI , a question arose on the use of RelatedTable function in this solution, which i am hoping the you/community can help clarify. I am wondering why the below code is not working:
NumberOfOrders = CALCULATE(DISTINCTCOUNT(sales[OrderNo]), sales)
why do we need the RelatedTable when we are using Calculate?
THis is my thinking:
I read that the Calculate function converts Row into a filter context and the filter context filters the whole model based on the realtionships. So we have a 1 to many relationship between Product and Sales. we are creating a calculated column in Product. So there is a row context. Now the use of Calculate should convert the row context into filter, which means the Sales table should get filtered, automatically? Please help clarify
thanks
User | Count |
---|---|
89 | |
82 | |
53 | |
40 | |
35 |