管理人がみんなに伝えたい!!と思った知識や学びを気ままに書いています(^^)

【これで解決!】eoweek()関数とeomonth()関数の使い方

【これで解決!】eoweek()関数とeomonth()関数の使い方

本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。

本ブログでは新UI画面で内容をまとめています。

新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)

新UI画面の説明

まずはじめに

本記事はこんな人におすすめ!!
  • 入力日などの日付をフラグとして任意の期間でデータを抽出したい人
  • 先週分、先月分など表示されるデータが自動で更新される設定をしたい人
本記事を読んで出来るようになること
  • 先週や今週といった週単位の抽出方法(eoweek()関数)
  • 先月や今月といった月単位の抽出方法(eomonth()関数)
  • 特定の期間のデータをCSVファイルに落とす方法

今回の記事はスライス機能の応用として、データテーブルに存在する”日付”をフラグに任意の期間でデータを抽出する方法についてまとめています。

こちらの記事でスライス機能の基礎を学んでいただき、本記事の内容をマスターしていただければappsheetでのスライス機能はバッチリです!(^^)

それでは勉強していきましょう!


参照データについて

検証に用いたデータの説明

下の写真は実際に検証に用いたデータテーブルです。

ブログ記事の内容をイメージしやすくするようにダミーデータを入力しています。

検証データ

大事なのは日付カラムです。あとはなんでもいいです。


任意の期間でデータを抽出する方法

頼み事をする上司

任意の期間でデータを抽出する方法で最も手っ取り早いのは、検索条件で検索期間を選択することです。

具体的な手順は、以下を参考にしてください(^^)

日付カラムがDateタイプになっていることを確認
データタイプの確認

日付のデータタイプをDateにすることで”いつからいつまで”の期間を指定することが可能となります。

日付カラムがSearchableになっているかを確認する
searchableの確認

Other PropertiesにあるSearchableにチェックが入っていることを確認します。

ここにチェックが入っているカラムが後述する検索の対象になります(^^)

CSVエクスポートボタンを作成する(任意)

BehaviorペインのActionsタブから新規でアクションボタンを作成します。

CSVエクスポートの作成

赤枠で囲った設定を参考に、CSVエクスポートのアクションボタンを作成します。

Viewの設定

UXペインのViewsタブから新規でTable Viewを作成します。

table viewの作成

CSVエクスポートのアクションボタンについては、以下の設定で使用するのが無難です(^^)

  • ActionのProminenceはDisplay as primary
  • ViewのView typeはtable

CSVエクスポートの検証

CSVエクスポートイメージ

それでは任意の選択期間で必要なデータが抽出できるか確認してみましょう!

今回は日付と生産工場に注目してデータを抽出してみたいと思います(^^)

検索フィルターを表示させる
フィルターアイコンの場所

出現したフィルターアイコンをクリックします。

検索条件のポップアップ

フィルター条件のポップアップが表示します。

日付のStart dateとEnd dateを入力する
開始日と終了日の入力画面

日付の項目をクリックし、開始日(Start date)と終了日(End date)の日付を入力

検索条件に生産工場を加える
生産工場の入力

データタイプがEnumである場合は検索は選択式になり、複数選択も可能

CSVエクスポートアイコンをクリックし、データをダウンロードする
フィルター条件とエクスポート
エクスポート成功

サクセスの画面が出たら無事にデータがエクスポートされ、ダウンロードファイルにデータが保存されます

これで任意の条件でデータを抽出する方法は完了です。お疲れさまでした(^^)

CSVに関する参考記事です

参考記事

動的に抽出期間を変更する方法

自動更新のイメージ

続いて、登録されたデータにおいて動的に抽出する期間を変更する方法を説明します。

これを解決する方法として以下の関数や設定を用います(^^)

  • and()関数eomonth()関数eoweek()関数
  • スライス設定

まずは月単位の表示の設定をしてみましょう!

eomonth()関数

eomonth(イーオーマンス)はend of monthの略称です。

直訳で月の終わりなので、文字どおり月末日を取得する関数です。

eomonth()関数の使い方

eomonth(when,offset-months)

第一引数にDateもしくはDate Timeタイプのカラム値第二引数に数字を送ります。

下のイメージ図を参照すると分かりやすいです(^^)

eomonth関数の説明

eomonth()関数に値を送ったときの返り値を表にまとめました。

関数の入力値返り値備考
eomonth(“2022/6/2”,0)2022/6/30具体的に入力した月の月末日
eomonth(today(),0)2022/5/31today()の月末日
eomonth(today(),-1)2022/4/30today()から1か月前の月末日
eomonth(today(),-2)2022/3/31today()から2か月前の月末日
eomonth(today(),-2)+12022/4/1today()から2か月前の月末日に1日足す
つまり1か月前の月初日
today()=”2022/5/15″とした場合

さらに、このeomonth()関数の返り値をand()関数で繋ぐと狙った期間のデータを抽出することが可能です。

入力する関数の条件式返り値備考
and([日付]>=eomonth(today(),-2)+1,
[日付]<=eomonth(today(),-1))
2022/4/1〜2022/4/30先月分を抽出する条件式
and([日付]>=eomonth(today(),-1)+1,
[日付]<=eomonth(today(),0))
2022/5/1〜2022/5/31今月分を抽出する条件式
and([日付]>=eomonth(today(),-3)+1,
[日付]<=eomonth(today(),0))
2022/3/1〜2022/5/31直近3か月を抽出する条件式
today()=”2022/5/15″とした場合

eomonth()関数を使った汎用性の高い設定となる構文なので、ぜひ覚えておきましょう(^^)

次は週単位での表示設定をしてみましょう!

eoweek()関数

eoweek(イーオーウィーク)はend of weekの略称です。

直訳で週の終わりなので、文字どおり週末日を取得する関数です。

eoweek()関数の使い方

eoweek(when)

括弧の中にDateもしくはDateTimeタイプのカラム値を送ります。

下のイメージ図を参照すると分かりやすいです(^^)

eoweek関数の説明

9月のカレンダーを例に考えてみたいと思います。

today()=”2022/9/21″とした場合のeoweek()関数への入力値とその返り値をまとめました。

2022年9月カレンダー
関数の入力値返り値備考
eoweek(today())2022/9/24今週の土曜日
(eoweek(today())+2)2022/9/26来週の月曜日
(eoweek(today())+6)2022/9/30来週の金曜日
(eoweek(today())-12)2022/9/12先週の月曜日
(eoweek(today())-8)2022/9/16先週の金曜日

eoweek()関数は、括弧の中にtoday()関数もしくはDateタイプのカラム値を送り、その日付が存在する土曜日の値を得ます。その日を基準に何日戻したいか、または進めたいか?

こんなイメージで考えるとイメージしやすいと思います(^^)

さらに、このeoweek()関数の返り値をand()関数で繋ぐと狙った期間のデータを抽出することが可能です。

入力する関数の条件式返り値備考
and([日付]>=(eoweek(today())-5),
[日付]<=(eoweek(today())-1))
2022/9/19〜2022/9/23今週の平日だけを抽出する条件式
and([日付]>=(eoweek(today())-6),
[日付]<=eoweek(today()))
2022/9/18〜2022/9/24今週の1週間を抽出する条件式
and([日付]>=(eoweek(today())-12),
[日付]<=(eoweek(today())-8))
2022/9/12〜2022/9/16先週の平日だけを抽出する条件式

あとはこの条件式をスライス設定に送れば完了です。

スライス機能はぜひ習得しておきましょう

参考記事

まとめ

以上、特定の期間を抽出する方法についての記事でした。

期間を抽出する関数としては

eomonth()関数eoweek()関数

この2つを覚えておけば大丈夫です(^^)

当ブログ記事の内容を理解もしくはお気に入り登録しておいて、必要なときに活用していただけると嬉しいです。

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

2 COMMENTS

ろくしょう

いつもお世話になっております。
質問なのですが、こちらのEoWeekでの範囲を月曜日始まり日曜日終わりに変更することは可能でしょうか?

返信する
k

コメントありがとうございます(^^)
抽出したい期間は「今週の月曜日から来週の日曜日」でしょうか?

and([日付]>=(eoweek(today())-5),[日付]<=(eoweek(today())+1)) こちらの条件式をお試しください。

返信する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA