The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.
Hello,
I have an error with a measure that I dont know how to correct. It works on one page but not on another in the same PBIX file. Below is the DAX and attached in the error. It just stopped working. I have the same measures on all my reports and it works fine. Any help will be appreciated.
DAX:
Solved! Go to Solution.
Hi @HELLOVARAS4 ,
This is because username() will return a user in the format of DOMAIN\User and userprincipalname() will return a user in the format of user@contoso.com inPower BI Desktop.
Note: Within the Power BI service, username() and userprincipalname() will both return the user's User Principal Name (UPN). This looks similar to an email address.
To solve this problem, you can use the IFERROR function to handle the error condition.
For example, if the SEARCH function can't find the target character, it will return 10 instead of an error. You can replace 10 with a different default value or processing logic as needed.
_Username =
VAR _Name = USERNAME()
VAR _Name2 = LEFT( _Name , IFERROR(SEARCH("@", _Name ),10)-1)
RETURN
CONCATENATE( "Welcome " , LEFT( _Name , IFERROR(SEARCH(".", _Name2 ),10)-1) & "!"
)
Best regards,
Mengmeng Li
@HELLOVARAS4 Or you could also try this DAX measure:
@HELLOVARAS4 Try this DAX:
Hi @HELLOVARAS4 ,
This is because username() will return a user in the format of DOMAIN\User and userprincipalname() will return a user in the format of user@contoso.com inPower BI Desktop.
Note: Within the Power BI service, username() and userprincipalname() will both return the user's User Principal Name (UPN). This looks similar to an email address.
To solve this problem, you can use the IFERROR function to handle the error condition.
For example, if the SEARCH function can't find the target character, it will return 10 instead of an error. You can replace 10 with a different default value or processing logic as needed.
_Username =
VAR _Name = USERNAME()
VAR _Name2 = LEFT( _Name , IFERROR(SEARCH("@", _Name ),10)-1)
RETURN
CONCATENATE( "Welcome " , LEFT( _Name , IFERROR(SEARCH(".", _Name2 ),10)-1) & "!"
)
Best regards,
Mengmeng Li
Hi @HELLOVARAS4 ,
Seems the issue is stemming from your missing "." character. Let's try to debug it and see which part of your search is causing your error and then we can fix it. What does this return you?
_Username =
VAR _Name = USERNAME()
VAR _Name2 = LEFT( _Name , SEARCH("@", _Name )-1)
RETURN
_Name2
User | Count |
---|---|
68 | |
63 | |
59 | |
54 | |
28 |
User | Count |
---|---|
182 | |
81 | |
64 | |
46 | |
38 |