DAX 和 Power Query | 創建自排序列

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 中創建自排序列的非常酷的技術。我認為這絕對是天才。我非常感謝參與測驗的人指出了這一點。我希望您發現這對您創建和管理文本字段的方式有用。

乾杯,


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

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

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

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

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

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

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

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

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

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

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

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

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

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

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的