
Exploratoryの条件付き元にした計算機能を使用すると、日付の「月の日」を条件として、特定の日にのみ異なる計算を適用することができます。
これにより、例えば、毎月特定の日だけポイント還元率が変わるといったビジネスルールをデータ上で簡単に再現することが可能です。
月次のキャンペーンや特定日に異なるルールが適用されるビジネスロジックを持つデータを扱っている方にお役立ていただける機能です。
ECサイトやスーパーマーケットなど、通常は売上の1%がポイントとして還元されるが、毎月20日だけ3%に変わるといった特殊なルールが存在する場合、注文日の「日」の部分を条件として、ポイントの計算式を切り替える必要があります。
しかし、通常の計算では日付全体を条件に使うことが多く、「月の日」だけを取り出して条件設定する方法がわかりにくいことがあります。
日付データには「年」「月」「日」といった各要素が含まれており、特定の「年」「月」「日」だけを数値として取り出して条件に使うことが可能です。
これにより、例えば、「何年何月何日」という日付から「何日」の部分だけを数値データとして扱い、条件設定に利用することが可能です。
今回は1行が1つの注文を表し、列には顧客情報・注文日・商品情報・売上などの情報を持つデータを利用します。

注文日の「月の日」を条件として、売上に対する掛け率を切り替えるポイント列を作成します。
売上の列のヘッダーメニューから「計算を作成」、「条件付き」を選択します。

条件付き計算のダイアログが開いたら、「条件を追加」をクリックします。

条件を設定するためのダイアログが開いたら、列に「注文日」、演算子に「等しい」を選択し、条件の値のタイプに「日 - 月の日」を選択します。

「日 - 月の日」は日付データから「何日」にあたる部分を数値として取り出すもので、今回のように特定の日付を条件にしたい場合に利用します。
続いて、値に「20」を入力します。これにより「注文日の月の日が20日の時」という条件が設定されます。

条件が設定できたら、その場合に適用する新しい値の設定ボタンをクリックし、「計算」を指定し、新しい値のダイアログが開きます。

今回は20日には3%のポイントを還元する計算を行いたいので、「売上 * 0.03」と入力してOKボタンをクリックします。これで20日の場合は売上の3%がポイントとして計算されます。

次に、それ以外の場合(デフォルト)の処理を設定します。新しい値のタイプに「計算」を選択し、計算式のダイアログが開きます。

「売上 * 0.01」と入力してOKボタンをクリックします。これで20日以外の場合は売上の1%がポイントとして計算されます。

新しい列名に「ポイント」と入力し、実行ボタンをクリックします。

これで20日のみ3%、それ以外は1%でポイントを計算した新しい列が作成できました。注文日の月の日が20日の行では3%で計算されたポイントが、それ以外の行では1%で計算されたポイントが設定されていることを確認できます。
