Alteryxで日付期間を動的に指定してフィルタリングを行う方法

おはようございます。DA部の兼本です。

今回は、Alteryxで日付期間による検索を行う方法をいくつかご紹介します。

固定の日付期間で検索する方法

日付期間を固定で検索する方法は簡単です。読み込んだデータに対してフィルタツールを接続し、基本フィルタで検索対象となるフィールド(今回は「受注日」)を選択します。
日付の開始と終了を指定する場合は条件として「範囲」を選択して、「開始日」と「終了日」をそれぞれ入力します。

(ワークフロー)

(フィルタツールのプロパティ)

これで、固定の日付期間に絞り込んでフィルタリングすることができます。

開始日と終了日を動的に指定する方法

日付期間で検索する場合、任意の期間を指定したいことが多いかと思います。
特にワークフローを実行する際に動的に検索条件を変える方法はよくご質問をいただきます。

このような場合、Alteryxではインターフェースツールを使用して分析アプリ(Analytic App)を作成します。

今回の場合は、日付期間を動的に検索したいので、先ほど作成したワークフローにインターフェースタブにある「日付」ツールを配置します。
日付ツールの出力アンカー(虫眼鏡の形)をドラッグして、フィルタツール上部右側の入力アンカー(稲妻の形)に接続します。

すると、自動的に「アクション」ツールが配置されます。

「アクション」ツールのプロパティを表示して、「日付」ツールから受け取った値を反映する属性を選択します。
フィルタツールで「カスタムフィルタ」を使用している場合は「Expression - Value」の式を直接更新できるのですが、今回は「基本フィルタ」を使用しているので、「Simple > Operands」から「StartDate - Value」を選択します。
これで、基本フィルタの「開始日」で指定した値を更新することができます。

次に終了日に対する処理を作成します。もうひとつ「日付」ツールを配置して、先ほどと同様に「フィルタリング」ツールに接続します。

「アクション」ツールのプロパティを表示して、「Simple > Operands」から「EndDate - Value」を選択します。

これで設定は完了です。
ワークフローを分析アプリとして実行するには、実行ボタンの左にある「分析アプリとして実行」ボタンを押下します。

実行すると、以下のようなパラメタ入力画面が表示されます。

開始日を2019年10月1日、終了日を2019年10月5日として完了ボタンを押下し、ワークフローを実行すると指定した日付期間に絞り込んだデータが表示されました。

開始日からXX日までの期間を動的に指定する方法

開始日を入力したら自動的に開始日からXX日後までのデータをフィルタリングする方法についてもご紹介します。
これを実現するには、DateTimeAdd()という関数を使用する必要があるのですが、基本フィルタでは関数を使った条件式を作ることはできないので、フィルタツールの設定を見直してカスタムフィルタを選択します。
以下のような条件式を作成して開始日を含め5日分のデータを検索するように設定しています。

[受注日] >= "2019-10-18" AND
[受注日] <= datetimeadd("2019-10-18",4,"days")

ワークフローはこんな感じ。終了日は自動的に設定するので、終了日側の「日付」ツールと「アクション」ツールは削除しました。

そして、こちらが「アクション」ツールの設定です。
カスタムフィルタを使用している場合は、「Expression - value」属性の値を更新します。また、プロパティ下部の「特定の文字列を置き換えます。」のチェックを有効にし、その下のテキストボックスに更新したい文字列(今回の場合は、「2019-10-18」という日付文字列)を指定することで、「Expression - value」属性に含まれる文字列を意図する形に上書きすることができます。

ワークフローを分析アプリとして実行すると、開始日のみを聞いてきますので「2019年9月1日」を選択して、完了ボタンを押下します。

期待通りに受注日が2019年9月1日から2019年9月5日までのデータを取得することができました。

まとめ

いかがでしたか。今回はインターフェースツールを使って、動的に日付期間を変更する方法についてご紹介いたしました。
インターフェースツールはフィルタツール以外のさまざまなツールと組み合わせることができ、非常に汎用性の高いツールですので、ぜひ使ってみてください。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400