什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
在此博客中,我們將討論如何將YYWWD 代碼轉換為日期值。本教程基於對 成員的查詢的回复。您可以在本博客底部觀看本教程的完整視頻。
該成員要求一種方法將他的Confirmed delivery date 字段轉換為年、週、星期幾格式,並將其轉換為日期字段。
在他的示例中,該成員解釋說代碼 20145 應轉換為 2020-04-03。所以由此,我們可以得出結論,前兩位對應年份,後兩位對應週數,最後一位對應星期幾。
現在我們已經知道如何處理查詢,讓我們開始吧。
目錄
分解代碼以獲得正確的日期值
為了使我們的工作更輕鬆,讓我們在Power Query 編輯器中加載數據。
當我將數據加載到 Power Query 時,我注意到的第一件事是它立即進行了更改類型步驟,如下所示。
由於我們不需要這個,我們可以通過單擊它旁邊的 X 按鈕來刪除這個步驟。
現在,讓我們開始將代碼分解為年、周和星期幾的單獨列。
年份欄
正如我前面提到的,代碼的前兩位數字對應於日期值的年份。
要為年份添加一個單獨的列,我們需要確保選中確認交貨日期列。為此,請轉到“添加列”選項卡,單擊“提取”,然後選擇“第一個字符”。
由於我們只需要年份列的前兩位數字,因此在“計數”選項卡中輸入“2”並單擊“確定”。
現在,讓我們通過編輯公式欄來修改我們的新列。因此,要更改其列名,請將公式欄中的第一個字符更改為年份。要將其轉換為正確的年份值,讓我們將 2000 添加到我們的每個值中。
請注意,在我們修改公式後,我們將收到由於類型不匹配而導致的錯誤。
錯誤消息說我們不能將運算符 + 應用於數字和文本類型值。
要解決此問題,我們需要編輯公式,以便將文本值轉換為數字。我們將使用函數Number.from來執行此操作並將後續部分括在括號中。然後,將返回類型從文本更改為數字。
週專欄
現在讓我們從代碼中提取周數。
再次確保已選擇確認交貨日期列,轉到添加列選項卡,單擊提取,然後選擇範圍。
要獲得我們代碼的第三和第四位數字,我們需要從 0 開始計數,因為 Power Query 是從零開始的。這意味著要獲得我們代碼的第三位數字,我們的範圍應該從 2 開始。
由於我們只需要代碼中的 2 位數字來表示週數,因此我們將在“字符數”字段中輸入 2。
同樣,這裡也適用相同的邏輯。要將列標籤轉換為其正確名稱,請在公式欄中將文本範圍更改為周。
此外,在我們的公式中添加Number.from函數,將後續部分括在括號中,並將返回類型更改為數字。
日專欄
對於日列,我們只需要代碼的最後一位。要提取它,請選擇Confirmed delivery date列,轉到 Add Column 選項卡,選擇 Extract,然後單擊Last Characters。
輸入 1,因為我們需要提取的代碼只剩下一位數字。
就像我們之前所做的那樣,在公式欄中,將最後一個字符更改為日,以便我們的新列具有正確的名稱。
同樣,添加Number.from函數,將公式的以下部分括在括號中,並將返回類型更改為數字。
獲取日期值的三向查找
現在我們已經擁有了從日曆表中檢索單個日期的所有組件,唯一剩下要做的就是執行3-way lookup。
為此,請轉到“主頁”選項卡並選擇“合併查詢”。
由於我們要與 Dates 表合併,因此單擊下拉選項卡並選擇 Dates。
識別對
現在,我們要確定屬於一起的對。
從上表中選擇年份列,然後將其與下表的年份列配對。
要選擇另一對,請按下鍵盤上的 Ctrl 按鈕,從上表中選擇週列並將其與下表的周數列配對。
最後,在仍然按住 Ctrl 按鈕的同時,從上表中選擇日期列,並將其與下表的 DayInWeek 列配對。
為確保列正確配對,請檢查索引號是否相互匹配。
如下所示,Year 列應具有索引 1,Weeks 列應具有索引 2,而 Days 列應具有索引 3。
獲取正確的日期值
因為我們只需要日期列,所以取消選擇所有其他列,並讓日期列保持選中狀態,如下所示。
如您所見,我們新日期列中的第一個值是 4-4-2020。但是,請記住,在論壇中,代碼 20145 應轉換為 3-4-2020。
這是因為如果我們檢查我們的日期表,我們可以看到在 DayInWeek 列中,計數從 0 到 6 而不是從 1 到 7。
從日期列中減去
要解決此問題,讓我們從 Day 列中的所有值中減去 1。
在 Applied Steps 部分,單擊我們添加了日期列的步驟。這是Inserted Last Characters步驟。
在公式欄中,在括號後減去 1。
這樣做之後,我們可以看到我們的日期列中已經有了正確的值。
最後,我們需要做的最後一件事是清理並刪除我們不再需要的列。
為此,請選擇“選擇列”,取消選擇其他所有內容,並選中“確認交貨日期”列和日期列。
我們完成了!我們的工作結果應該是這樣的。
在 LuckyTemplates 中顯示截至當前日期或特定日期的結果
防止年初至今結果
使用 LuckyTemplates 中的計算列按自定義財政年度和季度預測正向過濾數據
結論
在此博客中,我們將年、周和星期幾格式的代碼轉換為適當的日期值。我們將代碼分解並從中創建了 3 列。通過使用 3 向查找,我們將這些列合併在一起以獲得單個日期值。
我們在支持論壇中用於解決問題的技術可用於其他場景。因此,請確保您充分理解它們。
一切順利,
梅麗莎
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的