反饋已提交

網絡繁忙

跨sheet或跨報表塊使用條件過濾無效

1. 概述

1.1 問題描述

不論是普通報表、複合式報表還是決策報表,當涉及跨 sheet 頁或跨報表塊使用函式過濾時,若公式中包含了 {} 這種大括號的條件,則公式無效。

例如:跨 sheet 頁計數時,使用公式:len(greparray('sheet2'!A7[!0],item=$A3)),正確效果如下:

而使用條件計數公式 count('sheet2'!A7{'sheet2'!A7=$A3}) 的效果如下:

1.2 原因分析

當前設計器中,跨 sheet 頁和跨報表塊不支援使用條件過濾。

2. 解決方案

不在公式內新增帶有 {} 條件的句,使用其他本身帶有條件過濾格式的公式。

下面用範例進行詳細介紹。 

2.1 建立內建資料集

建立「普通報表」,建立內建資料集  Embedded1 ,如下圖所示:

2.2 建立 sheet 頁

建立一個 sheet2 ,將資料列 ColName1 拖入 A7 儲存格,雙擊儲存格,選擇資料設定為「列表」,擴展方向為「縱向」,步驟如下圖所示:

2.3 設定公式

點選 sheet1 ,將資料列 ColName1 拖入 A3 儲存格,雙擊儲存格,選擇資料設定為「分組」,擴展方向為「橫向」。

選中 A4 儲存格,插入公式:count('sheet2'!A7{'sheet2'!A7=$A3}) 。 步驟如下圖所示:

同理給 A5 儲存格插入公式:len(greparray('sheet2'!A7[!0],item=$A3))

公式說明如下表:

公式
公式說明
count({})count 函式中加入條件來實現條件計數,{} 內為計數條件
'sheet2'!A7引用 sheet2 中 A7 儲存格的資料
greparray(array,fn)
  • 透過 fn 條件過濾 array 陣列,傳回過濾後的新陣列

  • fn 參數必須符合格式要求,否則過濾不生效,例如這裏的 item 格式:根據陣列值進行過濾

len()傳回陣列的長度

2.4 效果預覽

2.4.1 PC 端

儲存報表,點選「分頁預覽」,效果如下圖所示:

2.4.2 行動端

App 與 HTML5 端效果相同,如下圖所示:

2.5 範本下載

已完成範本可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\跨sheet頁條件過濾公式.cpt

點選下載範本:跨sheet頁條件過濾公式.cpt

附件列表


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

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙