Forum Discussion

Hussard's avatar
Hussard
Frequent Visitor
7 years ago
Solved

format field

Hello,

 

I have one column which contains version of softwares like below 

 

3.1.7.12

3.1.7.14

2.6.5

2.6.8

27.4.12.8

 

and so on...

 

My question is how can I format each numbers between two points to have every time 2 digits ? So:

 

03.01.07.12

03.01.07.14

02.06.05

02.06.08

27.04.12.08

 

Is it possible to do that with dax formulas ?

 

Sébastien

  • Hi Hussard,

    Based on my test, you could refer to below steps:

    Sample data:

    Create 5 columns:

    B = IF(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 1)=BLANK(),BLANK(),IF(LEN(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 1))<2,"0"&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 1),PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 1)))
    C = IF(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 2)=BLANK(),BLANK(),IF(LEN(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 2))<2,".0"&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 2),PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 2)))
    D = IF(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 3)=BLANK(),BLANK(),IF(LEN(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 3))<2,".0"&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 3),"."&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 3)))
    E = IF(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 4)=BLANK(),BLANK(),IF(LEN(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 4))<2,".0"&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 4),"."&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 4)))
    New A = Table2[B]&Table2[C]&Table2[D]&Table2[E]

    Result :

     

    You could also download the pbix file to have a view.

     

    Regards,

    Daniel He

     

     

  • Anonymous's avatar
    Anonymous
    7 years ago

    Hi Hussard

    The following way you can get your solution easily.

    1. Go to the Edit Query option under the ribbon pallet.
    2. Create a duplicate column from the existing column.
    3. Go to the Transform tab in Query editor and Select Split column By Delimeter within drop-down select Delimiter type as a "Custom Delimiter" and put "." in the box, then select Each occurrence of Delimeter under "Split at" option.
    4. Change the type of each Delimited column.
    5. Calculate the length of each Delimited column.
    6. Choose the Custom column option under the Add column option and write the below code.
    7. (if [FstPart Length]=1 then ("0" & [FstPart]) else [FstPart]) &
      (if [FstPart Length]=0 then "" else ".") &
      (if [SecPart Length]=1 then ("0" & [SecPart]) else [SecPart]) &
      (if [SecPart Length]=0 then "" else ".") &
      (if [ThrdPart Length]=1 then ("0" & [ThrdPart]) else [ThrdPart]) &
      (if [FrthPart Length]=0 then "" else ".") &
      (if [FrthPart Length]=1 then ("0" & [FrthPart]) else [FrthPart])
    8. Then Select "close & Apply" under the Home tab.

    I have given the Sample Pbix file link below. Hope this helps you.

     

    Download pbix file

3 Replies

  • v-danhe-msft's avatar
    v-danhe-msft
    Microsoft Employee

    Hi Hussard,

    Based on my test, you could refer to below steps:

    Sample data:

    Create 5 columns:

    B = IF(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 1)=BLANK(),BLANK(),IF(LEN(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 1))<2,"0"&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 1),PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 1)))
    C = IF(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 2)=BLANK(),BLANK(),IF(LEN(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 2))<2,".0"&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 2),PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 2)))
    D = IF(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 3)=BLANK(),BLANK(),IF(LEN(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 3))<2,".0"&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 3),"."&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 3)))
    E = IF(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 4)=BLANK(),BLANK(),IF(LEN(PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 4))<2,".0"&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 4),"."&PATHITEM(SUBSTITUTE('Table2'[A],".", "|"), 4)))
    New A = Table2[B]&Table2[C]&Table2[D]&Table2[E]

    Result :

     

    You could also download the pbix file to have a view.

     

    Regards,

    Daniel He

     

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Hussard

    The following way you can get your solution easily.

    1. Go to the Edit Query option under the ribbon pallet.
    2. Create a duplicate column from the existing column.
    3. Go to the Transform tab in Query editor and Select Split column By Delimeter within drop-down select Delimiter type as a "Custom Delimiter" and put "." in the box, then select Each occurrence of Delimeter under "Split at" option.
    4. Change the type of each Delimited column.
    5. Calculate the length of each Delimited column.
    6. Choose the Custom column option under the Add column option and write the below code.
    7. (if [FstPart Length]=1 then ("0" & [FstPart]) else [FstPart]) &
      (if [FstPart Length]=0 then "" else ".") &
      (if [SecPart Length]=1 then ("0" & [SecPart]) else [SecPart]) &
      (if [SecPart Length]=0 then "" else ".") &
      (if [ThrdPart Length]=1 then ("0" & [ThrdPart]) else [ThrdPart]) &
      (if [FrthPart Length]=0 then "" else ".") &
      (if [FrthPart Length]=1 then ("0" & [FrthPart]) else [FrthPart])
    8. Then Select "close & Apply" under the Home tab.

    I have given the Sample Pbix file link below. Hope this helps you.

     

    Download pbix file

    • Hussard's avatar
      Hussard
      Frequent Visitor

      Hi both,

       

      Thanks a lot I tried both solutions and it suits me.

       

      Regards

       

      Sébastien