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 變數比較一般 MIN 與 MINA 對於含有布林值/文字欄位的處理結果:
// 假設 [MixedData] 欄位包含數值與 FALSE
CompareMinResults =
VAR StandardMin = MIN('Sales'[MixedData]) -- 忽略非數值/邏輯值,僅比較純數字
VAR MinaValue = MINA('Sales'[MixedData]) -- 將 FALSE 轉為 0 納入比較
RETURN
MinaValue
四、 常見陷阱與注意事項
⚠️ 注意事項 1:文字與 FALSE 值會被轉換為 0
如果資料集中包含文字或
如果資料集中包含文字或
FALSE,MINA 會將其評估為 0。若所有正數都大於 0,計算出的最小值將會被設為 0。如果這不是預期的行為,請改用標準的 MIN 函數來忽略邏輯值與非數字文字。
⚠️ 注意事項 2:不支援直接傳入運算式或兩個參數
MINA 僅接受一個資料行參考(Column Reference)作為參數。若需要傳入運算式或逐行評估,請改用 MINX 函數;若要比較兩個純數值或純文字,請使用 MIN(Value1, Value2)。
五、 相關函數推薦
MIN:計算資料行中的最小值(忽略邏輯值與非數字文字)。MINX:為資料表的每一列評估表達式,並回傳最小值。MAXA:傳回資料行中的最大值,包含邏輯值與文字的評估。AVERAGEA:計算包含邏輯值與文字的資料行平均值。
六、 官方文件連結
想進一步瞭解微軟官方說明與 DAX 語法細節,可參考:
留言
張貼留言