Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hi guys,
I have the following measure:
Werkuren per maand =
IF (
SELECTEDVALUE ( Workers[Name] ) = "Test Persoon";
CALCULATE ( SUM ( 'Calendar'[Werkdagen 4 dagen] ) ) * [Werkuren 9];
CALCULATE ( SUM ( 'Calendar'[IsWorkDay 5 dagen] ) ) * [Werkuren 8]
)
This doesn't work in my table, see image below:
I've tested it with BLANK() and it looks it doesn't recognize the workername because BLANK() gives me the expected value.
If I would like to add more names to the formula, I get the following error:
Werkuren per maand =
IF (
SELECTEDVALUE ( Workers[Name] ) = "Test Persoon" || "Test Achternaam";
CALCULATE ( SUM ( 'Calendar'[Werkdagen 4 dagen] ) ) * [Werkuren 9];
CALCULATE ( SUM ( 'Calendar'[IsWorkDay 5 dagen] ) ) * [Werkuren 8]
)
Cannot convert type Text to type True / False.
Besides this piece of formula I would like to extend it with more IF situations. Does this work like this?
[i]example[/i]
Werkuren per maand =
IF (
SELECTEDVALUE ( Workers[Name] ) = "Test Persoon";
CALCULATE ( SUM ( 'Calendar'[Werkdagen 4 dagen] ) ) * [Werkuren 9];
IF (
SELECTEDVALUE ( Workers[Name] ) = "Test Achternaam";
CALCULATE ( SUM ( 'Calendar'[IsWorkDay 5 dagen] ) ) * [Werkuren 8];
CALCULATE ( SUM ( 'Calendar'[IsWorkDay 5 dagen] ) ) * [Werkuren 9];
)
I think the 'IF' scenario's will be limited to 3 IF's max so I think this option will be allright?
Solved! Go to Solution.
Alright then!
Then i have some things that I would like you to check:
* Do a new measure, Measure = SELECTEDVALUE(Workers[Name])
* Place this measure next to the name column and compare the values. If they are not the same something is off.
* Also check the format of the name column.
I tried to recreate your problem but mine seems to work...
hours/month = IF(SELECTEDVALUE(Table1[Person])="TestP"; SUMX(Table1;Table1[9workinghours]*Table1[9hrmonthdays]); SUMX(Table1;Table1[8workinghours]*Table1[8hrmonthdays]) )
That result seems to indicate that selectedvalue() is finding more than one result in the name column. Have you filtered in correctly to only have Test Persoon?
/ J
I've tested it with multiple values (for example test person, test person 1, test person 2) but I get the same results. Or do I misunderstand your reply? Do you need more data?
As I've posted before
Werkuren per maand =
IF (
SELECTEDVALUE ( Workers[Name] ) = "Test Persoon";
CALCULATE ( SUM ( 'Calendar'[Werkdagen 4 dagen] ) ) * [Werkuren 9];
CALCULATE ( SUM ( 'Calendar'[IsWorkDay 5 dagen] ) ) * [Werkuren 8]
)
So normally this would work with this test person.
Selectedvalue(Column, alternative) works like this:
The function looks into a specific column and if there is only one value in that column it returns that specific value.
If there are more than one value in your column Selectedvalue will return the specified alternative or blank() if you did not specify an alternative.
Due to the fact that your first if statement "Selectedvalue(table[column]) = blank()" returns true - this makes me think that there is currently more values that only test persoon in that column.
Place a slicer and filter on test persoon to make sure that there is only one distinct value in that column.
Im sorry that this might be messy, but im quitting work now so im a little stressed with the typing.
Br,
J
Hi @tex628 ,
Thanks for your reply. Hope you had a good weekend.
I know what you mean but it doesn't seem to work. Look at my example below, where my DAX is:
Case 1:
Werkuren per maand =
IF (
SELECTEDVALUE ( Workers[Name] ) = "Test Persoon";
CALCULATE ( SUM ( 'Calendar'[Werkdagen 4 dagen] ) ) * [Werkuren 9];
CALCULATE ( SUM ( 'Calendar'[IsWorkDay 5 dagen] ) ) * [Werkuren 8]
)
Case 2:
Werkuren per maand =
IF (
SELECTEDVALUE ( Workers[Name] ) = "Test Werknemer";
CALCULATE ( SUM ( 'Calendar'[Werkdagen 4 dagen] ) ) * [Werkuren 9];
CALCULATE ( SUM ( 'Calendar'[IsWorkDay 5 dagen] ) ) * [Werkuren 8]
)
It seems to effect the totals, but the values for each month don't change. So: the total is right (the 'true' in my statement), the values each month are wrong (the 'false' in my statement).
I can't find the right way to do this.
Alright then!
Then i have some things that I would like you to check:
* Do a new measure, Measure = SELECTEDVALUE(Workers[Name])
* Place this measure next to the name column and compare the values. If they are not the same something is off.
* Also check the format of the name column.
I tried to recreate your problem but mine seems to work...
hours/month = IF(SELECTEDVALUE(Table1[Person])="TestP"; SUMX(Table1;Table1[9workinghours]*Table1[9hrmonthdays]); SUMX(Table1;Table1[8workinghours]*Table1[8hrmonthdays]) )
@tex628 , thanks a lot. You made my day! I don't know exactly how but it works and that's fine to me.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
144 | |
87 | |
65 | |
50 | |
45 |
User | Count |
---|---|
217 | |
88 | |
81 | |
65 | |
56 |