SiamCafe.net Blog
Technology

สายงาน data analyst

สาย งาน data analyst
สายงาน data analyst | SiamCafe Blog
2025-12-15· อ. บอม — SiamCafe.net· 11,987 คำ

สายงาน Data Analyst

สายงาน Data Analyst วิเคราะห์ข้อมูล SQL Python Dashboard Tableau Power BI เส้นทางอาชีพ เงินเดือน ทักษะ สัมภาษณ์

ระดับประสบการณ์ทักษะหลักเงินเดือน (บาท)หน้าที่
Junior0-2 ปีSQL, Excel, Python พื้นฐาน25,000-40,000ดึงข้อมูล สร้าง Report
Mid-level2-5 ปีSQL ขั้นสูง, Python, Dashboard40,000-70,000วิเคราะห์ สร้าง Dashboard
Senior5-8 ปีStrategy, Stakeholder Management70,000-120,000Lead วิเคราะห์ กำหนดทิศทาง
Lead/Manager8+ ปีTeam Management, Business Strategy100,000-180,000+บริหารทีม กำหนด Data Strategy

ทักษะที่ต้องมี

# === Data Analyst Skills ===

from dataclasses import dataclass

@dataclass
class Skill:
    skill: str
    importance: str
    tools: str
    learn_from: str
    time_to_learn: str

skills = [
    Skill("SQL",
        "สำคัญที่สุด ใช้ทุกวัน 80% ของงาน",
        "PostgreSQL, MySQL, BigQuery, Snowflake",
        "W3Schools, Mode Analytics, LeetCode SQL",
        "2-4 สัปดาห์ พื้นฐาน / 2-3 เดือน ขั้นสูง"),
    Skill("Python (Pandas)",
        "สำคัญมาก สำหรับ Data Cleaning Analysis",
        "Pandas, NumPy, Matplotlib, Seaborn, Jupyter",
        "Kaggle Learn, DataCamp, Coursera",
        "1-2 เดือน พื้นฐาน / 3-6 เดือน ขั้นสูง"),
    Skill("Data Visualization",
        "สำคัญมาก สร้าง Dashboard Report",
        "Tableau, Power BI, Looker, Google Data Studio",
        "Tableau Public, YouTube Tutorial, Coursera",
        "2-4 สัปดาห์ พื้นฐาน / 2-3 เดือน ขั้นสูง"),
    Skill("Excel / Google Sheets",
        "ยังใช้บ่อย Pivot Table Charts",
        "Excel, Google Sheets, Pivot Table, VLOOKUP",
        "ExcelJet, Google Sheets Course",
        "1-2 สัปดาห์ ถ้ามีพื้นฐาน"),
    Skill("Statistics",
        "สำคัญ สำหรับวิเคราะห์อย่างถูกต้อง",
        "Descriptive, Inferential, Hypothesis Testing, Regression",
        "Khan Academy, StatQuest YouTube, Coursera",
        "1-3 เดือน"),
    Skill("Communication",
        "สำคัญมาก นำเสนอ Insight ให้คนไม่ Technical",
        "Presentation, Storytelling, Slide Deck",
        "ฝึกนำเสนอ ฝึกเขียน Summary ฝึกอธิบาย",
        "ต่อเนื่อง ฝึกทุกวัน"),
]

print("=== Data Analyst Skills ===")
for s in skills:
    print(f"  [{s.skill}] Importance: {s.importance}")
    print(f"    Tools: {s.tools}")
    print(f"    Learn: {s.learn_from}")
    print(f"    Time: {s.time_to_learn}")

SQL Interview

# === SQL Interview Prep ===

# -- Common SQL Interview Questions --
#
# -- 1. Window Function: Running Total
# SELECT date, revenue,
#   SUM(revenue) OVER (ORDER BY date) AS running_total
# FROM daily_sales;
#
# -- 2. Rank within Group
# SELECT department, employee, salary,
#   RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS rank
# FROM employees;
#
# -- 3. YoY Growth
# WITH monthly AS (
#   SELECT DATE_TRUNC('month', order_date) AS month,
#          SUM(amount) AS revenue
#   FROM orders
#   GROUP BY 1
# )
# SELECT month, revenue,
#   LAG(revenue, 12) OVER (ORDER BY month) AS prev_year,
#   ROUND((revenue - LAG(revenue, 12) OVER (ORDER BY month))
#     / LAG(revenue, 12) OVER (ORDER BY month) * 100, 1) AS yoy_growth
# FROM monthly;
#
# -- 4. Customer Retention
# WITH first_purchase AS (
#   SELECT customer_id,
#     MIN(DATE_TRUNC('month', order_date)) AS cohort_month
#   FROM orders GROUP BY 1
# ),
# activity AS (
#   SELECT o.customer_id,
#     DATE_TRUNC('month', o.order_date) AS activity_month,
#     f.cohort_month
#   FROM orders o JOIN first_purchase f ON o.customer_id = f.customer_id
# )
# SELECT cohort_month,
#   COUNT(DISTINCT CASE WHEN activity_month = cohort_month THEN customer_id END) AS month_0,
#   COUNT(DISTINCT CASE WHEN activity_month = cohort_month + INTERVAL '1 month' THEN customer_id END) AS month_1
# FROM activity
# GROUP BY 1 ORDER BY 1;

@dataclass
class SQLTopic:
    topic: str
    difficulty: str
    frequency: str
    key_functions: str
    practice: str

topics = [
    SQLTopic("JOIN (Inner, Left, Full)",
        "ง่าย-กลาง", "ทุกสัมภาษณ์",
        "INNER JOIN, LEFT JOIN, FULL OUTER JOIN, CROSS JOIN",
        "LeetCode SQL Easy-Medium"),
    SQLTopic("Window Functions",
        "กลาง-สูง", "80% ของสัมภาษณ์",
        "ROW_NUMBER, RANK, LAG, LEAD, SUM OVER, PARTITION BY",
        "Mode Analytics Tutorial + LeetCode"),
    SQLTopic("CTE (Common Table Expression)",
        "กลาง", "60% ของสัมภาษณ์",
        "WITH ... AS (...) SELECT ...",
        "เขียน Complex Query ด้วย CTE แทน Subquery"),
    SQLTopic("Aggregation + GROUP BY",
        "ง่าย", "ทุกสัมภาษณ์",
        "COUNT, SUM, AVG, MAX, MIN, GROUP BY, HAVING",
        "LeetCode SQL Easy"),
    SQLTopic("Date Functions",
        "กลาง", "50% ของสัมภาษณ์",
        "DATE_TRUNC, EXTRACT, DATEDIFF, DATE_ADD, INTERVAL",
        "ฝึก YoY MoM WoW calculation"),
]

print("=== SQL Interview Topics ===")
for t in topics:
    print(f"  [{t.topic}] Difficulty: {t.difficulty} | Freq: {t.frequency}")
    print(f"    Functions: {t.key_functions}")
    print(f"    Practice: {t.practice}")

Portfolio Projects

# === Portfolio Guide ===

@dataclass
class Project:
    project: str
    dataset: str
    skills_shown: str
    deliverable: str
    time: str

projects = [
    Project("E-commerce Sales Analysis",
        "Kaggle E-commerce Dataset",
        "SQL, Pandas, Matplotlib, Cohort Analysis",
        "Jupyter Notebook + Tableau Dashboard",
        "1-2 สัปดาห์"),
    Project("Customer Segmentation (RFM)",
        "Online Retail Dataset (UCI)",
        "Python, Clustering, RFM Analysis, Visualization",
        "Notebook + Presentation Slide",
        "1-2 สัปดาห์"),
    Project("A/B Test Analysis",
        "Kaggle A/B Testing Dataset",
        "Statistics, Hypothesis Testing, Python",
        "Notebook + Summary Report",
        "1 สัปดาห์"),
    Project("Dashboard (Tableau/Power BI)",
        "COVID-19 / Stock / Sales Data",
        "Tableau/Power BI, Design, Storytelling",
        "Interactive Dashboard on Tableau Public",
        "1 สัปดาห์"),
    Project("SQL Analysis Project",
        "Any dataset loaded to PostgreSQL",
        "Complex SQL, Window Functions, CTE, Analysis",
        "SQL queries + Findings Summary",
        "3-5 วัน"),
]

print("=== Portfolio Projects ===")
for p in projects:
    print(f"  [{p.project}] Time: {p.time}")
    print(f"    Dataset: {p.dataset}")
    print(f"    Skills: {p.skills_shown}")
    print(f"    Deliverable: {p.deliverable}")

เคล็ดลับ

Data Analyst ทำอะไร

วิเคราะห์ข้อมูล SQL Python Dashboard Report ช่วยตัดสินใจ ทำความสะอาดข้อมูล หา Pattern Trend Insight นำเสนอ Business Product Marketing

ทักษะอะไรบ้าง

SQL สำคัญสุด Python Pandas Excel Pivot Tableau Power BI Statistics Mean Regression Communication นำเสนอ Business Acumen เข้าใจธุรกิจ

เงินเดือนเท่าไหร่

Junior 25000-40000 Mid 40000-70000 Senior 70000-120000 Manager 100000-180000+ บริษัทต่างชาติสูงกว่า Industry Company Size Location Skill

เตรียมตัวอย่างไร

SQL LeetCode Python Pandas Portfolio GitHub Dashboard Tableau Public Statistics Certificate Google IBM สมัครงาน Interview Window Function CTE Case Study

สรุป

สายงาน Data Analyst SQL Python Tableau Power BI Dashboard Statistics Communication Portfolio Certificate เงินเดือน เส้นทางอาชีพ สัมภาษณ์

📖 บทความที่เกี่ยวข้อง

รับสมัครงาน data analystอ่านบทความ → data analyst ฝึกงานอ่านบทความ → งาน data analyst ทําอะไรบ้างอ่านบทความ → data analyst course freeอ่านบทความ → senior data analyst เงินเดือนอ่านบทความ →

📚 ดูบทความทั้งหมด →