# Oracle MODEL:ORA-25137 Data value out of range ###### tags: `oracle` `MODEL` `ORA-25137 Data value out of range` MODEL是oracle中非常好用的一個分析函數,部份應用可見個人[另篇](https://martychen920.blogspot.com/2017/11/oracle-model.html)說明。 ## 問題說明 這次在設置measures的時候,有部份欄位需要以文字來處理,但執行的時候卻因此造成`ORA-25137 Data value out of range`的錯誤訊息。這似乎是因為限制上其欄位長度不能超過dimension的欄位長度,但這很不能滿足實務上的需求。 ## 解法 幾次測試發現,在measures定義欄位的時候,直接利用`cast`來定義欄位長度,舉例`cast('a' as varchar2(100))`,那就可以一次給定長度100的varchar2欄位,避免`Data value out of range`。 如下詳細範例: ``` return updated rows partition by (A, B, C) dimension by (D) measures( cast('a' as varchar2(100)) E, cast('a' as varchar2(100)) F ) rules upsert( write your code here ) ``` 這種方式設置,就可以讓E、F兩個欄位長度都預設為100。