Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Dynamic Message using the system username

Hi there!  i have this code which consists of making a greeting to the person who enter the dashboard, how do I get the system username printed on the message? like.. if the system is called "John Computer" I want the message to appear "Good afternoon John Computer,  is that's possible? 

 

Welcome Text =
VAR Hour = HOUR(NOW())
VAR Greeting =
SWITCH(
TRUE(),
Hour >= 0 && Hour < 5, "Good Night",
Hour >= 5 && Hour < 12, "Good Morning",
Hour >= 12 && Hour < 18, "Good Afternoon",
Hour >= 18 && Hour < 24, "Good Evening"
)
RETURN
Greeting & " Murilo"
  • Hi Anonymous 

    RETURN
    Greeting & USERNAME ( )
    but in most cases usernames are not the perfect shape therefore some extra editing (using dax) might be required 
  • tamerj1's avatar
    tamerj1
    4 years ago

    Anonymous 
    You can do

    Greeting = 
    VAR Greeting = "Good Morning"
    VAR FullName = "/CompanyNET/AnneAlavarci/" --Use USERNAME ( ) Function
    VAR Items = SUBSTITUTE ( FullName, "/", "|" )
    VAR NameOnly = PATHITEM ( Items, 3 )
    RETURN
        Greeting & " " & NameOnly

     

    However, if both first and last names are proper case (first letter is capital) maybe there is a chance that we can split them. I will also look into that but for now I have to leave for some urgent business. Thank you

  • Anonymous 
    Hello again. You can refer to the sample file for a method to split first and last names https://we.tl/t-gkFZ77JFsJ

    Greeting = 
    VAR Greeting = "Good Morning" -- You can refer to a measure with switch statement based on NOW ( ) Function 
    VAR FullName = "/CompanyNET/AnneAlavarci/" --Use USERNAME ( ) Function
    VAR Items = SUBSTITUTE ( FullName, "/", "|" )
    VAR NameOnly = PATHITEM ( Items, 3 )
    VAR T3 = VALUES ( 'Capital Letters'[Letter] )
    VAR T4 = ADDCOLUMNS ( T3, "@Position", FIND ( [Letter], NameOnly, 2, 0 ) )
    VAR T5 = FILTER ( T4, [@Position] > 1 )
    VAR Position = MAXX ( T5, [@Position] )
    VAR Replacement = " " & MAXX ( T5, [Letter] )
    VAR NewName = REPLACE ( NameOnly, Position, 1, Replacement )
    RETURN
        Greeting & " " & NewName

6 Replies

  • tamerj1's avatar
    tamerj1
    Community Champion

    Anonymous 
    Hello again. You can refer to the sample file for a method to split first and last names https://we.tl/t-gkFZ77JFsJ

    Greeting = 
    VAR Greeting = "Good Morning" -- You can refer to a measure with switch statement based on NOW ( ) Function 
    VAR FullName = "/CompanyNET/AnneAlavarci/" --Use USERNAME ( ) Function
    VAR Items = SUBSTITUTE ( FullName, "/", "|" )
    VAR NameOnly = PATHITEM ( Items, 3 )
    VAR T3 = VALUES ( 'Capital Letters'[Letter] )
    VAR T4 = ADDCOLUMNS ( T3, "@Position", FIND ( [Letter], NameOnly, 2, 0 ) )
    VAR T5 = FILTER ( T4, [@Position] > 1 )
    VAR Position = MAXX ( T5, [@Position] )
    VAR Replacement = " " & MAXX ( T5, [Letter] )
    VAR NewName = REPLACE ( NameOnly, Position, 1, Replacement )
    RETURN
        Greeting & " " & NewName
  • tamerj1's avatar
    tamerj1
    Community Champion

    Hi Anonymous 

    RETURN
    Greeting & USERNAME ( )
    but in most cases usernames are not the perfect shape therefore some extra editing (using dax) might be required 
    • Anonymous's avatar
      Anonymous
      Not applicable

      lol it was that simple, thanks! one other question, this is the username of the system but there's a way to just pull the Name? the system name might  be John Computer but in the account is just called John, there's a way to just get only the computer profile name?

      • tamerj1's avatar
        tamerj1
        Community Champion

        Anonymous 

        We cannot pull the computer name but we can edit the username and modify it. If you are interested give me some examples of what are the actual usernames and would you exoect to see as a result.