cancel
Showing results for
Did you mean:

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a \$100 discount. Register Now

Helper I

## AVERAGE IF at least one line contains ...

Hi all,

I'm struggling to find the right way to do the following calculation:

I have a Sales table which contains ticket numbers. Each ticket has several lines for each item sold.

Items have categories.

I would like to find the aveage quantity sold for tickets that have sold at least one item with category A.

 Ticket Article category Article Quantity Amount (€) 111 A Article xxx 1 100 € 111 B Article xxx 2 10 € 111 C Article xxx 1 20 € 112 B Article xxx 1 15 € 112 D Article xxx 1 12 € 113 B Article xxx 1 5 € 113 A Article xxx 1 150 € 113 C Article xxx 1 23 € 113 D Article xxx 2 24 € 113 F Article xxx 1 15 € 114 E Article xxx 3 19 € 114 B Article xxx 1 10 € 114 B Article xxx 2 9 € 115 A Article xxx 1 120 € 115 E Article xxx 1 2 € 115 F Article xxx 3 15 €

In this example, it would be :

Average = (ticket 111 = 4) + (ticket 113 = 6) + (ticket 115 = 5) / 3 (tickets) = 15 / 3 = 5

Best

Jonathan

1 ACCEPTED SOLUTION
Frequent Visitor

Hello,
I'm sure this is not the best solution but will work.

Create a table only with tickets with "A" category:
table2 =

CALCULATETABLE(DISTINCT(Table[Ticket]); Table[Article category] = "A")
Link it with your original table by ticket and create a new column in the original table:
Column = RELATED(Table2[ticket])
Then you can do the measure to calculate the average:
MEASURE = CALCULATE(
SUM(
Table[Quantity])/DISTINCTCOUNT('Table2'[Ticket]);
Table[Column] <> BLANK()
)

2 REPLIES 2
Helper I

I don't if it's the best way but it's definitely a way!

It works just fine, thansk for your help.

Best

Frequent Visitor

Hello,
I'm sure this is not the best solution but will work.

Create a table only with tickets with "A" category:
table2 =

CALCULATETABLE(DISTINCT(Table[Ticket]); Table[Article category] = "A")
Link it with your original table by ticket and create a new column in the original table:
Column = RELATED(Table2[ticket])
Then you can do the measure to calculate the average:
MEASURE = CALCULATE(
SUM(
Table[Quantity])/DISTINCTCOUNT('Table2'[Ticket]);
Table[Column] <> BLANK()
)

Announcements

#### Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

#### Power BI Monthly Update - February 2024

Check out the February 2024 Power BI update to learn about new features.

#### Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

#### Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Top Solution Authors
Top Kudoed Authors