キッズに SQL でデータ処理をさせようかな? と思い、 LibreOffice Base が使えるかどうかチャレンジ。
条件
- Ubuntu Linux デスクトップで完結
- 我が家のキッズ環境/ワークショップ環境として Ubuntu Linux デスクトップ環境を使用しているため
- CSV ファイルをデータソースとする
- パスワード無しで扱う
- テーブル名やフィールド名は日本語を用いる
- インストール簡単
環境
- Ubuntu 20.04 LTS デスクトップ
- LibreOffice バージョン: 6.4.7.2 ( Ubuntu ディストリビューション付属)
Base のインストール
Ubuntu Desktop だと Libreofficeはインストールされているが、Baseは入っていない。
以下のようにしてインストール
$ apt install libreoffice-base
メニューから Base が呼び出せるようになった。
しかしアイコンを押しても起動した様子が無い。
おかしーなーと思ってたら、ずっと LibreOffice をひらっきぱなしだったので一旦全部消したら Base
が起動するようになった。
CSVデータの取り込み
「新規データベースの作成(E)」で、
そのうえで、「ファイル」-「開く」で、CSVファイルを選択します。直接Baseで取り込みではなく、LibreOffice Calc で取り込まれます。
これを Ctrl+A + Ctrl+C で全てコピーし、
Base で「テーブル」を選択した状態で「編集」→「貼り付け」とします。
「次へ」
「≫」 を押して全てを適用し、
「プライマリキーを作成しますか?」で「はい」を選ぶと
CSV テーブルが取り込みできます。
SELECT 文を実行する
「クエリー」の「SQL表示でクエリーを作成...」で、以下のようにしてみます。
なお、結果をソートするために
SELECT 年代,count(ID) FROM "テーブル1" GROUP BY 年代 ORDER BY 年代
としています。
SQL 実行のエラー
ここまではうまくいきましたが、問題がありました。例えば
ここまでしましたが、例えば
SELECT 性別,count(ID) FROM "テーブル1" GROUP BY 性別
とすると、以下のエラーが出ます。
その他の問題
クエリーではなく、「ツール」→「SQL」で、以下のようにすれば同じSQLが正常に実行できます。
しかしながらIMEがONにならず、日本語がタイプインできませんでした。
SQLをコピー&ペーストだと使えますが、日常的に使うのには難しそうです。
使用を断念
ここまで試しましたが、日本語環境でわかりやすい操作ができる環境にはなりそうにないので、ここでテストを諦めました。