0
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?

【Domo】EXPO 2025のダッシュボードを作ってみた

Last updated at Posted at 2025-09-10

データについて楽しく学ぶ秘訣は、データの活かし方に興味を持つことだと考えます。
”すでに存在するデータを何に活かそう?”ではなく、”〇〇する時に、こんなデータがあったら…”と、データの存在の有無は後回しに、データの活用場面を想像、空想、妄想することは、ビジネスシーンでのデータ利活用の際に必要な一連の思考の筋トレになります。
データの活かす方法が思いついたら、ゴールに向かって足りないピースを埋めていく・・・本記事ではこんな話をご紹介します。

データ活用の動機(目的)

唐突ですが、2025年4月~10月の間、日本ではEXPO 2025 大阪・関西万博が開催されています。

日本での万博開催は、2005年の愛知県で開催された「愛・地球博」以来20年振り。
開催前から色々と話題となっていましたが、開催後も連日多くの来場者で賑わう様子をニュースなどで目にします。
私は関東在住ですが、身近でも「先日、万博行ってきた」という声を頻繁に聞くようになり、大きな観光流動を起こしていると実感します。
そんな大阪・関西万博へいつ行くべきか?(来場時期)をデータに基づいて検討してみたいと思います。

データの検討

まずはじめに、どんなデータが必要かを考えます。
来場時期を選ぶための要素をいくつか挙げてみます。

  • 万博会場の混雑状況
    →相当な混み具合というニュースを見て、少しでも空いている日に行きたい
  • パビリオンの混雑状況
    →お目当てのパビリオンへ入場できる確率が高い日を選びたい
  • 天候
    →雨より晴れ、猛暑日も避けたい

上記が読み取れるデータが入手できれば、ある程度候補日を絞り込めそうな気がします。
データは誰でも入手可能なオープンデータを前提に探索してみます。

使用するツール

この記事でのデータの収集、分析には「Domo」という製品を使用します。
データを収集するための多数のコネクター、データを加工するためのETL機能、分析のためデータを可視化する機能が備わっているデータプラットフォーム製品です。

1.万博会場の混雑状況

データを分析するにあたり、一定数の母数と一定期間の蓄積がなければデータとしては不十分です。
開催前であれば、前回万博の来場者データや日本での類似イベントの来場者データなどが参考データに挙げられます。
執筆現在は2025年8月末。会期の2/3が過ぎていますので、来場者データが入手できればある程度傾向は掴めそうです。どうせなら空いている日に行きたいですもんね!

Web探索してみると、来場者数は公式発表がありました。
毎週月曜日に前週1週間分の来場者数が公式サイトで発表されているようです。

万博への入場は事前予約制となっています。
予約数についても公表されているかと調べてみましたが、画像として掲載されているページがありました。

(2025年8月時点)Domoの既存コネクターでは、画像からデータを取得できるものはない認識のため、万博会場の混雑状況については、公式サイトの情報をデータとして取得することにします。

データの取得方法

まず公式サイトでの発表内容を整理します。

①発表はHP内のみで、CSVやExcelといったファイルダウンロードはできない
②データ期間は前週1週間
③累計データは公式サイトには存在しない
④データは毎週月曜日追加される
➄発表されるURLは不規則

順に解説していきます。

①発表はHP内のみで、CSVやExcelといったファイルダウンロードはできない

Domoへのデータ接続方法は多数用意されており、様々なファイル形式や対向システムのAPI対応することができます。
お手軽なものにはExcelやCSVファイルを取り込む方法がありますが、今回はこの方法では実現するためのファイルを別途手作成しなければならないため接続戦略として推奨できません。
そこで今回は「HTML Tableコネクター」を使用してみます。

このコネクターはWebサイトの構成要素であるHTMLでTABLEタグの要素を表データのように取得することができるため、公式サイトに掲載された来場者数データを直接取得し、Domo内で分析できるようになります。

詳しい設定方法はこちら

まずは「データ接続」タブより「HTML Tableコネクター」を検索します。
image.png

コネクターアカウントの名前とデータの取得元になるWebページのURLを入力します。(パスワードは今回不要)
image.png

対象ページのレイアウトは不変のようなので、テーブルは常に1つ目を取得するようにTABLE NUMBER=1にします。
※同一Webページ内に複数のTABLEが存在する場合は、出現順で2、3…と指定を変える箇所になります。
image.png

②データ期間は前週1週間
③累計データは公式サイトには存在しない

一度の取得では1週間分のみのため、更新方法を「結合」、結合keyを「Header」にします。
更新方法=結合により新規データは追加され更新の度に累積されます。
また、Headerは来場日付が格納される列になっているため、結合key=Headerとすることで誤って同じデータを複数回取得してしまった場合も同じ来場日でマージされ重複行の発生を回避できます。

image.png

image.png

コネクター実行により取得できたデータはこちらです。
image.png

Webサイトにある数値と同じ内容がDatasetの値になっていますね。

不要な合計行の削除、来場日をDate型、来場者数を数値型にするなどのデータ整形も行いましょう。
この処理はMagic ETLで実施できます。

Magic ETL

image.png

①誤って同じデータを取り込んでしまった際のリカバリー
※コネクターの更新方法=結合としているため省略可
image.png

②合計行の削除
image.png

③各項目を適切なデータ型に整形
・Header=M月D日(曜日)から、M月D日に修正
・来場日=Headerに年を追加してYYYY/MM/DDとしてDate型に変換
・来場者数を数値型に変換
image.png

➄発表されるURLは不規則

来場者数について掲載されるWebページが常に同じURLであれば、ここまでの設定にスケジュール設定を加えれば完成です。
しかし、公式サイトを見ると掲載されるWebページのURLは毎回異なり、不規則であることがわかります。

掲載内容 URL
8/4発表の来場者数 https://www.expo2025.or.jp/news/news-20250804-03/
8/11発表の来場者数 https://www.expo2025.or.jp/news/news-20250811-01/
8/18発表の来場者数 https://www.expo2025.or.jp/news/news-20250818-02/

8月1~3週のURLを見比べると、以下のような法則になっていることがわかります。

https://www.expo2025.or.jp/news/news-[yyyymmdd(掲載日)]-[同日ニュースの連番]/

掲載日については毎週月曜日として特定することができますが、同日ニュースの連番についてはランダムのため来場者数が掲載されているページをURLだけで特定することはできませんでした。
そのため、コネクターの設定のうちWebページの指定は、手動更新が必要になってしまいました。。。
イケてない仕様になってますが、今回はこの運用で実装します。

Webページの変更はコネクターアカウントの編集で行うことができます。

image.png
※コネクターの実行スケジュールについても、月曜にWebページが更新後でないとURLが確認できないため、手動が望ましいです。
・コネクターアカウントで指定URLを変更する
・変更後にコネクターを実行する

2.パビリオンの混雑状況

次は万博の主要施設である各国のパビリオンについてです。
パビリオンは事前予約制の施設や当日整理券の施設など様々です。
事前予約は来場日の予約後に2か月前抽選、7日前抽選、と予約抽選になっており、この事前予約数のパビリオン毎のデータを取得できれば、目当てのパビリオンの予約状況で来場日を決めることができます。
…が、パビリオンの予約状況のデータは見当たりませんでした。

当日のパビリオンの混雑状況はありましたが、こちらもデータとしての取得は難しそうです。

よって、パビリオンの混雑状況の把握は断念。。。

3.天候

最後に天候についてのデータを探索します。
天候についてオープンデータは数多く存在するため、問題なく取得できそうです。
今回は気象庁のサイトからCSVファイルを取得してDomoへ手動でアップロードする方式でご紹介します。

データの取得方法

今回利用するデータは気象庁のWebサイトにある「過去の気象データ」です。

詳しい取得方法はこちら

以下より地点、取得項目、期間を選択してCSVファイルのダウンロードします。
image.png

まず地点は万博会場である大阪を選択します。
image.png

次に取得する項目です。
今回は、日本の猛暑とあわせて万博会場の暑さに関するニュースをよく見ますので、気温に関する項目を取得してみます。
image.png

続いて期間ですが、万博開催期間の4/13~10/13の半年分を選択します。
参考情報として昨年だけでなく直近3年分を取得してみます。
image.png

この状態で画面右部にあります「CSVファイルをダウンロード」を押下すると、
「data.csv」という名前のファイルがダウンロードできます。

取得した気象データをDomoへアップロードします。
DomoではExcelやCSVファイルをドラック&ドロップで簡単に取り込むことができます。

Domoへのデータアップロード方法はこちら

DataSet画面上部の「データを接続」から「スプレッドシートをアップロード」を選択します。
image.png

以下の画面がポップアップしますので、さきほどダウンロードした「data.csv」をドラック&ドロップします。
image.png

プレビュー画面でデータを確認することができます。
…デフォルトでは文字化けしちゃってますね。
image.png

ファイルエンコーディングをShift-JISにすることで解消できます。
データに空行があることも確認できますが、ヘッダー行とデータ行の整形はデータ取込後に行いますので
このままDataset名を付けて保存します。
image.png

Domoへアップロードしたデータがこちらです。
この時点では不要な行、列が含まれているため、Magic ETLでデータを整えましょう。
image.png

Magic ETLで空行や当年の日付を作成します。

Magic ETL

image.png

①列名を整えます。
image.png

②空行を削除します。
年月日の列でYYYY/MM/DD形式の値が無い行を削除
image.png

③各項目のデータ型を整えます。
image.png

④今年の日付列を作成します。
データは過去分のため、万博開催期間の2025年の日付が存在しません。
今回は前年2024年分、前々年2023年分に対して2025年の日付を作成します。(年月日+12か月、+36か月)
※2022年のデータの処理は割愛します。
image.png

image.png

➄前年+前々年の気温を結合します。
image.png

⑥当年日付が2025年のデータのみにします。
image.png

4.出来上がり

結果として来場者データと気象データのオープンデータをDomoへ取り込むことができました。
この2つのデータを日付(来場日と年月日)で紐づけることで、当初の目的を満たすデータを作成することができます。

いくつかのカードとダッシュボードをデザインするとこんな感じになりました。

_Nari_EXPO2025-Domo-GoogleChrome2025-09-1000-00-19-ezgif.com-crop.gif

まとめ

データの利活用は目的を最初に設定することが大事です。
データありきで考えず、目的を果たすためにどんなデータが必要か?という思考のトレーニングを紹介しました。

データ活用を難しく考えずに、身近なデータを使って目的にあった可視化をしながら楽しく学ぶきっかけになれば幸いです。

0
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
0
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?