Power BI之DAX神功番外篇:第3回 使用通配符進(jìn)行模糊查詢
今天有一個(gè)小伙伴問我,怎么使用通配符模糊查詢。
《孫興華講PowerBI火力全開》筆記20 我們講了文本函數(shù),我在課程中告訴大家,DAX中的文本函數(shù)你可以不用,但是要會(huì)。
是不是被個(gè)別彈幕、評(píng)論影響了?我經(jīng)常會(huì)看到有人來(lái)我這里學(xué)習(xí)DAX、M函數(shù)時(shí),他們會(huì)說(shuō)這件事工作表函數(shù)就能做。
我小時(shí)候四年級(jí)才開始學(xué)英語(yǔ)(你們可能是一年級(jí)學(xué)的),我記得二年級(jí)時(shí),看到表哥的本子上寫的英語(yǔ)單詞我一個(gè)都不認(rèn)識(shí),我也懷疑過他寫錯(cuò)了,我說(shuō)你還中學(xué)生呢,漢語(yǔ)拼音都寫不對(duì)。到了四年級(jí)我明白了,當(dāng)學(xué)習(xí)一個(gè)新知識(shí)的時(shí)候,需要從零開始,而不能通過以前的成就看不起新知識(shí)的底層。
一、不區(qū)分大小寫模糊查詢

如果我想通過度量值篩選學(xué)校是“三里屯二小”的分?jǐn)?shù):
篩選器:'Sheet1'[學(xué)校]="三里屯二小"? ?, 篩選那些篩選器返回True的結(jié)果
如果我想通過度量值篩選學(xué)校包含“三里屯”的分?jǐn)?shù):
詳見《孫興華講PowerBI火力全開》筆記20.4??SEARCH【不區(qū)分大小寫,可用通配符】
我們先通過新建列的方式進(jìn)行測(cè)試:
返回結(jié)果:

0是False, 其它任何數(shù)字都是True,Blank()在這里就是0,當(dāng)然你也可以寫成下面的樣子
那這個(gè)表我們?cè)趺慈ズY選它呢?萬(wàn)能的filter吧?
返回結(jié)果:

新建列和新建表只是測(cè)試,實(shí)際使用中,你無(wú)需這樣的操作。
Filter得到的這張表就是篩選條件,于是我們將度量值公式寫成:
二、不區(qū)分大小寫模糊查詢(使用通配符)
?號(hào)代表一個(gè)字符,*代表零個(gè)或多個(gè)字符
如果要查找的字符是?或*號(hào)本身,需要在?或*前面加一個(gè)~轉(zhuǎn)義字符
這些知識(shí)在2020.12.17日的《孫興華講PowerBI火力全開》中就講過了

如果我們要查詢孫和華中間還有一個(gè)字的學(xué)校分?jǐn)?shù):使用?號(hào),問號(hào)代表1個(gè)字符
如果想查找孫和華之間兩個(gè)字符,就使用"孫??華"? ?切記:?要在英文狀態(tài)下輸入
如果包含孫興華和孫星星華都想要,就用"孫*華"
Ps: 多條件怎么辦? filter里面可以添加與或非關(guān)系

還有沒有高級(jí)一點(diǎn)的方法?有!但是你需要看過《DAX神功》的前兩卷才能理解。
我們以上面的案例來(lái)講,想找到包含孫興華和xyz
《DAX神功》第1卷第3回 表構(gòu)造函數(shù)
返回結(jié)果:

《DAX神功》第1卷第14回 講到?var x=SELECTEDVALUE('表名'[列名]) 指當(dāng)前行
我們要將新建表Value列每一行的值進(jìn)行查找
但是在矩陣或表上你要使用新建表的Value字段分組:

三、區(qū)分大小寫請(qǐng)使用FIND【不能使用通配符】
詳見《孫興華講PowerBI火力全開》筆記20.3?

例如,我需要學(xué)校包含ABC的大學(xué)分?jǐn)?shù),結(jié)果返回1
如果我需要包含Abc這樣,大寫A開頭小寫c結(jié)尾(指的不是這個(gè)字符串由A開頭c結(jié)尾)。你試試一下,Excel里面的Ctrl+F也不行。如果哪位小伙伴有好的方法可以發(fā)到評(píng)論區(qū)。

《孫興華講PowerBI火力全開》PowerBI必學(xué)課程
https://www.bilibili.com/video/BV1qa4y1H7wp
《DAX神功》文字版合集:
https://www.bilibili.com/read/readlist/rl442274
《DAX神功》視頻版合集:
https://www.bilibili.com/video/BV1YE411E7p3
PowerBI(DAX函數(shù))、PowerQuery(M函數(shù))、Python辦公自動(dòng)化、Python爬蟲、Python數(shù)據(jù)分析、ExcelVBA、WordVBA、AccessVBA、MySQL等等
https://www.bilibili.com/read/cv10222110