Power BI DAX MINA 函數:包含邏輯值與文字的最小值計算完整指南

Power BI DAX MINA 函數:包含邏輯值與文字的最小值計算完整指南

📅 發布日期:2026-09-20 🏷️ 分類:統計函數 DAX 函數
💡 函數速查卡
函數名稱 MINA
所屬類別 統計函數 (Statistical functions)
傳回類型 整數或十進位數字 (Integer / Decimal Number) 或 布林值 (Boolean)
常用頻率 ★★☆☆☆

在 Power BI / Analysis Services 的 DAX 數據建模中,MINA 函數用於傳回指定資料行中的最小值。與標準的 MIN 函數不同之處在於,MINA 會將**邏輯值(TRUE/FALSE)與可轉換為數字的非數值**納入計算,其中 TRUE 被視為 1,FALSE 或無法解析的文字則被視為 0。

一、 基本語法與參數

MINA 函數的標準 DAX 語法結構如下:

MINA(<column>)
參數 說明 預設值 / 必填
column 要尋找最小值的資料行(Column Reference)。可以包含數值、布林值(TRUE/FALSE)或文字。 必填

二、 核心功能說明

MINA 專門用於處理混合型態資料集的最小值計算。其對不同資料型態的處理規則如下:

  • 邏輯值: TRUE 評估為 1,FALSE 評估為 0。
  • 文字值: 包含無法解析為數字的文字時,會被評估為 0。若為可轉換為數字的文字(如 "123"),則轉換為相應數值。
  • 空白值 (BLANK): 會被自動忽略,不參與評估。但若整欄皆為空白,則傳回空值(或 0,視上下文而定)。

在 Power BI 報表建模中,常見的實務應用包括:

  • 評估包含布林旗標(Boolean Flag)資料列的最低狀態值。
  • 相容從 Excel 匯入且包含文字註記或布林值的混合資料行。
  • 確保在含有未設定狀態(FALSE/文字)的欄位中能正確識別出最小值 0。

三、 實用 DAX 範例

範例 1:計算包含邏輯值的資料行最小值

假設資料表中包含布林狀態與數值,MINA 會將 FALSE 轉為 0 進行比較:

// 建立度量值:若 [IsActive] 包含 TRUE 與 FALSE,結果傳回 0
MinStatusValue = MINA('User'[IsActive])

// 建立度量值:若 [Score] 欄位值為 {5, 8, TRUE},傳回 1 (因為 TRUE 被轉為 1)
MinScore = MINA('Assessment'[Score])

範例 2:比較 MIN 與 MINA 在混合資料上的差異

透過 DAX 變數比較一般 MINMINA 對於含有布林值/文字欄位的處理結果:

// 假設 [MixedData] 欄位包含數值與 FALSE
CompareMinResults = 
VAR StandardMin = MIN('Sales'[MixedData]) -- 忽略非數值/邏輯值,僅比較純數字
VAR MinaValue = MINA('Sales'[MixedData])    -- 將 FALSE 轉為 0 納入比較
RETURN
    MinaValue

四、 常見陷阱與注意事項

⚠️ 注意事項 1:文字與 FALSE 值會被轉換為 0
如果資料集中包含文字或 FALSEMINA 會將其評估為 0。若所有正數都大於 0,計算出的最小值將會被設為 0。如果這不是預期的行為,請改用標準的 MIN 函數來忽略邏輯值與非數字文字。
⚠️ 注意事項 2:不支援直接傳入運算式或兩個參數
MINA 僅接受一個資料行參考(Column Reference)作為參數。若需要傳入運算式或逐行評估,請改用 MINX 函數;若要比較兩個純數值或純文字,請使用 MIN(Value1, Value2)

五、 相關函數推薦

  • MIN:計算資料行中的最小值(忽略邏輯值與非數字文字)。
  • MINX:為資料表的每一列評估表達式,並回傳最小值。
  • MAXA:傳回資料行中的最大值,包含邏輯值與文字的評估。
  • AVERAGEA:計算包含邏輯值與文字的資料行平均值。

六、 官方文件連結

想進一步瞭解微軟官方說明與 DAX 語法細節,可參考:

留言

相關文章 / 薪資情報

文章載入中...

你可能有興趣

精選文章 / 推薦情報

文章載入中...