1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

私も日頃お世話になっているDatabricksアシスタントがGAになりました!

そして、LinkedInでこちらの記事を発見。実際にアシスタントでどこまでできるのかを検証されていました。

となると気になるのは日本語でどこまで行けるのかということです。なので、試してみました。事前に日本のCOVID-19感染者数のテーブルをtakaakiyayoi_catalog.japan_covid_analysis.covid_casesとして登録しています。

テーブルの特定

日本のCOVID-19感染者数を保持するテーブルを探して中身を表示してください

SELECT *
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases

Screenshot 2024-06-28 at 16.47.56.png

概要

どの期間のデータが含まれていますか

SELECT MIN(date_timestamp) AS start_date, MAX(date_timestamp) AS end_date
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases

Screenshot 2024-06-28 at 16.48.47.png

都道府県の数はいくつですか

SELECT COUNT(DISTINCT Prefecture) AS prefecture_count
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases

Screenshot 2024-06-28 at 16.49.17.png

上位、下位の抽出

最も感染者数合計の多い都道府県はどこですか

SELECT Prefecture
FROM takaakiyayoi_catalog.japan_covid_analysis.covid_cases
GROUP BY Prefecture
ORDER BY SUM(Cases) DESC
LIMIT 1

Screenshot 2024-06-28 at 16.49.51.png

最も感染者数合計の少ない地方はどこですか

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

Screenshot 2024-06-28 at 16.50.23.png

集計

都道府県別、月別の感染者数のデータをください

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

Screenshot 2024-06-28 at 16.51.06.png

地方別、四半期別の感染者数のデータをください

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

Screenshot 2024-06-28 at 16.51.39.png

変動

最も感染者数の増加率が高かったのはどの県でいつのことですか

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関数使って前月からの変動率を計算している。
Screenshot 2024-06-28 at 16.52.29.png

まとめ

私がいうのもアレですが、想像以上に賢い。しかも、Genieと同じで最初に特定したテーブルに対して対話を通じて分析を進められるのが良いです。

クイックに日本語でデータ解析したい時はGenie、SQLを確認、修正しながら分析を進めるならノートブックとアシスタントの組み合わせというところでしょうか。

証拠はこちらです。

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?