私も日頃お世話になっているDatabricksアシスタントがGAになりました!
そして、LinkedInでこちらの記事を発見。実際にアシスタントでどこまでできるのかを検証されていました。
となると気になるのは日本語でどこまで行けるのかということです。なので、試してみました。事前に日本のCOVID-19感染者数のテーブルをtakaakiyayoi_catalog.japan_covid_analysis.covid_cases
として登録しています。
テーブルの特定
日本のCOVID-19感染者数を保持するテーブルを探して中身を表示してください
SELECT *
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases
概要
どの期間のデータが含まれていますか
SELECT MIN(date_timestamp) AS start_date, MAX(date_timestamp) AS end_date
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases
都道府県の数はいくつですか
SELECT COUNT(DISTINCT Prefecture) AS prefecture_count
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases
上位、下位の抽出
最も感染者数合計の多い都道府県はどこですか
SELECT Prefecture
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases
GROUP BY Prefecture
ORDER BY SUM(Cases) DESC
LIMIT 1
最も感染者数合計の少ない地方はどこですか
SELECT Area, SUM(Cases) AS total_cases
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases
GROUP BY Area
ORDER BY total_cases ASC
LIMIT 1
集計
都道府県別、月別の感染者数のデータをください
SELECT Prefecture, DATE_TRUNC('month', date_timestamp) AS Month, SUM(Cases) AS TotalCases
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases
GROUP BY Prefecture, Month
ORDER BY Prefecture, Month
地方別、四半期別の感染者数のデータをください
SELECT Area,
DATE_TRUNC('quarter', date_timestamp) AS Quarter,
SUM(Cases) AS TotalCases
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases
GROUP BY Area, Quarter
ORDER BY Area, Quarter
変動
最も感染者数の増加率が高かったのはどの県でいつのことですか
WITH cases_by_prefecture AS (
SELECT Prefecture, DATE_TRUNC('month', date_timestamp) AS Month, SUM(Cases) AS TotalCases
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases
GROUP BY Prefecture, Month
),
cases_growth_rate AS (
SELECT Prefecture, Month, TotalCases,
LAG(TotalCases) OVER (PARTITION BY Prefecture ORDER BY Month) AS PreviousCases,
(TotalCases - LAG(TotalCases) OVER (PARTITION BY Prefecture ORDER BY Month)) / LAG(TotalCases) OVER (PARTITION BY Prefecture ORDER BY Month) AS GrowthRate
FROM cases_by_prefecture
),
max_growth_rate AS (
SELECT Prefecture, Month, GrowthRate
FROM cases_growth_rate
WHERE GrowthRate = (SELECT MAX(GrowthRate) FROM cases_growth_rate)
)
SELECT Prefecture, Month
FROM max_growth_rate
これはすごい。キチンとLAG関数使って前月からの変動率を計算している。
まとめ
私がいうのもアレですが、想像以上に賢い。しかも、Genieと同じで最初に特定したテーブルに対して対話を通じて分析を進められるのが良いです。
クイックに日本語でデータ解析したい時はGenie、SQLを確認、修正しながら分析を進めるならノートブックとアシスタントの組み合わせというところでしょうか。
証拠はこちらです。