cancel
Showing results for
Did you mean:

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Post Partisan

IF and SELECTEDVALUE with multiple conditions

Dear experts,

I have the following issue.
I have a slicer with several elements. When 2 specific elements are selected, I want a specific calculation and if they are not, I want another one.

I'm trying:

``````IF(
SELECTEDVALUE(G_L Entry'[BU]) = "B2B"||
SELECTEDVALUE(G_L Entry'[BU]) = "B2I";
[Revenue] * [ExchRateCurrency];
"" )``````

Another way that it's not working either:

``````IF(
OR(
SELECTEDVALUE(G_L Entry'[BU]) = "B2B";
SELECTEDVALUE(G_L Entry'[BU]) = "B2I");
[Revenue] * [ExchRateCurrency];
"" )``````

Could somebody help, please?

1 ACCEPTED SOLUTION
Community Champion

Sorry i was abit to quick there! 🙂

``````IF(
AND(
FIRSTNONBLANK(G_L Entry'[BU];G_L Entry'[BU]) = "B2B" ||
FIRSTNONBLANK(G_L Entry'[BU];G_L Entry'[BU]) = "B2I" ;
LASTNONBLANK(G_L Entry'[BU];G_L Entry'[BU]) = "B2B" ||
LASTNONBLANK(G_L Entry'[BU];G_L Entry'[BU]) = "B2I" ) ;
[Revenue] * [ExchRateCurrency];
"" )``````

5 REPLIES 5
Community Champion

While there is more than 1 value in G_L Entry [BU] selectedvalue() will always return blank(). That is why your measure is not working. You need to use FIRSTNONBLANK() and LASTNONBLANK() to find the two values.

``````IF(
AND(
FIRSTNONBLANK(G_L Entry'[BU]) = "B2B" ||
FIRSTNONBLANK(G_L Entry'[BU]) = "B2I" ;
LASTNONBLANK(G_L Entry'[BU]) = "B2B" ||
LASTNONBLANK(G_L Entry'[BU]) = "B2I" ) ;
[Revenue] * [ExchRateCurrency];
"" )``````

Br,
J

Post Partisan

@MartynRamsden I am getting blanks when those are selected.

@tex628 Sounds logical. Thanks.
I think that I'm missing someting. I am getting the error "Too few arguments were passes to the FIRSTNONBLANK function. The minimum argument count for the function is 2."

Community Champion

Sorry i was abit to quick there! 🙂

``````IF(
AND(
FIRSTNONBLANK(G_L Entry'[BU];G_L Entry'[BU]) = "B2B" ||
FIRSTNONBLANK(G_L Entry'[BU];G_L Entry'[BU]) = "B2I" ;
LASTNONBLANK(G_L Entry'[BU];G_L Entry'[BU]) = "B2B" ||
LASTNONBLANK(G_L Entry'[BU];G_L Entry'[BU]) = "B2I" ) ;
[Revenue] * [ExchRateCurrency];
"" )``````

Post Partisan

@tex628 Perfect. It works. Thank you so much!

@MartynRamsden Thanks a lot for your help too.

Solution Sage

Hi @setis

Both expressions look ok to me.  What result are you seeing?

Have you tried IN?

``````Measure =
IF(
SELECTEDVALUE( G_L Entry'[BU] ) IN { "B2B", "B2I" };
[Revenue] * [ExchRateCurrency];
""
)``````

Best regards,
Martyn

Announcements

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

Power BI Monthly Update - April 2024

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

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors