(3)血圧手帳の仕様と動作
血圧手帳のダウンロード
Power Queryを使った 血圧手帳のダウンロード
「Power Query」を使った血圧手帳の紹介
エクセルで日々の血圧を管理することができます
左右見開きで2週間分の血圧手帳を印刷することができます

動作確認は以下の環境でのみです
OS:Windows11 Pro
エクセル:Microsoft365 Apps for business、Microsoft Office Professional Plus 2019
ダウンロード
ダウンロードにあたり下記事項(免責・禁止事項・注意事項)を確認してダウンロードしてください。
当ソフトウェアを使用しての責任は一切受け付けません。
免責・禁止事項・注意事項
・免責
身体の安全を守る血圧手帳のネタ記事なので、もしこの記事を参考にして、ハッキング・データ破損等の被害により健康被害にあったとしても、有限会社さくらシステム及び製作者はその責を一切負いません。
この記事は、あくまで技術検証のための記事であり、エクセルを始めとするいかなるソフトウェアについて利用方法を推奨・保証するものではありません。
また、バグ等でいかなる損害を被っても当方は一切の責任負いません。
・禁止事項
有限会社さくらシステム及び製作者に許可なく、あらゆるメディア・コンテンツに再掲することを禁じます。
・注意事項
当モジュール及びサンプルプログラムは、技術検証を目的として作成されていますので、負荷試験を始めとする製品化を行うための基準を満たすための試験を一切行っておりませんので、予期せぬ結果を招く場合があります。
その場合であっても、上記免責事項により有限会社さくらシステム及び製作者はその責を一切負いません。
ダウンロードされた BloodPressureNotebook.zip を展開してください
BloodPressureNotebook フォルダが展開されます
フォルダ内には 血圧手帳_完成.xlsx と 血圧手帳_元データが格納されています
BloodPressureNotebook ( フォルダ )
血圧手帳の仕様



血圧手帳の動作
Power Query の動作が理解しやすいように
完成した血圧手帳を動作させてみましょう
次の章でPower Query の説明をしますので
「Power Query で、こんな事ができるんだ」
「Power Query は、こんなふうにつかわれるんだ」
ぐらいで、アウトラインを掴んでもらえればよいかと思います




処理フロー
- 開始日 ( 接続専用 )
- エクセル「条件」シートの開始日を返すクエリ
エクセル「条件」シートの開始日を DateTime型 から Date型 への型変換した値を返します
- 14日リスト ( 接続専用 ) 作成
- 開始日から14日間の年月日リストを作成するクエリ
血圧の欠測日があっても、その日は手帳上には空白の行として手帳を作成するために、開始日から14日分の年月日リストを返します
- T_BPData ( 接続専用 )
- 計測記録データクエリ
「計測記録」シートテーブルから読み込むクエリです
この後の処理クエリは、この「計測記録データクエリ」をソースデータとしています
- 抽出データ ( 接続専用 )
- 血圧手帳を作成するために必要な14日間のデータを抽出したクエリ
「14日リスト」クエリと「T_BPData」クエリをマージすることにより、「T_BPData」クエリから血圧手帳に必要な、14日分のデータ抽出結果を返します
週平均を計算しやすいように、7日毎に週番号をふります
- 手帳データ ( シート出力 )
- 「抽出データ」クエリから血圧手帳用に出力フォーマットを整えるクエリ
結果はエクセル「tbl_手帳データ」シートへ出力します
出力印刷用エクセル「手帳」シートは、出力された「tbl_手帳データ」シートをセル参照して、血圧手帳の日々の測定結果を設定します
- 手帳平均 (シート出力)
- 「抽出データ」クエリから、血圧・脈拍の週平均を計算して、血圧手帳用に出力フォーマットを整えるクエリ
結果はエクセル「tbl_手帳平均」シートへ出力します
出力印刷用エクセル「手帳」シートは、「tbl_手帳平均」シートをセルして、血圧手帳の週間平均血圧・脈拍を設定します
クエリを見てみよう




let
ソース = Excel.CurrentWorkbook(){[Name="T_Cond"]}[Content],
変更された型 = Table.TransformColumnTypes(ソース,{{"開始日", type date}}),
開始日 = #"変更された型"{0}[開始日]
in
開始日
このMコードが何をしているかを大雑把に説明すると
だいたいこんな感じです
Mコードについては以下を参照してください
補足
「処理フロー」と「クエリを見てみよう」にも出てきた

「接続専用」と「シート出力」って重要なので補足しておきます
「接続専用」と「シート出力」の違い
接続専用クエリの結果
接続専用にしたクエリは、次のような扱いになります
「接続専用」は、ブック内にデータを持たず、更新時に毎回メモリ上で評価されるクエリ
シートに出力したクエリの結果
テーブルとしてシートに「閉じて読み込む」したクエリは次の通りです
「最終結果をシートに出力」しているクエリは、更新後の値がブック内に保持され、グラフやセル参照はその保存されたテーブルを見ている、という状態になります
