Challenge #87: Losing Daylight ~日の長さの変化~ – Alteryx Weekly Challenge

2019.08.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。

Alteryx Communityで公開されているWeekly Challengeに挑戦するシリーズ。今回は日の長さの変化に挑戦します。

動作環境

当エントリの執筆には、以下の環境を利用しています。

  • Windows 10 Pro
  • Alteryx Designer 2019.2.7.63499 英語版

Challenge #87: Losing Daylight

お題

今回挑戦するお題はこちら。

Input側のデータはこちら。

Output側のデータはこちら。「Day Length (minutes)」列に日の長さ、「Day Length Diff」列に前日との日の長さの差を出力しています。また、行の最後には「September Total」が追加されており、9月のはじめと終わりの日の長さの差が出力されています。

解答

今回作成するワークフローはこちら。

Filterツールで初めの行のNullを削除したのち、Formulaツールで「Sunrise」列と「Sunset」列の左から4文字を抜き出してデータを整え、「Day Length (minutes)」列を作成します。「Day Length (minutes)」列では、「Sunrise」列と「Sunset」列をTime型に変換してから分単位の差分を出力しています。

9月1日から30日の「Day Length Diff」列の準備

9月1日から30日の「Day Length Diff」列を準備します。

Multi-Row Formulaツールで「Day Length Diff」列を作成します。「Day Length (minutes)」列の前日との差分を出力します。

Selectツールで「Sep」列をV_WString型に変更し、「Date」に名前を変更します。データは以下のようになっています。

「September Total」の作成

「September Total」を作成します。

Summarizeツールで「Sep」列と「Day Length (minutes)」列の最小値と最大値を出力します。

Formulaツールで「September Total」を作成します。「Date」列には「September Total」、「Sunrise」列と「Sunset」列はNullを出力します。「Day Length Diff」列には、Summarizeツールで用意した「Day Length (minutes)」列の最小値と最大値を使って、最小値 - 最大値を出力します。

Selectツールで不要な列を削除して、以下のデータが準備できました。

データの結合

再度にデータの結合を行います。

UnionツールのAuto Config by Nameで2つのデータを結合し、9月1日から30日のデータの後に「September Total」がくるように設定します。

結果を確認して完成です。

最後に

今回はChallenge #87: Losing Daylightに挑戦しました。

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

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

alteryx_960x400