2017-11-17 208 views
0

如何在TSQL中执行以下DAX表达式?将DAX开关逻辑转换为TSQL

Channel Mapping: = 
    SWITCH(
     TRUE(), 
      NOT (ISERROR (SEARCH ("ChannelOne", ChannelFact[ChannelName]))), "C1", 
      NOT (ISERROR (SEARCH ("ChannelTwo", ChannelFact[ChannelName]))), "C2", 
      NOT (ISERROR (SEARCH ("Channel2", ChannelFact[ChannelName]))), "C2", 

     "Not Mapped" 
) 

我认为它需要CASE逻辑,但不确定如何放在一起。

回答

1
SELECT CASE ChannelName WHEN "ChannelOne" THEN "C1" 
         WHEN "ChannelTwo" THEN "C2" 
         WHEN "Channel2" THEN "C2" 
       ELSE "Not Mapped" END AS "Channel Mapping" 
FROM 
ChannelFact 

谢谢。

+0

谢谢satishcse! –

+0

完美的作品!感谢Satishcse! –

+0

总是HTH!虽然我不知道DAX :) – satishcse