DAX とパワークエリ | 自己ソート列の作成

DAX とパワークエリ | 自己ソート列の作成

私が準備して LinkedIn に投稿した最近の DAX ポップ クイズに続いて、クイズに回答した人の 1 人が、テキスト列を適切な順序に並べるための数値並べ替え列が不要になるという興味深いアイデアを提案しました。この新しいアプローチを試してみたところ、見事に機能しました。今日のチュートリアルでは、このアプローチを使用して、DAX と Power Query の両方を使用する自己並べ替えテキスト列を作成する方法を説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

外部ツールから取得した練習データ セットを見てみましょう (LuckyTemplates 拡張日付テーブルを取得しました)。このテーブルには、 Month Nameという名前のフィールドがあり、これに焦点を当てます。

DAX とパワークエリ |  自己ソート列の作成

月の名前を取得してテーブルに取り出してみましょう。アルファベット順にソートされていることがわかります。したがって、テーブルやビジュアルで適切に機能させるには、この問題に対処する必要があります。

DAX とパワークエリ |  自己ソート列の作成

目次

LuckyTemplates で DAX と Power Query を使用して自己並べ替え列を作成する方法

まずはPower Queryをやってみましょう。Dates テーブルに移動して列を作成し、簡単な M コードを少しだけ使用します。この列を月名と呼び、それが自己並べ替え列であることを示すためにアスタリスクを使用します。

数式にはText.Repeatという関数を使用します。挿入または繰り返したいテキストと、それを繰り返す回数を尋ねます。明示的なテキストの代わりに、非印刷文字を使用します。そのために、Character.FromNumberという関数を使用できます。使用する番号は、非印刷スペースの番号である 0032 です。これを 12 からMonthOfyearを引いた数だけ繰り返します。次に、それを月名と連結します。

DAX とパワークエリ |  自己ソート列の作成

それが私たちのコラムに追加されます。見た目は同じですが、前面に非印刷スペースが追加されました。

DAX とパワークエリ |  自己ソート列の作成

「月」を検索すると、自己ソートで「月名*」フィールドが見つかります。これをテーブルに投げ込むと、アルファベット順に並べ替えるのではなく、実際にはスペースに基づいて時系列に並べ替えていることがわかります。

ここでSort by Columnを見ると、それ自体がソートされているだけです。追加の並べ替えフィールドは適用されていません。

DAX とパワークエリ |  自己ソート列の作成

DAX でも同様のアプローチを使用してこれを行うこともできます。その方法を説明しましょう。

まず、ここにカスタム列を追加しましょう。方法論は同じです。機能は少し異なります。これを、二重アスタリスクを付けた「月名」と呼びます。という関数を使用します。全く同じ構造ですね。テキストを使用し、それを繰り返す回数を指定します。

を使用します。次に、非印刷スペースの番号である0032 を取得し、それを12 から MonthOfyear を引いた数だけ繰り返します。

これを月名フィールドと連結し、月名* ではなく、元の月名を使用しましょう。LEFTを使用してこれを短いフィールドに切り詰め、次に 3 (最初の 3 文字だけを取得します) を使用して、それがどのように見えるかをビジュアルで使用できるようにします。

DAX とパワークエリ |  自己ソート列の作成

これをテーブルに取り込むと、M コードとまったく同じように時系列に並べ替えられます。

DAX とパワークエリ |  自己ソート列の作成

これはテーブルだけでなく、ビジュアルでも機能します。


LuckyTemplates の DAX 関数 COLUMNSTATISTICS
拡張日付テーブル
LuckyTemplates の日付テーブルの列を並べ替えるPower Query M 関数

結論

これは、DAX と Power Query を使用して LuckyTemplates で自己並べ替え列を作成するための非常に優れたテクニックだと思います。まさに天才だと思いました。ご指摘いただきましたクイズ参加者様には大変感謝しております。テキスト フィールドの作成および管理方法に関して、これが役に立ったことを願っています。

乾杯、


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