不少人問過如何利用DAX進行模糊查找,,其實挺簡單,,熟悉一個函數(shù)就可以了,它就是SEARCH,。 SEARCH函數(shù)的功能與Excel中的類似,,就是查找字符所處的位置,用法很簡單,,在DAX中的語法如下: 查找文本位置這個原始功能使用場景不多,,更常用的是結(jié)合FILTER函數(shù)進行模糊匹配,假如有下面這個數(shù)據(jù),, 如何從這些長尾關鍵詞的搜索數(shù)據(jù)中,,找到包含“數(shù)據(jù)分析”的搜索量有多少?就可以利用SEARCH函數(shù)來解決,。 直接寫一個度量值: 這個度量值的邏輯是逐行迭代數(shù)據(jù)表中的長尾詞,,把包含“數(shù)據(jù)分析”的行篩選出來,然后匯總計算出搜索量累計,。 如果想同時包含兩個關鍵字的搜索量,,還可以利用通配符來完成,SEARCH函數(shù)支持通配符,,可以在第一個參數(shù)中使用通配符,。 通配符的含義與Excel中一樣,問號(?)表示任意單個字符的匹配,;星號(*)表示匹配任何個字符,。如果要查找實際的問號或星號,,可以在字符前鍵入轉(zhuǎn)義符波浪號(?),。 比如想計算包含“上海”和“數(shù)據(jù)分析”的搜索量,度量值可以這樣寫: 當然,,它不僅僅只能搜索一個關鍵詞,,如果有個關鍵詞列表,比如下面這個: 要想得到每個關鍵詞的搜索量,,度量值這樣寫就可以了: 然后利用關鍵詞字段和上面這個度量值制作矩陣,,結(jié)果如下: 是不是挺簡單。 注意SEARCH函數(shù)與FIND函數(shù)的區(qū)別,,這兩個函數(shù)非常相似,,F(xiàn)IND不支持通配符,并且區(qū)分大小寫,,如果你需要嚴格區(qū)分大小寫進行匹配查找,,請使用FIND函數(shù),其他情況都可以使用SEARCH函數(shù),,SEARCH的應用范圍更廣,。
|
|