LuckyTemplates で YYWWD コードを日付値に変換する

このブログでは、 YYWWD コードをDate Valueに変換する方法について説明します。メンバーの質問への回答に基づいています 。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

メンバーは、年、週、曜日の形式である配達確認日フィールドを日付フィールドに変換する方法を求めました。

LuckyTemplates で YYWWD コードを日付値に変換する

この例では、メンバーはコード 20145 を 2020-04-03 に変換する必要があると説明しています。このことから、最初の 2 桁が年に対応し、次の 2 桁が週番号に対応し、最後の桁が曜日に対応すると結論付けることができます。

クエリに対処する方法についてはすでにわかったので、始めましょう。

目次

適切な日付値を得るためにコードを分割する

作業を簡単にするために、Power Query エディターにデータをロードしましょう。

データを Power Query にロードしたときに最初に気づいたのは、以下に示すように、タイプの変更ステップがすぐに作成されたことです。

LuckyTemplates で YYWWD コードを日付値に変換する

これは必要ないので、横にある [X] ボタンをクリックしてこのステップを削除できます。

ここで、コードを年、週、曜日ごとに別々の列に分割してみましょう。

年列

前に述べたように、コードの最初の 2 桁は日付値の年に対応します。

年の別の列を追加するには、[確認済みの配達日]列が選択されていることを確認する必要があります。これを行うには、[列の追加] タブに移動し、[抽出]をクリックして、[最初の文字]を選択します。

LuckyTemplates で YYWWD コードを日付値に変換する

年の列には最初の 2 桁だけが必要なので、[カウント] タブに「2」と入力し、[OK] をクリックします。

LuckyTemplates で YYWWD コードを日付値に変換する

次に、数式バーを編集して新しい列を変更しましょう。したがって、列名を変更するには、数式バーの最初の文字を年に変更します。これを適切な年の値に変えるために、それぞれの値に 2000 を加えましょう。

LuckyTemplates で YYWWD コードを日付値に変換する

式を変更すると、型の不一致によりエラーが発生することに注意してください。

エラー メッセージには、演算子 + を数値およびテキスト型の値に適用できないことが示されています。

LuckyTemplates で YYWWD コードを日付値に変換する

これを修正するには、テキスト値が数値に変換されるように数式を編集する必要があります。これを行うには関数Number.fromを使用し、後続の部分を括弧で囲みます。次に、戻り値の型をテキストから数値に変更します。

LuckyTemplates で YYWWD コードを日付値に変換する

週のコラム

コードから週番号を抽出しましょう。

もう一度、 「確認済み配達日」列が選択されていることを確認し、「列の追加」タブに移動して「抽出」をクリックし、「範囲」を選択します。

LuckyTemplates で YYWWD コードを日付値に変換する

Power Query はゼロベースであるため、コードの 3 桁目と 4 桁目を取得するには、0 からカウントを開始する必要があります。これは、コードの 3 桁目を取得するには、範囲が 2 から始まる必要があることを意味します。

週番号のコードには 2 桁しか必要ないため、[文字数] フィールドに 2 を入力します。

LuckyTemplates で YYWWD コードを日付値に変換する

ここでも同じロジックが当てはまります。列ラベルを適切な名前に変換するには、数式バーで「テキスト範囲」を「週」に変更します。

また、数式にNumber.from関数を追加し、後続の部分をかっこで囲み、戻り値の型を数値に変更します。

LuckyTemplates で YYWWD コードを日付値に変換する

曜日コラム

日の列には、コードの最後の桁のみが必要です。これを抽出するには、[確認済み配達日]列を選択し、[列の追加] タブに移動して、[抽出] を選択し、[最後の文字]をクリックします。

抽出する必要があるコードには 1 桁しか残っていないため、1 を入力します。

LuckyTemplates で YYWWD コードを日付値に変換する

先ほどと同様に、数式バーで最後の文字を「日」に変更し、新しい列に適切な名前が付けられるようにします。

もう一度、Number.from関数を追加し、数式の次の部分をかっこで囲み、戻り値の型を数値に変更します。

LuckyTemplates で YYWWD コードを日付値に変換する

日付値を取得するための 3 方向ルックアップ

カレンダー テーブルから 1 つの日付を取得するためのコンポーネントがすべて揃ったので、あとは3 方向ルックアップを実行するだけです。

これを行うには、[ホーム] タブに移動し、[クエリのマージ] を選択します。

LuckyTemplates で YYWWD コードを日付値に変換する

Dates テーブルと結合するので、ドロップダウン タブをクリックして Dates を選択します。

LuckyTemplates で YYWWD コードを日付値に変換する

ペアの識別

次に、一緒に属するペアを特定します。

上の表から年の列を選択し、それを下の表の年の列とペアにします。

別のペアを選択するには、キーボードの Ctrl ボタンを押して、上の表から週の列を選択し、それを下の表の週番号の列とペアにします。

最後に、Ctrl ボタンを押したまま、上の表から日列を選択し、それを下の表の DayInWeek 列とペアにします。

LuckyTemplates で YYWWD コードを日付値に変換する

列が正しくペアになっていることを確認するには、インデックス番号が互いに一致するかどうかを確認します。

以下に示すように、年列にはインデックス 1、週列にはインデックス 2、日列にはインデックス 3 が必要です。

LuckyTemplates で YYWWD コードを日付値に変換する

適切な日付値の取得

必要なのは日付列のみであるため、他のすべての列の選択を解除し、以下に示すように日付列をオンのままにします。

LuckyTemplates で YYWWD コードを日付値に変換する

ご覧のとおり、新しい日付列の最初の値は 4-4-2020 です。ただし、フォーラムでは、コード 20145 は 3-4-2020 に変換される必要があることに注意してください。

LuckyTemplates で YYWWD コードを日付値に変換する

これは、日付テーブルを調べると、DayInWeek 列のカウントが 1 から 7 ではなく 0 から 6 で始まっていることがわかるためです。

LuckyTemplates で YYWWD コードを日付値に変換する

「日」列からの減算

これを修正するには、日列のすべての値から 1 を減算します。

[適用されたステップ] セクションで、日列を追加したステップをクリックします。これは「最後の文字の挿入」ステップでした。

LuckyTemplates で YYWWD コードを日付値に変換する

数式バーで、かっこの直後に 1 を減算します。

LuckyTemplates で YYWWD コードを日付値に変換する

これを実行すると、日付列にすでに正しい値が入っていることがわかります。

最後に、最後に行う必要があるのは、不要になった列をクリーンアップして削除することです。

これを行うには、[列の選択] を選択し、他のすべての選択を解除し、[確認済み配達日] 列と日付列をオンのままにします。

LuckyTemplates で YYWWD コードを日付値に変換する

これで完了です!作業の結果は次のようになります。

LuckyTemplates で YYWWD コードを日付値に変換する


LuckyTemplates で現在日または特定の日付までの結果を表示する LuckyTemplates の計算列を使用して��カスタム会計年度および四半期による
前方フィルター データの予測から年初から現在までの結果を表示できないようにする

結論

このブログでは、年、週、曜日形式のコードを適切な日付値に変換しました。コードを分割し、そこから 3 つの列を作成しました。3 方向ルックアップを使用して、これらの列を結合して、単一の日付値を取得しました。

サポート フォーラムで問題に対処するために使用した手法は、他のシナリオでも使用できます。したがって、それらをよく理解してください。

ではごきげんよう、

メリッサ

Leave a Comment

Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。