BigQueryでスペース区切りのキーワードの語順を揃える方法

#standardSQL

"aa bb" と "bb aa" を同じものとみなしたい

上記のテキストが検索キーワードで、語順を無視して集計したいときとか

(語順がそこまで重要でない検索のログ集計とか)

#standardSQL

CREATE TEMPORARY FUNCTION
SPLIT_SORT(str STRING)
RETURNS STRING AS ((
SELECT ARRAY_TO_STRING(ARRAY_AGG(kw), " ")
FROM (
SELECT
kw
FROM
UNNEST(SPLIT(str, " ")) AS kw
ORDER BY
kw ASC
)
));

WITH
a AS (
SELECT
["a a", "a aa", "aa a", "a aa aaa"] as aa
)

SELECT
aaa,
SPLIT_SORT(aaa) as sort_aaa
FROM
a,UNNEST(aa) aaa

SPLIT_SORT という関数がそれ

この記事を参考にさせていただきました

https://qiita.com/shiozaki/items/11aca34553e5e60abf19