count(distinct v) from unnest(arr) as v) ); select extract(year from 集計月) as 集計年, 店, distinctCount( array_concat_agg( array( select 購買者 from unnest(Aの購買履歴) ) ) ) as 購買者数 from `table` group by 集計年, 店 order by 集計年, 購買者数 desc 分析の際は、ARRAY から必要な項目を抜き出す 解決策 集計月 店 Aの購買履歴 Bの購買履歴 2025-03 一郎商店 田中 500円 田中 50,000円 佐藤 1000円 - 2025-03 二郎商店 山田 5,000円 - 2025-03 三郎商店 - 鈴木 2,000円 山田 3,000円 … … … … 独自のUDFを定義 UDFを活用