Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

POWERBI DAX

CONVERT THE ABOVE COLUMN TO DECIMAL VALUES WHICH ARE NOW IN HEXADECIMAL FORM, LIKE FOR EXAMPLE 0x40 should get value 64 ( by substitue 0x to space). I WANT ONLY IN DAX NOT IN POWER QUERY OR M.

 

  • Hi Anonymous 

     

    Download example PBIX with code

     

    Do you just need this conversion for 2 digit hex numbers?  This code works only for 2 digits as shown in your example but can be expanded for more digits.

    Firstly, create a new table 

     

    HexTable = {
                    ("0", 0),
                    ("1", 1),
                    ("2", 2),
                    ("3", 3),
                    ("4", 4),
                    ("5", 5),
                    ("6", 6),
                    ("7", 7),
                    ("8", 8),
                    ("9", 9),
                    ("A", 10),
                    ("B", 11),
                    ("C", 12),
                    ("D", 13),
                    ("E", 14),
                    ("F", 15)
                    }
    

     

     

    Rename the text column Hex and the numeric column Decimal

    Then create a column in your table containing the hex - change the VAR statements with 'Table'[Hex] to match your own table and column names.

     

    HexToDecimal = 
    
    VAR _FirstHexDigit = RIGHT('Table'[Hex],1)
    VAR _SecondHexDigit = MID('Table'[Hex],3,1)
    
    RETURN 
    
    LOOKUPVALUE('HexTable'[Decimal],'HexTable'[Hex], _SecondHexDigit)*16 + LOOKUPVALUE('HexTable'[Decimal],'HexTable'[Hex], _FirstHexDigit)
    

     

    Regards

    Phil

2 Replies

  • Hi Anonymous 

     

    Download example PBIX with code

     

    Do you just need this conversion for 2 digit hex numbers?  This code works only for 2 digits as shown in your example but can be expanded for more digits.

    Firstly, create a new table 

     

    HexTable = {
                    ("0", 0),
                    ("1", 1),
                    ("2", 2),
                    ("3", 3),
                    ("4", 4),
                    ("5", 5),
                    ("6", 6),
                    ("7", 7),
                    ("8", 8),
                    ("9", 9),
                    ("A", 10),
                    ("B", 11),
                    ("C", 12),
                    ("D", 13),
                    ("E", 14),
                    ("F", 15)
                    }
    

     

     

    Rename the text column Hex and the numeric column Decimal

    Then create a column in your table containing the hex - change the VAR statements with 'Table'[Hex] to match your own table and column names.

     

    HexToDecimal = 
    
    VAR _FirstHexDigit = RIGHT('Table'[Hex],1)
    VAR _SecondHexDigit = MID('Table'[Hex],3,1)
    
    RETURN 
    
    LOOKUPVALUE('HexTable'[Decimal],'HexTable'[Hex], _SecondHexDigit)*16 + LOOKUPVALUE('HexTable'[Decimal],'HexTable'[Hex], _FirstHexDigit)
    

     

    Regards

    Phil

    • JFAschoon's avatar
      JFAschoon
      Helper I

      Hi  PhilipTreacy 

       

      Im still new to this power BI. Just one question how do i add another 2 digits to the Hexdec conversion syntex.

      Example: d2da

       

      Regards 

      Johan