反饋已提交
網絡繁忙
當資料同時由縱向擴展和橫向擴展而來,也就是 交叉表 的情況下,層次座標該怎麼寫呢?
相對層次座標,如圖1所示;
絕對層次座標,如圖2所示;
只獲取某一欄或某一列:也是絕對層次座標應用的一種,如圖3所示。
雙向擴展場景下,不管是相對層次座標還是絕對層次座標,都要使用縱向和橫向的組合寫法,且要遵循【先縱向後橫向】的原則。
Cellx:橫縱向同時擴展出來的交叉資料儲存格。
Celly:縱向擴展儲存格,Cellx 的左父格。
Cellz:橫向擴展儲存格,Cellx 的上父格。
k:數字。
p:數字。
此處我們建立一個交叉報表,用於下面示範雙向擴展時相對層次座標和絕對層次座標的寫法。
建立資料集 ds1,SQL 語句為:【SELECT * FROM 銷量】,如下圖所示。
將【産品】欄位拖到 B1 儲存格,設定為橫向擴展。
將【銷售員】欄位拖到 A2 儲存格,設定為縱向擴展。
將【銷量】欄位拖到 B2 儲存格,設定為不擴展,此時 B2 儲存格就是根據 B1 和 A2 雙向擴展出來的資料。
交叉表設計好後,分頁預覽看下效果。
按照下圖1所示在相應儲存格中填寫相對層次座標的公式。實際計算結果如下圖2所示。下面給出每個層次座標的解譯。
;B1:1:橫向絕對層次座標,是爲了鎖定第一欄。
A2:-1:縱向相對層次座標,是爲了實現縱向負偏移。
;B1:2:橫向絕對層次座標,是爲了鎖定第二欄。
A2:+1:縱向相對層次座標,是爲了實現縱向正偏移。
A2:1:縱向絕對層次座標,是爲了鎖定第一列。
;B1:-1:橫向相對層次座標,是爲了實現橫向負偏移。
A2:2:縱向絕對層次座標,是爲了鎖定第二列。
;B1:+1:橫向相對層次座標,是爲了實現橫向正偏移。
按照下圖1所示在相應儲存格中填寫絕對層次座標的公式,其中 B4~B6 都設定為不擴展,且左父格和上父格都設定為無。實際計算結果如下圖2所示。下面給出每個層次座標的解譯。
A2:4:縱向絕對層次座標,鎖定第四列。
;B1:2:橫向絕對層次座標,鎖定第二欄。
A2:6:縱向絕對層次座標,鎖定第六列。
;B1:4:橫向絕對層次座標,鎖定第四欄。
A2:!-1:縱向絕對層次座標,鎖定倒數第一列。
;B1:!-1:橫向絕對層次座標,鎖定倒數第一欄。
按照下圖1所示在相應儲存格中填寫層次座標公式。實際計算結果如下圖2所示。下面給出公式解析。
A2:返回 A2 儲存格縱向擴展的所有值。
;B1:1:橫向絕對層次座標,鎖定第一欄。
A2:1:縱向絕對層次座標,鎖定第一列。
;B1:返回 B1 儲存格橫向擴展的所有值。
已完成範本可參見:
【%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Advanced\Coordinate\交叉表相對層次座標.cpt】;
【%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Advanced\Coordinate\交叉表絕對層次座標.cpt】;
【%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Advanced\Coordinate\獲取交叉表某一欄或某一欄的值.cpt】。
點選下載範本:
交叉表相對層次座標.cpt;
交叉表絕對層次座標.cpt;
獲取交叉表某一欄或某一欄的值.cpt。
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉