潤乾報表分析3-巧用空值判斷nvl

來源:互聯網
上載者:User
運算式中,經常需要用到空值判斷,例如在儲存格的顯示值屬性中,判斷當儲存格的值
為空白時,顯示為0,否則顯示儲存格的真實值,等等。一般這種情況下,使用者習慣寫的表達
式是: if(value()==null, 0, value())。
如果我們把value() 換成更加複雜的運算式, 例如if(ds1.select1(…)==null, 0,
ds1.select1(…)),大家可以看出,這種演算法明顯很慢,需要把ds1.select1(…)這樣的複雜表達
式運算兩次,而如果採用nvl()則可以避免這個問題。
儲存格函數:nvl()
函數說明:
根據第一個運算式的值是否為空白,若為空白則返回指定值
文法:
nvl( valueExp1, valueExp2 )
參數說明:
valueExp1 需要計算的運算式,其結果不為空白時返回其值
valueExp2 需要計算的運算式,當valueExp1 結果為空白時返回此值
傳回值:
valueExp1 或valueExp2 的結果值
樣本:
例1:nvl(A1,"") 表示當A1 為空白時,返回空串,否則返回A1
例2:nvl(value(),0) 表示噹噹前格為空白時返回0,否則返回當前格的值
應用舉例:
正確寫法,速度快 錯誤寫法,速度慢
√ Nvl(ds1.select1(…), 0) Х if(ds1.select1(…)==null, 0, ds1.select1(…))
√ nvl(a1[……]...{……}, “--”) Х if(a1[……]...{……}==null, “--”, a1[……]...{……})
……. ……….

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.