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?

【Tableauで野球分析】投球傾向を可視化してみた 〜1球単位データから投手の特徴を掴む〜(ワークシート作成編③)

Last updated at Posted at 2025-11-09

はじめに

前回の記事では、投手ごとの球種割合、打者の左右別に投球コースを可視化するワークシートを作成しました。今回はその続きとして、投球日カレンダーのワークシートを紹介します。また、今回の目的やデータの概要などは前回の記事に記載しております!

[前回の記事はこちら]

⚙️ ワークシート作成の流れ

では、さっそく「登板日を可視化するワークシート」の作成手順を紹介していきます!
今回も、前々回の記事で作成した 「投手パラメーター」 を引き続き使用しています。
まだご覧になっていない方は、ぜひそちらもチェックしてみてください。

1. 週番号を作成

まずは、月 × 曜日のカレンダー形式で登板状況を表示するため、
日付がその月の第何週に属するかを求める計算フィールドを作成します。

名前週番号

DATEPART('week',[Game Date])- { FIXED DATEPART("month",[Game Date]):MIN(DATEPART('week',[Game Date]))}

各部分の意味

  1. DATEPART('week',[Game Date])

    • 日付 [Game Date]その年の第何週かを返します。
    • 例:2025年11月9日は第46週 → DATEPART('week',[Game Date]) = 46
  2. { FIXED DATEPART("month",[Game Date]): MIN(DATEPART('week',[Game Date])) }

    • LOD式で**「その月の最初の週番号」を取得**しています。
    • FIXED DATEPART("month",[Game Date]) により月単位で固定集計され、
      MIN(DATEPART('week',[Game Date])) によってその月の週番号の最小値(つまり第1週)を取得。
    • 例:11月の最初の週は45週 → この部分は45を返す
  3. 引き算 DATEPART('week',[Game Date]) - 月の最初の週番号

    • 「月内での何週目か」を0スタートで計算します。
    • 例:11月9日 → 46 - 45 = 1 → 11月の第2週(0スタートのインデックス1)

2.投球数を計算

次に、登板日ごとの投球数を算出します。
ここでは LOD表現を用いて、日付を日単位に丸めた上で投手ごとに集計を固定します。

名前投球数

{ FIXED [Game Date],[Player Name]:COUNT([Player Name])}

これで、ワークシート作成に必要な準備ができたため、実際に作成をしていきます!

3.ワークシートの作成

  • 列シェルフ曜日(Game Date)

  • 行シェルフ月(Game Date) 週番号
    週番号はヘッダー表示のチェックを外しておくと見やすくなります。また、軸はデフォルトで上が正方向になりますが、カレンダーの見た目に合わせたいので、「軸の編集」→「反転」にチェックを入れて、下が第1週になるようにしています。

  • フィルターカード

    • 真偽(日本人投手)
      「真」を選択し、コンテキストフィルターに設定
  • マークカード

    • マークタイプ:ガントチャート
    • サイズ:min(1)
    • ラベル:日(Game Date)
    • 色:投球数(灰色)

※ツールヒントには投球数のみを表示し、シンプルな見た目に整えます。また、サイズにmin(1) を使うことで、線が一定サイズのマークに変更されます。

image.png

まとめ

今回のステップでは、投手ごとの登板日と投球数を一覧で見える化しました。
特にポイントは次の3点です。

  1. カレンダー形式で登板日を可視化
     → DATEPART('weekday',[Game Date])DATEPART('week',[Game Date]) を使い、月間カレンダーを再現。

  2. LOD表現で投球数を日単位に固定集計
     → { FIXED [Player Name], DATETRUNC('day',[Game Date]) : COUNT([Pitch ID]) }

  3. 見た目をわかりやすく整理
     → 曜日や週番号で整列させ、日付セルごとに登板の有無・投球数を確認可能に。
     → カレンダー形式は、年間や月間の登板リズム・休養間隔の可視化にも有効。

次のステップでは、 これまで作成したものを活用して ダッシュボード を作成、紹介していきます!

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?