反饋已提交

網絡繁忙

雙向擴展層次座標

1. 概述

1.1 問題描述

當資料同時由縱向擴展和橫向擴展而來,也就是 交叉報表 的情況下,層次座標該怎麼寫呢?

  • 相對層次座標

  • 絕對層次座標

  • 只獲取某一欄或某一行:也是絕對層次座標應用的一種

1.2 實現思路

雙向擴展場景下,不管是相對層次座標還是絕對層次座標,都要使用縱向和橫向的組合寫法,且要遵循先縱向後橫向的原則。

層次座標類型公式寫法計算結果參數解譯
相對層次座標
Cellx[Celly:-k ;Cellz:p]
第 p 列相對偏移 -k

Cellx:橫縱向同時擴展出來的交叉資料儲存格

Celly:縱向擴展儲存格,Cellx 的左父格

Cellz:橫向擴展儲存格,Cellx 的上父格

k:數字

p:數字

Cellx[Celly:+k ;Cellz:p]第 p 列相對偏移 +k
Cellx[Celly:p ;Cellz:-k]第 p 行相對偏移 -k
Cellx[Celly:p ;Cellz:+k]
第 p 行相對偏移 +k
絕對層次座標Cellx[Celly:k ;Cellz:p]第 k 行第 p 列交叉處的值
Cellx[Celly:k ;Cellz:!-p]第 k 行倒數第 p 列交叉處的值
Cellx[Celly ;Cellz:k]
獲取第 k 列所有值
Cellx[Celly:k ;Cellz]
獲取第 k 行所有值

2. 建立範例範本

此處我們建立一個交叉報表,用於下面示範雙向擴展時相對層次座標和絕對層次座標的寫法。

2.1 準備資料

建立資料集 ds1,SQL 語句為:SELECT * FROM 銷量,如下圖所示:

2.2 設計表格

將「產品」欄位拖到 B1 儲存格,設定為橫向擴展。

將「銷售員」欄位拖到 A2 儲存格,設定為縱向擴展。

將「銷量」欄位拖到 B2 儲存格,設定為不擴展,此時 B2 儲存格就是根據 B1 和 A2 雙向擴展出來的資料。

2.3 效果預覽

交叉表設計好後,分頁預覽看下效果:

3. 相對層次座標寫法

按照下圖所示在相應儲存格中填寫相對層次座標的公式:

實際計算結果如下圖所示:

下面給出每個層次座標的解譯:

所在儲存格公式公式解析最終效果
C2B2[A2:-1 ;B1:1]

;B1:1:橫向絕對層次座標,是為了鎖定第一欄

A2:-1:縱向相對層次座標,是為了實現縱向負偏移

第一欄相對偏移 -1
D2B2[A2:+1 ;B1:2]

;B1:2:橫向絕對層次座標,是為了鎖定第二列

A2:+1:縱向相對層次座標,是為了實現縱向正偏移

第二列相對偏移 +1
B3B2[A2:1 ;B1:-1]

A2:1:縱向絕對層次座標,是為了鎖定第一行

;B1:-1:橫向相對層次座標,是為了實現橫向負偏移

第一行相對偏移 -1
B4B2[A2:2 ;B1:+1]

A2:2:縱向絕對層次座標,是為了鎖定第二行

;B1:+1:橫向相對層次座標,是為了實現橫向正偏移

第二行相對偏移 +1

4. 絕對層次座標寫法

按照下圖所示在相應儲存格中填寫絕對層次座標的公式,其中 B4~B6 都設定為不擴展,且左父格和上父格都設定為無。

實際計算結果如下圖所示:

下面給出每個層次座標的解譯:

所在儲存格公式公式解析最終效果
B4B2[A2:4 ;B1:2]

A2:4:縱向絕對層次座標,鎖定第四行

;B1:2:橫向絕對層次座標,鎖定第二列

傳回第四行和第二列交叉處的值
B5B2[A2:6 ;B1:4]

A2:6:縱向絕對層次座標,鎖定第六行

;B1:4:橫向絕對層次座標,鎖定第四列

傳回第六行和第四列交叉處的值
B6B2[A2:!-1 ;B1:!-1]

A2:!-1:縱向絕對層次座標,鎖定倒數第一行

;B1:!-1:橫向絕對層次座標,鎖定倒數第一欄

傳回倒數第一行和倒數第一欄交叉處的值

5. 只獲取某一欄或某一行

按照下圖所示在相應儲存格中填寫層次座標公式:

實際計算結果如下圖所示:

下面給出公式解析:

所在儲存格公式公式解析最終效果
C2B2[A2 ;B1:1]

A2:傳回 A2 儲存格縱向擴展的所有值

;B1:1:橫向絕對層次座標,鎖定第一欄

傳回第一欄所有值
B3B2[A2:1 ;B1]

A2:1:縱向絕對層次座標,鎖定第一行

;B1:傳回 B1 儲存格橫向擴展的所有值

傳回第一行所有值

6. 範本下載

已完成範本可參見:

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Coordinate\交叉表相對層次座標.cpt

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Coordinate\交叉表絕對層次座標.cpt

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Coordinate\獲取交叉表某一欄或某一行的值.cpt

點選下載範本:

交叉表相對層次座標.cpt

交叉表絕對層次座標.cpt

獲取交叉表某一欄或某一欄的值.cpt


附件列表


主題: 報表專題
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙