cancel
Showing results for
Did you mean:

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Helper I

## Equivalent to QV's Indirect Set Analysis

All,

I am an advanced QV developer and looking for a PBI equivalent to QV's indirect set analysis; the P and E functions.

For example, the following set analysis will calculate the average value for all excluded companies within a sector. Say I have 10 companies, selected one and this expression will perform average across remaining 9.

avg({<Company_Name= e(Company_Name), Sector= {'\$(vSector)'}>} Value)

Hope someone can share some ideas.

Thanks!

1 ACCEPTED SOLUTION
Super User

Hi @mapko

You can use the EXCEPT function to return the complement of the selected values of a particular column, similar to your example with the E function.

Here is an example pattern using arbitrary table/column/measure names:

```=
CALCULATE(
[Value],    EXCEPT(        ALL( Company[Company_Name] ),        VALUES( Company[Company_Name] )    ))```

I'm not really familiar with QlikView or the P & E functions (apart from Bing-ing them last night), but as for the P (possible values) function, I'm sure there are ways to replicate its behaviour in Power BI as well.

Owen Auger
Blog
4 REPLIES 4
Super User

Hi @mapko

You can use the EXCEPT function to return the complement of the selected values of a particular column, similar to your example with the E function.

Here is an example pattern using arbitrary table/column/measure names:

```=
CALCULATE(
[Value],    EXCEPT(        ALL( Company[Company_Name] ),        VALUES( Company[Company_Name] )    ))```

I'm not really familiar with QlikView or the P & E functions (apart from Bing-ing them last night), but as for the P (possible values) function, I'm sure there are ways to replicate its behaviour in Power BI as well.

Owen Auger
Blog
Helper I

Hi @OwenAuger. Much appreciated! Indeed what I needed.

Community Champion

@mapko With slight variation you can do similar in power bi desktop. Just create a measure as below which will give you average of values of all the selection you will make. So instead of getting avergae for ones that you don't select, instead select all that you want the average for.

Measure = CALCULATE( AVERAGE(YOURTABLE[valueColumn]), FILTERS(YOURTABLE[companyColumn]))

Helper I

@ankitpatira, thank you for your reply. I don't think this is a good workaround for me. Simply because there will be cases when I have to compare a single company's values against a big number of other companies and I can't expect from my users to hand pick those. Hope that makes sense.

Announcements

#### New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

#### Power BI Monthly Update - May 2024

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

#### Fabric certifications survey

Certification feedback opportunity for the community.

Top Solution Authors
Top Kudoed Authors