SQL / PowerBI поиск в определенной строке (не строке) данных - PullRequest
1 голос
/ 10 октября 2019

У меня есть столбец с многострочными данными. В SQL Server она отображается как одна строка, а в Power BI - несколько строк, поэтому, я думаю, в Power BI есть несколько специальных символов, указывающих, где начинается новая строка.

enter image description here

Чего я хочу добиться, так это искать от второй до последней строки вместо всей ячейки, чтобы выяснить, содержит ли она, например, ключевое слово «christchurch».

В любом случае я могу добиться этого в SQL Server или Poewr BI? Благодаря.

Ответы [ 2 ]

1 голос
/ 10 октября 2019

В силе BI:

Contains = 
var index = 
    SEARCH(UNICHAR(13), [YourColumn], , 0) + 1 
RETURN 
    SEARCH("christchurch", [YourColumn], index, 0)

Эта мера вернет начальный индекс слова "christchurch" (поиск только после первого символа новой строки) и вернет 0, если не найден.

Примечание: Вы также можете попробовать UNICHAR (10) или другие специальные символы, которые могут использоваться для разрыва строки в ваших данных.

0 голосов
/ 10 октября 2019

Вы можете использовать LIKE для сканирования текста в nvarchar или аналогичном поле. У меня нет вашей структуры таблицы или большого количества образцов данных, но, учитывая то, что вы сказали мне, должно работать следующее:

SELECT
    ID,
    Txt,
    CASE
        WHEN TRIM(UPPER(TXT)) LIKE '%CHRISTCHURCH%' THEN 'Y' ELSE 'N' END AS Has_ChristChurch

FROM
    tblFoo

Вот SQL FIDDLE для живогодемо.

...