單元格或標籤SQL方式獲取資料

2021-09-13 11:18:19 字數 1972 閱讀 1596

目錄:一般情況下,我們直接使用資料列的拖拽就能製作出想要的報表,但對於習慣程式設計的使用者或者希望根據不同的條件控制某個單元使用哪個資料列時,我們也同樣支援直接在單元格中使用來實現,這樣的函式我們稱為資料集函式。

以下列出所有的資料集函式及用法。

tablename.select(colname,篩選條件1&&篩選條件2&&......)

說明:選出資料集某列中符合條件的資料,返回結果是乙個陣列,相同資料不會合併。

其中tablename表示資料集名稱,注意是報表資料集或者是伺服器資料集名,而非資料庫中的表名;

colname表示列名,大小寫不區分。

示例:如資料集ds1取出內建frdemo資料庫中的銷量表

在單元格中輸入=ds1.select(銷售員),返回資料集ds1銷售員列中的所有值。

在單元格中輸入=ds1.select(銷售員,地區 = "華東"&&銷量 > 200),返回資料集ds1華東地區銷售總額超過200的銷售員。

在單元格中輸入=ds1.select(銷售員,地區="華東"||地區="華北"),返回資料集ds1華東地區或華北地區的銷售員。

注:篩選條件中的判斷既可以使用單等號,也可以使用雙等號;字串也同時可以使用單引號或者是雙引號,對結果均沒有影響。

tablename.group(colname,篩選條件1 && 篩選條件2,公升降序)

說明:選出資料集某列中符合條件的資料並分組,還可以按照該列進行公升降序排列。

其中tablename表示資料集名稱、colname表示列名;

公升降序為布林值,true表示公升序,false表示降序。

示例:如資料集ds1取出內建frdemo資料庫中的銷量表

在單元格中輸入=ds1.group(銷售員),返回資料集ds1銷售員列中的值,並且相鄰資料若相同會進行合併。

在單元格中輸入=ds1.group(銷售員,true,false)或=ds1.group(銷售員,,false),返回資料集ds1銷售員列中的值,並且其中只要相同就會進行合併,結果為降序排列,中間的引數為條件,若沒有條件,可以不寫或者使用true,但是不能省略。

在單元格中輸入=ds1.group(銷售員,地區=="華東"),返回資料集ds1華東地區的銷售員,並且相鄰資料若相同會進行合併。

在單元格中輸入=ds1.group(銷售員,地區=="華東",true),返回資料集ds1華東地區的銷售員,並且會合併所有相同項,結果為公升序排列。

說明:返回資料集ds1中的行號。

示例:如資料集ds1取出內建frdemo資料庫中的銷量表

在單元格中輸入=ds1.select(#0),資料集ds1中一共有45條資料,因此返回行號1,2,3,......45。

說明:獲取資料集ds1中某行某列的值。

示例:如資料集ds1取出內建frdemo資料庫中的銷量表

在單元格中輸入=ds1.value(3,2),返回資料集ds1中第3行第2列的值。

在單元格中輸入=ds1.value(3,"銷售員"),返回資料集ds1中第3行銷售員列的值。

注:報表的圖表標題不支援value函式

6.1 例項1:資料集函式返回的資料進行擴充套件

直接將資料列拖拽到單元格時會自動從上到下擴充套件。但是使用資料集函式獲得資料為乙個陣列,是顯示在乙個單元格中的,需要另外給單元格設定擴充套件屬性,資料才會進行擴充套件。

6.2 例項2:根據不同條件選擇使用哪個字段

在單元格中輸入如下公式:

=if(條件,ds1.group(customerid),ds2.group(customerid))

並設定其擴充套件屬性為從上到下。

說明條件為真,則單元格使用資料集ds1中的customerid列,否則使用ds2中的customerid列 。

6.3 例項3:對資料集函式返回的資料再進行運算

如公式=sum(ds1.select(銷量)),返回資料集ds1銷量列的總和。

sum求和公式也可以換用其他如count、max等。

npoi獲取合併單元格 NPOI合併單元格

var filepath d 練習 雜項 npoi合併單元格 aaa.xlsx iworkbook workbook null isheet sheet null using filestream fs file.openread filepath 2007版本 if filepath.indexo...

NPOI獲取合併單元格

匯入 public static datatable roaddt string filepath 2003版本 else if filepath.indexof xls stringcomparison.ordinal 0 if workbook null else tryrownum 1 con...

單元格的表示方式

三種 range cells cells 行,列 如果引用列名需要用引號 cells 1,1 cells 1,a cells rows.count,a range 單元格位址 複雜形式因此需要用引號 range a1 range a1 a5 將把從a1,到a5都選擇起來,中間是逗號 range a ...