[時系列フィラー]ツールは、時系列データのデータストリームを取り込み、時系列内の空白を埋めます。
このツールは、主にダウンストリームの時系列関連のツールとマクロを使用するための準備ステップとして使用されます。 データストリームに時系列の空白が含まれている場合、たとえば、5分おきの測定値が含まれると思われる一連のデータがあるが、実際には5分おきの測定値がすべてあるわけではない場合、時系列ツールに予期しない結果やエラーが発生することが時々あります 。 データストリームに空白がある可能性があると思われる場合は、いつでもこのマクロを使用してください。
このツールはRプログラミング言語を使用します。 オプション > 予測ツールをダウンロードの順にポイントして、RとRツールが使用するパッケージをインストールします。
マクロは、日付または日付/時刻の列を持つデータストリームを受け入れます。
日付または日時の列を選択する: データ行が収集された日を示す日付または日時の列を選択します。
間隔: 時系列を測定する間隔を選択します。 オプション:
インクリメント: ユニークな時系列の各期間を区切るインクリメントを選択します。 オプション:
1〜100の任意の整数
たとえば、「3週間ごと」に広がる時系列を生成するには、間隔に対して「週」を選択し、インクリメントに対して3を選択します。
マクロに入るすべての行が出力に表示されます。 さらに、マクロは、時系列の期間が欠落しているかどうかを評価し、欠落している場合は、空白を「埋める」行を生成します。
このツールは、着信データストリームに2つのデータ列を付加します。
OriginalDateTime: 元の、変更されていない日時j値を含む日時列
FlagGeneratedRow: データ行が時系列の空白を埋めるマクロによって生成されたことを示す 「真」を伴うブールフラグ列。「偽」は、それがソースデータ行であることを示します。
マクロを通過するソースデータ行の場合:
FlagGeneratedRow列は「偽」を読み込み、それがマクロによって生成された行ではなく、ソースデータ行であることを示します。
[yourDateTimeColumn]列は、適切な期間に「丸められ」ます。 以下の「丸め」セクションを参照してください。
他のすべてのソース列は変更されずに通過します。
空白を埋めるために生成された行の場合:
FlagGeneratedRow列は「真」を読み込み、それがソースデータ行ではなくマクロによって生成された行であることを示します。
[yourDateTimeColumn]列には、時系列で識別された空白を「埋める」マクロによって生成された日付または日時値が追加されます。
その他の列はすべてNULLになります。
最も一般的なビジネス使用シナリオごとに、時系列の期間は次のように処理されます。
「時間レベル」: 間隔の場合
「日付レベル」: 間隔 > = 1日の場合、期間は「期間終了」です。
例については、テーブルを参照してください。
マクロが着信データを作る唯一の変更: 「丸め」は[yourDateTimeColumn]に適用されます。 これは3つの重要な要素に基づいています。
まず、選択された間隔のすべての端数が切り捨てられます。 たとえば、間隔として「時」を選択すると、マクロは日時の値から分と秒を切り捨てます。したがって、1:58 pmは1:00pmになります。
選択した間隔の端数を切り捨てた後、マクロは有効期間が何であるかを決定します。 マクロに入る最も古い日時の値が、シリーズの基礎を形成します。 上記の「時系列」の例を続けると、[yourDateTimeColumn]の最も古い日時が午後1:58pmだった場合、最初の期間は1:0pmです。 選択されたインクリメントが5である場合、後続の期間は、選択された 前の期間へのインクリメント、5を逐次加算することに基づいて生成され、この場合は1:00pm、6:00pm、11:00pmなどとなります。
最後に、すべての有効期間が決定されたので、すべての日時値が適切な有効期間に調整されます。 したがって、[yourDateTimeColumn]の5:59pmの生の値は1:00pmになり、, 6:02pmは6:00pmになります。
マクロによって日時の調整がすべて適用された後、[yourDateTimeColumn]の結果は、実際にはその期間の「ラベル」になります。 しかし、データ型は(文字列ではなく)日付または日時の列であるため、この「ラベル」は完全に直観的にならない可能性があります。 もっとも重要なことは、選択された間隔の「分数」である付または日時「ラベル」のどの部分も無視される必要があることを認識することです。 したがって、間隔が「年」の場合、例の期間は「2018-01-01」になりますが、これはラベルでは重要な問題となります。「01-01」というラベルの小数部分は無視される必要があります。つまり、期間は単に2018年、つまり「2018年の任意の時間」になります。 以下のテーブルを参照してください。
上で説明した日時の「丸め」とは別に、マクロは着信データを変更しないことにご注意ください。 これは着信データの結合、要約、一意性、または任意のタイプの検証を行いません。 ただし、日付の丸めのため、同じ期間内の複数の測定に同じ期間ラベルが付きます。 このように、データは今やよりクリーンになり、データはこの一貫性のある、丸められた期間ラベル「によりグループ化」できるためため、いつでもサマライズできるようになります。
マクロは夏時間を考慮していないので、夏時間のカットオーバを超える時間レベルの時系列がある場合、マクロが無効な時間を表す1時間の行(または分の行)を生成する可能性があります。 たとえば、3月に「春に進める」1時間の領域は、たとえその時間が実際には発生しない場合でも、春に進める日no2amに対して行を生成します。 (時計は1:59:59から3:00:00に切り替わります。) この時は、マクロの後のフィルタリングツールで簡単に削除できます。
明確にするために、次のテーブルは使用可能な間隔オプションをリスト表示し、続いてそのデータ型が返されますが、その間隔タイプの期間が「期間開始」によるものか「期間終了」間隔によるものかは問いません。 次に、テーブルには例のインクリメントと時系列の「最初の生の値」が表示され、結果の期間「ラベル」がどのようなものになるかが示され、英語の説明で期間ラベルが実際に意味するものを示しますと。 最後に、テーブルでは、期間ラベルのどの部分、すなわちその間隔の分数である部分を本質的に無視すべきかが指摘されます。
間隔 | 返されるデータ型 | 期間の開始/終了 | 例のインクリメント | 最初の生の値の例 | 最初の期間レベルの結果 | 期間の説明 | 期間ラベルを無視する |
---|---|---|---|---|---|---|---|
分 |
日付時刻 | 開始する | 2 | 2015/04/09 2:16:33 | 2015/04/09 2:16:00 | 「2:16に始まる2分の期間は、2:16と2:17のすべてに及びます」 | 秒 |
時 |
日付時刻 | 開始する | 4 | 2015/04/09 2:16:33 | 2015/04/09 2:00:00 | 「2に始まる4時間は2、3、4、5の時間のすべてに及びます。」 | 分以下 |
日 |
日付 | 終わり | 6 | 2015/04/09 2:16:33 | 2015-04-09 | 「4/9に終わる6日間は、4/4~4/9のすべてに及びます。」 | 時以下 |
週 |
日付 | 終わり | 1 | 2015/04/09 2:16:33 | 2015-04-09 | 「4/9に終わる1週間は、4/3から4/9のすべてに及びます。」 | 時以下 |
月 |
日付 | 終わり | 3 | 2015/04/09 2:16:33 | 2015/04/01 | 「4月に終わる3月の期間は、2月、3月、4月のすべてに及びます。」 | 日数以下 |
年 |
日付 | 終わり | 2 | 2015/04/09 2:16:33 | 2015/04/01 | 「2014年に終わる2年間は、2014年と2015年のすべてに及びます。」 | 数ヶ月以下 |
© Alteryx, Inc All Rights Reserved Allocate®、Alteryx®、 Guzzler®、Solocast®はAlteryx, Inc.の登録商標です。