2024年1月末をもちまして、ウィークリーチャレンジINDEXページから過去30日間のトップ解決策投稿者とトップチャレンジャーランキングセクションを削除いたします。ご心配なく、これらのランキングがなくなってしまうわけではありません。Top Contributors (Alter.Nation内 月間トップ貢献者ポスト・英語のみ)ブログページにて、トップ解決策投稿者は月間発表、トップチャレンジャーは各四半期末ごとの表彰を行います。
Free Trial

ウィークリーチャレンジ

トップになるためのスキルをお持ちですか? ウィークリーチャレンジを購読しましょう。ベストを尽くして問題を解決し、解決策を共有して、他のユーザーがどのように同じ問題に取り組んだのか確認しましょう。私たちも解答例を共有しています。

チャレンジ #50: 月ごとの顧客流失率

Yoshiro_Fujimori
マグネター

回答します。

バッチマクロとしてはシンプルな問題ですね。

スポイラ
メイン
Yoshiro_Fujimori_0-1663822498314.png

バッチマクロ

Yoshiro_Fujimori_1-1663822541205.png


マクロ内でOpen / Close を判別する関数
  コントロールパラメータで取り扱う変数を1か所にまとめた事で見やすくなったかなと(自己満足)。
Start of Month = "2019-06-01"
IsOpened
    IF DateTimeDiff([OpenDate], DateTimeAdd([Start of Month], -2, "years"), "days") >= 0 AND

        DateTimeDiff([Start of Month],[OpenDate],"days") > 0 AND
        (IsNull([CloseDate]) OR DateTimeDiff([CloseDate],[Start of Month],"days") > 0)
    THEN 1

    ELSE 0
    ENDIF
IsClosed
    IF 
DateTimeMonth([CloseDate]) = DateTimeMonth([Start of Month])

    THEN 1
    ELSE 0
    ENDIF

 

YuichiroSuzuki
アステロイド

できました。

スポイラ
スクリーンショット 2023-07-07 135212.pngスクリーンショット 2023-07-07 135220.png

  

iterashima
メテオール

my answer