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

乾杯、


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて