DAX 和 Power Query | 創建自排序列

在我最近準備並發佈在 LinkedIn 上的 DAX 流行小測驗之後,其中一位回答小測驗的人提出了一個有趣的想法,通過該想法,文本列不再需要數字排序列來按正確順序排列。我嘗試了這種新方法並且效果很好。在今天的教程中,我將向您展示如何使用這種方法創建同時使用 DAX 和 Power Query 的自排序文本列。您可以在本博客底部觀看本教程的完整視頻。

讓我們看一下我們從外部工具獲得的實踐數據集(我們有 LuckyTemplates 擴展日期表)。在此表中,我們有一個名為Month Name 的字段,這是我們要關注的字段。

DAX 和 Power Query |  創建自排序列

讓我們獲取月份名稱並將其拉出到表格中。您會看到它是按字母順序排序的。因此,我們需要解決這個問題,讓它在我們的表格和視覺效果中正常工作。

DAX 和 Power Query |  創建自排序列

目錄

如何在 LuckyTemplates 中使用 DAX 和 Power Query 創建自排序列

讓我們先做Power Query。讓我們轉到我們的日期表,我們將創建一個列並使用一些簡單的 M 代碼。我們將此列稱為“月份名稱”,我們將使用星號來表示它是一個自排序列。

對於公式,我們將使用名為Text.Repeat的函數。它會詢問您要插入或重複的文本,然後是您要重複的次數。我們將使用非打印字符代替一些明確的文本。為此,我們可以使用一個名為Character.FromNumber的函數,我們要使用的數字是 0032,這是非打印空間的數字。我們想重複 12 減去MonthOfYear。然後,我們會將其與月份名稱連接起來。

DAX 和 Power Query |  創建自排序列

這增加了我們的專欄。它看起來一樣,但現在前面有那些非打印空間。

DAX 和 Power Query |  創建自排序列

當我們搜索 Month 時,我們發現帶有自排序的Month Name*字段。我們把它放到一個表中,我們可以看到它不是按字母順序排序,而是實際上是根據空格按時間順序排序。

如果我們在這裡查看Sort by Column,它只是自行排序的。沒有應用額外的排序字段。

DAX 和 Power Query |  創建自排序列

我們也可以在 DAX 中使用非常相似的方法來做到這一點。讓我告訴你如何去做。

首先,讓我們在這裡添加一個自定義列。方法是一樣的。功能有點不同。我們將其稱為帶有雙星號的月份名稱。然後,我們將在 DAX 中使用一個名為的函數,而不是 Text.Repeat 。這是完全相同的結構。它使用文本,然後使用您希望它重複的次數。

因此,對於文本,我們將在 DAX 中使用等效的 Character.FromNumber,即。接下來,我們將有0032,這是我們的非打印空間的數字,然後讓它重複12 減去 MonthOfYear

我們將把它與我們的月份名稱字段連接起來,讓我們使用原始的月份名稱,而不是月份名稱*。我將通過使用LEFT然後使用 3(我們將使用前三個字符)將其截斷為一個短字段,只是為了能夠在視覺中使用它來向您展示它的外觀。

DAX 和 Power Query |  創建自排序列

所以現在,如果我們把它放到一個表中,它就會像 M 代碼那樣按時間順序排序。

DAX 和 Power Query |  創建自排序列

這不僅適用於表格,也適用於視覺效果。


DAX 函數 COLUMNSTATISTICS In LuckyTemplates
擴展日期表 Power Query M 函數
對 LuckyTemplates 中的日期表列進行排序

結論

我認為這是使用 DAX 和 Power Query 在 LuckyTemplates 中創建自排序列的非常酷的技術。我認為這絕對是天才。我非常感謝參與測驗的人指出了這一點。我希望您發現這對您創建和管理文本字段的方式有用。

乾杯,

Leave a Comment

在 Power Automate 中執行直到循環控制

在 Power Automate 中執行直到循環控制

了解有關 Do Until 循環控制如何在 Power Automate 流中工作的基礎過程,並熟悉所需的變量。

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

受限於 LuckyTemplates 中提供的標準視覺效果?學習使用 Deneb 和 Vega-Lite 為 LuckyTemplates 創建自定義視覺對象,提升您的數據可視化能力。

在 Power Automate Desktop 中將日期添加到文件名

在 Power Automate Desktop 中將日期添加到文件名

在此博客中,您將了解如何使用 Power Automate Desktop 自動將日期添加到文件名的開頭或結尾。

Power Query:如何快速添加註釋

Power Query:如何快速添加註釋

找出幾種不同的方法在 Power Query 中添加註釋,這對於不喜歡記筆記的人非常有幫助。

Power Apps – SharePoint 集成指南

Power Apps – SharePoint 集成指南

在此博客中,您將了解 MS Power Apps 界面的基礎知識並了解 Power Apps-SharePoint 集成的過程。

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。