LoginSignup
1
1

More than 3 years have passed since last update.

【kintone】クロス集計表を作ってみる(その1)

Last updated at Posted at 2021-02-03

kintoneのクロス集計表を使ったことがありますか?

クロス集計表はkintoneのデータを2方向で表現できる表です。

今回はクロス集計表を作るためのアプリの準備をしてみたいと思います!
※次回、実際にクロス集計表を作ってみる予定です👀 書きました↓
次回:【kintone】クロス集計表を作ってみる(その2)

※データの方向について詳しくは、
@j-kume さんの
kintoneアプリのデータは1方向に伸ばしましょう!をご参照ください

クロス集計表とは?

たとえばこんな情報があった場合、どんな表を描きたいでしょうか?

国語のテスト
たろう:80点  じろう:90点  さぶろう:0点

算数のテスト
たろう:80点  じろう:80点  さぶろう:100点

理科のテスト
たろう:50点  じろう:50点  さぶろう:100点

ぱっと思い浮かぶのはこんな表ではないでしょうか?

image.png

これが、kintoneで言うところのクロス集計表です。
データが縦と横の2方向に伸びる表です。
image.png

このような表は、わざわざクロス集計表の機能は使用せず、kintoneでそのままのアプリを作れば良いような気がしますね。

クロス集計表機能を使わない、データが2方向に伸びそうなアプリ

というわけで、最初から2方向にデータが伸びそうな、クロス集計表ぽいアプリを作ってみました。

名前と、各教科の点数と合計(計算フィールド)を配置しています。
image.png

image.png

問題なさそうです。
縦方向にデータを追加する、つまり、たくさん人が増えてもその都度レコードを追加すれば良さそうです。
image.png

しかし、テストの科目が増えた場合はどうしましょう?
国語、算数、理科、社会、英語、美術、音楽、体育、技術・・・・などなど、

科目が増えると、横方向にデータを増やさなくてはいけません。
となると、アプリのフィールドを追加する必要があります。
また、合計の計算式も変更しなくてはいけません。

image.png

保存して一覧(すべて)を確認すると、フィールドの列は追加した順に並ぶため、
合計より右に社会と英語が並んでしまいました。
ということは、横方向にデータを伸ばした場合、一覧も新規作成したり修正する必要がありそうです。
image.png

このように、kintoneは2方向に伸びるデータを持つとなると、
縦方向だけでなく横方向にデータを追加する必要が出てきます。すると

  • アプリの設定でフィールドを増やさないといけない
  • フィールドを増やすと「合計」の計算式も修正する必要がある
  • 一覧も新規作成したり修正する必要がある

というちょっと面倒くさい作業が発生してしまいます。

でも2方向にデータが伸びる表が欲しいです。
そんな時にはグラフ機能の「クロス集計表」が役に立ちます。

データが1方向に伸びるアプリでクロス集計表をつくる

ではどうすれば、データが1方向に伸びるアプリでクロス集計表を作ることができるのか??
大きく分けると2つの手順で作成することができます。

  • 2方向に伸びたデータを1方向に伸びるデータに変形させる
  • グラフの設定でクロス集計表を作成する

2方向に伸びたデータを1方向に伸びるデータに変形させる

前置きが長くなりましたが、今回やりたいのはコレです。
2方向に伸びたデータを、1方向に伸ばす?どうすればいいでしょう?

先程から登場している表ですが、もう一度見てください。
image.png

この表は、↓のように書き換えることができます。
データが伸びる方向が1方向になっているのが分かりますでしょうか?
image.png

2方向に伸びたデータを1方向のみにするには、

  • 方向のデータの仲間は何か考え、フィールドにする
  • 方向のデータの仲間は何か考え、フィールドにする
  • 表の中の数字は何を表す数字か考え、フィールドにする

という手順で3つのフィールドを作るとよいです。
縦、横、数字がそれぞれ下の表のように対応します。
image.png

というわけで、新しくアプリを作成してやってみましょう。

縦方向のデータの仲間をフィールドにする

まず縦方向のデータの仲間をフィールドにします。

縦方向は
たろう、じろう、さぶろう、・・・・。

image.png

これらは人の名前です。

文字列(1行) 「名前」フィールド 

を新しいアプリに追加しましょう。

横方向のデータの仲間をフィールドにする

続いて、横方向のデータの仲間をフィールドにします。

image.png

横方向に伸びているデータは国語、算数、理科、・・・。
何の仲間かと言われたら「テスト科目」の仲間ですね。

というわけで、
文字列(1行) 「テスト科目」フィールド 

も追加します。

表の中の数字は何を表す数字をフィールドにする。

表の中の数字は何を表すでしょう?

image.png

「点数」ですね。
というわけで、
数値 「点数」フィールド 
を追加します。

グラフの機能で集計をするため、「合計」のフィールドは必要はありません。

作成したアプリ

3つのフィールドの設定は↓です

フィールド種類 フィールド名
文字列(1行) 名前
文字列(1行) テスト科目
数値 点数

フィールドは3つだけです。
image.png

このアプリに、下記のレコードを入力します。
Excelにコピペしてインポートでもアプリ作成でもOKです。

名前 科目 点数
たろう 国語 80
じろう 国語 90
さぶろう 国語 0
たろう 算数 80
じろう 算数 80
さぶろう 算数 100
たろう 理科 50
じろう 理科 50
さぶろう 理科 100

こんな感じになったでしょうか!?
今回はここまでですが、次回は実際にクロス集計表を作ってみたいと思いますので、
このアプリは消さずに残しておいてくださいね。
image.png

まとめ

kintoneは2方向に伸びるデータを扱うのが苦手なので、
データは1方向に伸びるようにして、2方向に伸びたデータを見たい場合はクロス集計表を使いましょう。
というお話と、2方向に伸びたデータを1方向にする方法をざっくりと紹介しました。

次回は今回作成したアプリでクロス集計表を作ってみたいと思います!
読んでくださってありがとうございました!ノシノシ

1
1
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
1