はじめに
SNSの投稿、アンケートの自由記述欄、顧客フィードバック…。
ビジネスの現場ではテキストデータが大量に存在します。
しかし、テキストはそのままでは分析に活用しにくく、
「どんな単語がよく使われているのか?」
「ユーザーの関心はどこにあるのか?」
といった洞察を得るには**数値化(定量化)**が必要です。
本記事では Power BI を用いて、以下を実現する方法を解説します:
- コメントの文字数・単語数を算出する
- 単語マスタを使い、特定単語の出現回数を集計する
- 出現回数をランキングやワードクラウドで可視化する
さらに、応用として「共起分析」や「時系列分析」の入り口にも触れます。
なぜPower BIでテキスト分析?
「テキスト分析」と聞くと、PythonやRなどのプログラミングを思い浮かべる方も多いでしょう。
しかし、Power BIには以下のメリットがあります。
- ノーコードで設定でき、非エンジニアでも扱いやすい
- ExcelやCSVから直接データを取り込める
- グラフやダッシュボード化が容易で、分析結果を共有しやすい
一方で、日本語特有の課題(分かち書きがない)もあるため、工夫が必要です。
前提条件:単語マスタを作成する
日本語文章を自動で分割するのは難しいため、事前に「単語マスタ」を用意しておきます。
例(Excel/CSVで作成):
単語 |
---|
PowerBI |
分析 |
可視化 |
SNS |
ユーザー |
これを Power BI に読み込み、対象のテキスト(コメント等)と突き合わせることで集計可能になります。
使用データ(サンプル)
SNS投稿データ(sns_posts)
投稿ID | コメント |
---|---|
1 | PowerBIはデータの可視化に便利! |
2 | SNS分析にPowerBIを使ってみた |
3 | 可視化するとユーザーの行動がよくわかる |
4 | 分析レポートを自動で作れるのが助かる |
5 | もっとPowerBIを勉強したい! |
単語マスタ(word_master)
単語 |
---|
PowerBI |
分析 |
可視化 |
SNS |
ユーザー |
手順
1. データの読み込み
-
sns_posts
とword_master
をPower BIに読み込みます。
2. リレーション設定に注意
- Power BI は自動でリレーションを推測しますが、本ケースでは不要です。
- 自動で作成されたリレーションを削除してください。
メジャーの作成
word_master
テーブルに以下のメジャーを追加します。
単語集計 =
VAR n1 = SELECTEDVALUE('word_master'[単語])
VAR n2 =
SUMX(
'sns_posts',
LEN('sns_posts'[コメント]) - LEN(SUBSTITUTE('sns_posts'[コメント], n1, ""))
)
VAR result = DIVIDE(n2, LEN(n1))
RETURN result
解説
-
SELECTEDVALUE('word_master'[単語])
→ 集計対象の単語を取得 -
LEN(コメント) - LEN(SUBSTITUTE(コメント, n1, ""))
→ 単語を削除した差分から出現回数を算出 -
SUMX(sns_posts, ...)
→ 全コメントを合計 -
DIVIDE(n2, LEN(n1))
→ 単語長で割り算して回数に変換
可視化例
基本:テーブルで出現回数を表示
単語 | 出現回数 |
---|---|
PowerBI | 3 |
分析 | 4 |
可視化 | 2 |
SNS | 2 |
ユーザー | 1 |
応用①:ランキング形式
降順で並べてランキングを付けると「どの単語が多いか」が直感的に分かります。
ランク | 単語 | 出現回数 |
---|---|---|
1 | 分析 | 4 |
2 | PowerBI | 3 |
3 | 可視化 | 2 |
4 | SNS | 2 |
5 | ユーザー | 1 |
応用②:ワードクラウド
カスタムビジュアル(Word Cloud)を使えば、出現回数に応じて単語が大きく表示されます。
SNS分析やアンケートの見せ場として有効です。
応用③:時系列での推移
コメントデータに「投稿日」列を追加すれば、単語の出現回数の推移を折れ線グラフで表示可能。
例:特定のキャンペーン期間中に「PowerBI」という単語が急増した、など。
発展:さらに高度な分析へ
- 共起分析:「PowerBI」と「可視化」が同じコメントに登場した割合を計算
- 極性分析(ポジ/ネガ判定):外部辞書と組み合わせて「肯定的な単語」「否定的な単語」をカウント
- カテゴリ別クロス集計:ユーザー属性(年代・性別)別に、頻出単語を比較
👉 これらを組み合わせることで、単なる単語集計から顧客理解に直結する分析が可能になります。
注意点・落とし穴
-
大文字・小文字の区別:
SUBSTITUTE
は区別します → 必要なら正規化を行う - 全角・半角の違い:全角スペース・記号は意図せず別物になることがあります
- 未知語の扱い:単語マスタに載っていない単語はカウントされません
まとめ
- Power BIでも単語の出現回数集計が可能
- 「単語マスタ」を使えば日本語でも比較的シンプルに分析できる
- テーブル・ランキング・ワードクラウド・時系列といった多様な可視化が有効
- 発展的には共起分析や感情分析へ発展可能
- 実務シナリオに即したテキストマイニングの入り口として活用できる