一所懸命に手抜きする

監査の仕事をしています。ITを利用し、良い意味で「手抜き」することは効率化と精度アップに役立つと思うんです。部下への引き継ぎのためにまずは諸々頭から引っ張り出そうとブログを始めました。

[ Main ]  [ 別館 ]
当ブログで取り上げられている事案やデータベース、人物等はすべてフィクションです。

SQL

Mi Band Master のデータをRで読み込む(2) RSQLiteはDBIを利用しているらしい

R SQL

RからSQLiteデータベースを操作 シャオミのMi Band 2 のデータをMi Band Master というアプリで出力すると、db.sqlite というファイルが作成されます。これはSQLite形式のデータベースです。このデータベースをRで読み込む方法を実例で勉強しましたので備忘…

Mi Band Master のデータをRで読み込む方法

Mi Band Master のデータをRで読み込む Mi Band 2 のデータはCloudにあるらしいのですが、公式アプリ Mi Fit を使ってもCSVなどに落とすことはできないようです。一方、Mi Band Master というアプリは取得したデータを、SQLite形式の db.sqlite として出力し…

SQLでUNIX時刻をyyyy-mm-dd h:m:s書式(JST)に変換する方法

SQL

うーんUNIX時刻か UNIX時刻をSQLでyyyy-mm-dd 等にする UNIX時刻とは SQLiteではdatetime関数でUNIX時刻を簡単にyyyy-mm-dd h:m:s書式(JST)に変換できる MySQLの場合 うーんUNIX時刻か 先日、あるデータで Select Time1 from mydata limit 1; としたところ、…

Mi Band Master の出力データはSQLite形式DB。Mi Band 2心拍データCSV取得方法

Mi Band Master の出力データはSQLite形式DBになっている SQLite 形式のデータ SQLite を簡単に使いたい コマンドラインシェル SQLite3.exe を入手 心拍データ取得法(仮) 外部SQLを読み込んでバッチ処理する方法 正しい心拍データ取得法 1.SQLを用意する。 2…

Mi Band Master からデータ出力する方法

Mi Band Master の出力データはSQLite形式DBになっている Mi Band Master からのデータ出力方法 メニューから「設定」を選び 「設定」から「Data」を選ぶ 「Data」から「エクスポート」を選ぶ 出力されるDBはSqlite3形式です Google Fit 睡眠データが反映不…

SQLを用いて重複レコードを全抽出(2回目以降出現のレコードを抽出するのではなく!)[R]

R SQL

データには重複が含まれることがある 重複データの例 duplicated だと困ったことが… 重複とは出現回数が2以上ということ 出現回数を数える 出現回数>1のデータのみ数える RではなくてもSQLなら同じこと SQLの書き方 データには重複が含まれることがある 重複…

AS/400でメンバをSQLで操作するには?

AS/400SQLではメンバを扱いにくい AS/400ではファイルを ライブラリ名/テーブル名(メンバ名) のように表しますね。 でも、SELECT * FROM ライブラリ名.テーブル名(メンバ名)としてもSQLはエラーとなってしまいます。 ()内のメンバを識別できないのが理由です…

RデータフレームのヘッダをASのテキスト記述で置き換えるユーザー関数 ReplaceASHeader連想配列的なこと(3)

まずは復習から AS400にも日本語対応の項目別名的なものがあるが取得するのは難しい ユーザー関数 GetASHeader()でテキスト記述を取得し手動でヘッダ置き換え データフレームのヘッダをASのテキスト記述で置き換えるユーザー関数 ReplaceASHeader() ユーザー…

ピリオドが含まれるAS/400テーブル名のSQL表記法

ピリオドを含むテーブル名 AS400のテーブル名はAS/400端末で見ると、一般にライブラリ名/ファイル名となります。 SQLで呼び出す場合には、AS/400上のSTRSQLなどでもライブラリ名.ファイル名となるようです。 当社のシステム担当が 実績/売上.01、実績/売上.0…

ユーザー関数 GetASHeader()でAS400(DB2)から項目別名(日本語)をSQLで取得する。ヘッダを日本語に!

※ RでなくてもSQLが使えれば SYSIBM.SYSCOLUMNS 等からの抽出部分は役立つと思います。 AS400のテーブルから項目別名を取得するのは難しい AS400にも日本語対応の項目別名的なものがあるが取得するのは難しい ASからテキスト記述を取得するユーザー関数 GetA…

AS/400の表説明・列説明(日本語記述)をExcelで取得するVBA

AS/400のカタログ情報 AS/400のカタログ情報には表説明・列説明が日本語でも記載可能となっています。 表の説明に特定のキーワードを含むファイルを検索するSQLは select dbname,name,label from QSYS2.SYStables where label like '%キーワード%' です。 た…

AS400の表名は英数字でも、SYSTABLESに日本語説明みたいなものがある!どうやって取得する?

RDMSのカタログは表データ RDBMS(リレーショナルデータベース)の特徴であるカタログ。DB2のカタログのうちのSYSCOLUMNSについて前回は紹介しましたが、他にも重要情報が詰まっているのがカタログです。 AS/400のDB2におけるカタログの主な内容 SQL操作 格納…

AS400の列名は英数字でも、SYSCOLUMNSに日本語列名みたいなもの・説明がある!どうやって取得する?

関係データベース RDMSのカタログは表データ RDBMS(リレーショナルデータベース)は、いわゆる表形式データと、それを管理するデータ(カタログ)に大別できます。表形式データを扱うための言語がSQLです。 前回紹介した、重要情報が詰まったカタログ自身も表形…

AS400からRにデータを取り込む方法。さらにユーザー関数化 GetAS400()

AS400からRにデータを取り込む AS400からRへのデータ読み込みは関数化しましょう ユーザー関数 GetAS400() ユーザー関数 GetAS400()の実行例 AS400からRにデータを取り込む RはRODBCというパッケージを使うことによりODBC経由でAS400からデータを取り込むこ…

AS400にADO接続しSQLでデータを取得するExcelVBA

AS400のフロントエンドとして使う AS400からデータを取得できるSQLツールは多いのですが、取得したデータは Excel で処理することが多いでしょう。 であれば、そもそも Excel でAS400からデータを取得すれば、フロントエンドの使用法をいくつも覚えずに済み…

CSVからSQLでデータを取得する sqldf::read.csv.sql() 関数(R言語)

sqldfライブラリの read.csv.sql() 関数はSQLでCSVを読み込める read.csv.sql()使用法 CSVからSQL(select) CSVからSQL(select以外) 前回は R に取り込んだデータフレームを SQL で取り扱う sqldf ( RデータフレームからSQLでデータを取得するsqldfライブラリ…

RデータフレームからSQLでデータを取得するsqldfライブラリ

R SQL

Rではデータフレームが主要な処理対象 R標準ではデータフレームをSQLで処理できない データフレームをSQLで処理するライブラリ sqldf sqldfはSQLite 注意 Rではデータフレームが主要な処理対象 Rではデータフレームというものが主要な処理対象となります。 …

Excelからデータを読み込むR関数(7)sqlQuery()はやや面倒なのでユーザー関数化sqlExcel()

ExcelからRへのデータ読み込みは関数化しましょう ユーザー関数 sqlExcel() ユーザー関数 sqlExcel() 使用例 最低限の指定(ファイル名のみ) ファイル名とシート名を指定 シート名を[ $]形式で引数として渡した場合のエラーの例。 ヘッダのないExcelデータを…

Excelからデータを読み込むR関数(6)ExcelからSQLで条件抽出するR関数sqlQuery()

RでExcelデータを読み込めましたが… ExcelシートからSQLで条件にあったレコードのみ読み込む方法 応用:Excel2003以前のオートフィルタの代用 RでExcelデータを読み込めましたが… RODBC,readxl,gdata,XLConnect,xlsReadWrite,xlsx,openxlsxなどでExcelデータ…

重複行削除の際、重複判定に指定したキー列項目以外の列も取得するSQL

SQL

SELECT DISTINCTでは重複判定に指定したキー項目しか返されない 指定されたカラム(列)で重複のないデータを返すSQL、SELECT DISTINCT(重複する行を削除するSELECT DISTINCT - 一所懸命に手抜きする)ですが SELECT DISTINCT 列a,列b FROM テーブルX とすると…

重複する行を削除するSELECT DISTINCT

SQL

データは項目の内容が重複していることがある 今回はSQLについてです。 データには項目の内容が重複するものが含まれている場合があります。 そこから重複を除いてデータを抽出したいことがあります。 例えば、次のサンプルのように1月の仕入明細データとい…

RでODBCを使うためのライブラリRODBC

Rは便利とは言っても、Rだけで業務は完結することはまずありません。Rで処理するデータはどこからか取得する必要があります。 CSVならば標準のread.table()で取得できますが、会社ではxlsやMDBなど多様なデータベースからデータを取得することがよくあります…