Learn/เริ่มต้นใช้งาน Power BI

โหลดอัตราแลกเปลี่ยนเข้า Power BI ด้วย Power Query

วาง M query ใน Power BI Desktop แปลง JSON เป็นตารางสกุลเงิน และเตรียม scheduled refresh หลัง publish

ERexchangerate.dev·Aug 5, 2026·5 min

Power BI มี connector ที่ต้องใช้อยู่แล้ว สร้าง Blank Query แล้วเรียกด้วย Web.Contents โดยคง host ไว้คงที่และย้าย endpoint ไปไว้ใน RelativePath เพื่อให้ Power BI Service ระบุแหล่งข้อมูลตอน refresh ได้

ประเด็นสำคัญ
วาง M code ใน Advanced Editor
คง https://api.exchangerate.dev ไว้และใช้ RelativePath
ผลลัพธ์มีหนึ่งแถวต่อสกุลเงิน พร้อม source และเวลาอัปเดต
เลือก credential แบบ Anonymous เพราะคีย์ถูกส่งใน header
ผู้แก้ไข PBIX อาจเห็น query ได้ หากแจกไฟล์กว้างควรใช้ server-side proxy

สร้าง Blank Query

สร้างคีย์ฟรี ใน Power BI Desktop เลือก Get data → Blank query แล้วเปิด View → Advanced Editor ใน Power Query

วาง M query

Power Query M · Advanced Editorcopy
let
    ApiKey = "exr_live_replace_with_your_key_here",
    Base = "USD",
    Symbols = "EUR,GBP,JPY",
    Response = Json.Document(
        Web.Contents(
            "https://api.exchangerate.dev",
            [
                RelativePath = "v1/latest/" & Base,
                Query = [symbols = Symbols],
                Headers = [Authorization = "Bearer " & ApiKey]
            ]
        )
    ),
    Rates = Record.ToTable(Response[rates]),
    Renamed = Table.RenameColumns(
        Rates,
        {{"Name", "currency"}, {"Value", "rate"}}
    ),
    WithBase = Table.AddColumn(Renamed, "base", each Response[base], type text),
    WithSource = Table.AddColumn(WithBase, "source", each Response[source], type text),
    WithUpdatedAt = Table.AddColumn(
        WithSource,
        "data_updated_at",
        each DateTimeZone.FromText(Response[data_updated_at]),
        type datetimezone
    )
in
    WithUpdatedAt

เปลี่ยนคีย์ตัวอย่าง กด Done และตั้งชื่อ query ว่า FxRates ตัวอย่างข้อมูลควรแสดง EUR, GBP และ JPY แยกเป็นคนละแถว

ตรวจชนิดข้อมูล

ตั้ง currency, base, source เป็น Text, rate เป็น Decimal number และ data_updated_at เป็น Date/Time/Timezone จากนั้นกด Close & Apply

Publish และตั้ง scheduled refresh

ใน Power BI Service เปิด credential ของ https://api.exchangerate.dev แล้วเลือก Anonymous เพราะ M query ส่งคีย์ใน Authorization header อยู่แล้ว จากนั้นตั้งรอบ refresh ตามการใช้งาน

RelativePath ช่วยเลี่ยง dynamic data source
Power BI ต้องเห็น host ที่คงที่ ให้ domain อยู่ใน Web.Contents และวางเฉพาะ endpoint path ใน RelativePath เพื่อให้ refresh หลัง publish ทำงาน

M parameter ไม่ใช่ที่เก็บความลับ

คนที่แก้ PBIX หรือ query อาจเห็นคีย์ได้ วิธีนี้เหมาะกับ workspace ภายในที่ไว้ใจได้ หากแชร์ไฟล์กว้างให้ใช้ proxy ฝั่งเซิร์ฟเวอร์

อัตราสำหรับอ้างอิง
เหมาะกับรายงาน การวิเคราะห์ การวางแผน และการแสดงผล ไม่ใช่ราคาซื้อขายหรือราคาชำระ
ER
exchangerate.dev
คู่มือเชื่อมต่อสำหรับนักพัฒนา

อ่านต่อ

TutorialLive exchange rates in Excel with Power Queryอ่าน ReferenceHistorical exchange rate APIอ่าน TutorialGet exchange rates in n8nอ่าน
เปรียบเทียบเพิ่มเติมFixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.dev
เรียนรู้อัตราแลกเปลี่ยนใน Next.js และ TypeScriptสร้างการแจ้งเตือนอัตรา USD/IDR ด้วย Pythonดึงอัตราแลกเปลี่ยนใน Go ด้วย net/http
อัตราสดEUR/USDGBP/USDUSD/JPY