2025年12月15日 星期一

[AppSheet教學] 如何解決圖表顯示「月平均」時,月份排序不正確的問題 (TEXT函數應用)

在 AppSheet 製作統計圖表時,我們常會需要將每日的資料合併成「每月」的平均值或總和來檢視。但你是否遇過一個狀況:當你將「年」與「月」合併顯示時,圖表的排序卻亂掉了?例如 2022年的1月 竟然排在 2021年的10月之前?

這通常是因為欄位被視為數字或文字排序時,單數月份(1-9月)沒有「補零」所造成的。今天這篇教學將透過 TEXT() 函數,教大家如何讓月份自動補零,完美解決圖表排序問題。

問題情境

假設我們有一個紀錄「每日喝水紀錄」的 App,我們希望製作一個圖表,顯示每個月的平均喝水量

原本的做法可能是新增一個虛擬欄位(Virtual Column),將年份和月份串接起來:

  • 原始公式: CONCATENATE(YEAR([日期]), MONTH([日期]))

  • 結果: 20221 (代表2022年1月)、202110 (代表2021年10月)

問題點:
在電腦排序邏輯中,如果不補零,排序會依照位數或字元比較。這會導致時間軸錯亂,例如 2022年的 1月 (20221) 可能會因為數字比對的關係,顯示位置不符合我們預期的時間順序。

解決方案:使用 TEXT 函數自動補零

要解決這個問題,關鍵在於讓月份變成 兩位數 (例如 1月變成 01)。我們可以利用 AppSheet 的 TEXT() 函數來達成。

步驟一:新增虛擬欄位 (Virtual Column)

  1. 進入 AppSheet 編輯器,點選 Data > Columns

  2. 選擇你的資料表,點擊 Add Virtual Column

  3. Column Name (欄位名稱):取名為「年月」或是「YearMonth」。

步驟二:輸入正確的公式

我們需要修改公式,將原本單純取用 MONTH() 的部分,改為使用 TEXT() 函數並指定格式。

  • 修改後的公式:

    Excel
    CONCATENATE(YEAR([日期]), TEXT([日期], "MM"))

公式解析:

  • YEAR([日期]):取出年份 (例如 2022)。

  • TEXT([日期], "MM"):將日期轉換為文字,參數 "MM" 代表強制顯示為兩位數的月份。

    • 如果是 1月,會回傳 "01"。

    • 如果是 10月,會回傳 "10"。

透過這個公式,2022年1月就會變成 202201,而 2021年10月是 202110。這樣在進行文字或數字排序時,順序就絕對正確了。

步驟三:設定圖表 (UX View)

  1. 前往 UX 頁籤,新增或是修改你的圖表 View。

  2. View type 選擇 Chart

  3. Chart columns (圖表欄位):加入剛剛建立的「年月」虛擬欄位。

  4. Group aggregate (聚合方式):選擇 AVERAGE (平均值) 並選擇喝水量的欄位。

步驟四:儲存並驗證

按下 Save 儲存後,重新觀察你的圖表。你會發現 X軸的月份已經依照正確的時間順序(202110, 202111, 202112, 202201...)由左至右整齊排列了。

總結

TEXT() 函數在處理日期格式轉換時非常強大。它有兩種用法:

  1. 單一參數: 把數字轉文字。

  2. 兩個參數: TEXT(時間, 格式),例如 TEXT([Timestamp], "HH:MM") 或本範例的 TEXT([Date], "MM")

只要遇到日期排序錯亂,通常都是「位數不統一」造成的,記得使用這個小技巧來補零,就能輕鬆解決! 



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

Appale watch受潮造成螢幕有時會出現有時候沒有畫面的解決方法(問gemini)

今年掃墓因為下雨穿著雨衣3個多小時,晚上apple watch就螢幕一下可以一下就不見,因為之前也一次相同原因送修,老闆說受潮造成的,這次就先上網問gemini,一開始沒有說清楚,所以一直認為是硬體的問題,最後有說明 Appale watch 下雨天戴著 造成螢幕有時會出現有時候...