LuckyTemplates での日付テーブルの列の並べ替え

今日のブログでは、 LuckyTemplates フォーラムで常に寄せられる質問について説明します。拡張日付テーブル列のフィールドを適切に並べ替えるにはどうすればよいでしょうか? このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

エキスパートの 1 人である Melissa Dekorte によって開発された M コード ショーケースの拡張日付テーブルを指します。

このブログ投稿の例は、7 月に始まる会計年度で 2018 年から 2020 年まで実行される単純なアプリケーションです。メンバーは、月の名前を並べ替える方法を知りたいと考えていました。また、月に関連するフィールドの 1 つを並べ替えようとしていました。

これは、日付テーブルの列を効果的に並べ替える方法です。

LuckyTemplates での日付テーブルの列の並べ替え

拡張日付テーブルには多くのフィールドがあります。率直に言って、それらを整理整頓するのは難しい場合があります。

これが、特定の日に各フィールドがどのように見えるか、その形式と内容を示すこのチートシートを作成した理由です。

ほとんどの場合、これを使用して、あるフィールドを別のフィールドに基づいて並べ替える方法を理解できます。

LuckyTemplates での日付テーブルの列の並べ替え

私たちは月の名前を持っていますが、フォーラムのメンバーはそれを整理するためにMonthnyearを使用しようとしていました。

拡張日付テーブルで月の名前を見つけてみましょう。[フィールド] ペインで[月名]を選択し、[列による並べ替え]に移動して、Monthnyearを探します。

LuckyTemplates での日付テーブルの列の並べ替え

これをクリックすると、Month Name の同じ値に対して Monthn Year に複数の値を含めることはできないというエラー メッセージが表示されます。

LuckyTemplates での日付テーブルの列の並べ替え

これは粒度の問題に帰着します。並べ替えようとしているフィールドと並べ替えに使用しているフィールドの間には 1 対 1 の関係が必要です。

この場合、2018、2019、および 2020 の特定の月について、Monthnyearフィールドに 3 つの異なる値を設定できます。このため、1 対 1 の関係を持つものを見つける必要があります。

チートシートに戻ると、Monthofyear が単なる月の数値であることがわかります。これにより、私たちが探している 1 対 1 の関係が得られます。これは、1 月は 1、2 月は 2 などに対応することを意味します。

「列で並べ替え」をクリックし、「年の月」で並べ替えると、フィールドまたはテーブルの列が適切に並べ替えられます。

LuckyTemplates での日付テーブルの列の並べ替え

LuckyTemplates での日付テーブルの列の並べ替え

次の月と年は少し難しくなります。これは、短い月と年を含む複合フィールドです。

LuckyTemplates での日付テーブルの列の並べ替え

まず年ごとに並べ替え、次に月ごとに並べ替えるものを見つける必要があります。[フィールド] ペインで[Monthnyear]をクリックし、 [列で並べ替え]に移動すると、最初に使用しようとしたMonthnyear が完全に一致します。

LuckyTemplates での日付テーブルの列の並べ替え

Month & Year テーブル列では、すべてが完全にソートされていることがわかります。

LuckyTemplates での日付テーブルの列の並べ替え

これで最初の 2 つが完了しました。しかし、最後は本当に行儀の悪い分野です。

LuckyTemplates での日付テーブルの列の並べ替え

これにはいくつかの理由から問題があります。2 つのテキスト フィールドが連結されており、会計月フィールドは埋め込まれていません。

最終的には、 4 桁の会計年度があり、その後に 2 桁の会計月が埋め込まれた、このMonthnyearと同様のものを実現したいと考えています。

LuckyTemplates での日付テーブルの列の並べ替え

これを行う最も簡単な方法は、パワー クエリを使用することです。

「データの変換」に進みます。

LuckyTemplates での日付テーブルの列の並べ替え

次に、Dates テーブルに移動し、カスタム列を追加します。

LuckyTemplates での日付テーブルの列の並べ替え

このカスタム列を「会計年度会計月ソート (FYFM ソート)」と呼びましょう。

LuckyTemplates での日付テーブルの列の並べ替え

まず、テキストの接頭辞 (年の最初の 2 桁を表す 20) を指定し、それをTex.Middleという関数と連結します。この関数は、より大きなテキスト文字列から部分文字列を抽出します。これはDAX 関数 MIDに似ていますが、この 2 つの違いを説明します。

LuckyTemplates での日付テーブルの列の並べ替え

これを会計年度フィールドで使用します。

LuckyTemplates での日付テーブルの列の並べ替え

DAX では、部分文字列を取得する場合、1 から始まるインデックスが使用されます。3 番目の文字を取得するには、3 を使用する必要があります。パワー クエリでは、これは 0 から始まるインデックスなので、3 番目の文字は 012 になります。

3 番目の文字である 2 から始めます。会計年度フィールドから 2 番目の数字のペアを取得するために、2 つの文字を返したいと考えています。

LuckyTemplates での日付テーブルの列の並べ替え

次のステップでは、これをパッドされた会計月フィールドと連結します。

DAX では、LENGTH 関数と IF 関数を使用する必要があるため、手動でパディングできます。

パワークエリには、そのすべてを実行する関数があります。これはText.PadStartです。

会計期間は数値フィールドであるため、 Text.Fromという関数を使用して、数値を埋め込み可能なテキスト値に変換する必要があります。次に、会計期間フィールドを取得します。

LuckyTemplates での日付テーブルの列の並べ替え

文字が 2 つあることを確認したいと思います。1 文字の場合は 0 で埋められます。

LuckyTemplates での日付テーブルの列の並べ替え

「OK」ボタンをクリックすると、4 桁の会計年度が表示され、次に 2 桁が埋め込まれた会計月が表示されます。

LuckyTemplates での日付テーブルの列の並べ替え

次に、 「ホーム」に戻り、「閉じて適用」をクリックします。

FM & FY フィールドを列ごとに並べ替えると、会計年度、会計月の順に完全に並べ替えられるようになります。

LuckyTemplates での日付テーブルの列の並べ替え

結論

このブログでは、LuckyTemplates で日付テーブルの列を並べ替える方法について説明しました。これは、いくつかのカスタム関数を構築することから得られた、難しい分野に適した戦略です。この一般的なツール セットが独自のレポート開発に役立つことがわかっていただければ幸いです。

まだ登録していない場合は、LuckyTemplates TVチャンネルに登録してください。今後、さらに多くのコンテンツが公開される予定です。

乾杯!

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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。