Forum Discussion

rolinx's avatar
rolinx
New Member
3 years ago
Solved

Convert SQL to DAX

Please, I need help about how to convert this SQL query to DAX.

 

select col1, col2, col3
from tab
where length(col1) = '10'
or (substr(col2,1,3) in ('103','234','563')
or (substr(col2,1,4) in ('1034','2354','5636')
or (substr(col2,1,2) in ('14','24','36')

  • CALCULATETABLE(<your table>,

    LEN([col1])=10
    || MID([col2],1,3) in {"103","234","563"}

    || MID([col2],1,4) in {"2354"}

    || MID([col2],1,2) in {"14","24","36"}

    )

     

    You can add SELECTCOLUMNS if you want. Note that your third condition is semi redundant.

     

2 Replies

  • CALCULATETABLE(<your table>,

    LEN([col1])=10
    || MID([col2],1,3) in {"103","234","563"}

    || MID([col2],1,4) in {"2354"}

    || MID([col2],1,2) in {"14","24","36"}

    )

     

    You can add SELECTCOLUMNS if you want. Note that your third condition is semi redundant.

     

    • rolinx's avatar
      rolinx
      New Member

      Thanks Ibendlin, Its works fine!
      Its works also with LEFT function.

       

      CALCULATETABLE(<your table>,

      LEN([col1])=10
      || LEFT([col2],3) in {"103","234","563"}

      || LEFT([col2],4) in {"2354"}

      || LEFT([col2],2) in {"14","24","36"}

      )