我有一個表,其中包含一系列列,其中包含需要拆分的資料。下面的例子
狀態@10/16 12:00:00 (代碼)
我已經能夠很容易地拆分它,當我最初嘗試在較舊的資料集上設定日期時,它會將其標識為日期,例如 2021 年 10 月 16 日 但是我開始在此日期列上出現錯誤并嘗試使用不同的資料集(10 /12、10/13、10/14)它沒有找到日期。我嘗試了以下查詢代碼,但收到錯誤
[狀態日期] 拆分為 10/14、10/15 等
#date( Date.Year(DateTime.LocalNow), Date.Month(Text.End([STATUS DATE]), 2), Date.Day(Text.Start([STATUS DATE]),2))
但是我收到了一個函式錯誤,所以我嘗試了
Date.From(Date.Day(Text.Start([STATUS DATE]),2) & Date.Month(Text.End([STATUS DATE]),2) & Date.Year(DateTime.LocalNow)
我也嘗試從示例列中執行此操作,但是創建的查詢正在查看單元格值,例如 if 10/14 then 14/10/2021 else if 13/10 then 14/10/2021。一旦我包含更大的資料集,我覺得這種方法很容易出錯。
無論如何,我可以根據 mm/dd 格式確定日期值嗎?但是考慮到年末,除非我們進入 1 月,否則讓 YYYY 由當前年份確定,然后我不希望 10 月、11 月、12 月的值顯示為 2022 年。
uj5u.com熱心網友回復:
將 [STATUS DATE] 再次拆分為 [Month] 和 [Day] 列,使用“/”作為分隔符。那么你就不必為 1 或 2 位數字而煩惱了,你可以簡單地使用這個公式:
#date(Date.Year(DateTime.LocalNow()), [Month], [Day])
DateTime.LocalNow() 是一個函式,所以需要加上括號。
[Month] 和 [Day] 已經是數字,因此您不需要 Date.Month() 或 Date.Day() 函式。
uj5u.com熱心網友回復:
您并沒有真正顯示原始資料的樣子。但如果它是這樣的:
來源

然后您可以在“添加自定義列”對話框中使用此代碼:
let
split=Text.SplitAny([STATUS DATE],"@/ "),
mnth = Number.From(split{1}),
dy = Number.From(split{2})
in
#date(Date.Year(DateTime.LocalNow()),mnth,dy)
該Text.SplitAny功能允許您輸入分隔符串列,文本將在所有分隔符上拆分。所以提取月和日值比較簡單

創造:

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/321459.html
