2016-03-03 54 views
0

我們需要構建大量報告,但許多指標和字段都是重複的。是否可以構建一個(或幾個)報表來合併所有內容,然後基於用戶要求運行的「報告」,它隱藏/顯示某些字段?Cognos Report Studio 10.2來自一個主數據庫的多個報告

例如主要報告包含列1-100

用戶1需要運行報告A,其使用列1-20,因此隱藏列21-100 用戶2需要運行報告B,其使用列21-40,因此隱藏第1-20列和第41-100列

任何幫助將不勝感激!

回答

0

是的,這是可能的。 轉到調理探險家和創建基於

#sq($account.defaultName)# 

所有可能的用戶名創建值的字符串變量。 使用此變量作爲樣式變量併爲所有值設置報表演示(顯示/隱藏列)。

而且考慮使用未命名的用戶組,

#CSVIdentityNameList()# 

這將是更加複雜,但你不會堅持選擇用戶名。

+0

對不起,我應該添加,(相當大的難題,所以我很抱歉),我們無權訪問任何權限,分組或SQL。我們的數據在場外管理。如果我能得到用戶名,這仍然可以工作嗎?我在提示頁面上想的更多? –

+0

如果您使用不同的名稱登錄並且匿名登錄處於禁用狀態,則會有用戶名。 但是,您可以根據提示參數創建變量。使用填充了靜態選項的值提示。 –

0

我會創建報告視圖指向單個報告,每個報告要運行的每個版本的報告。每個視圖都會傳遞一個不同的靜態值用於通用參數,比如'reportType'。該報告然後將使用此靜態值來更改返回給用戶的輸出。這可以通過按照Alexey建議的方式隱藏列來完成,或者您可以創建多個頁面並使用渲染變量來測試'reportType'參數的值並呈現相應的頁面。與隱藏相比,此方法的好處是維護更容易,並且性能可能提高,因爲未從數據源中檢索未顯示的列,尤其是在未顯示的列強制使用不必要的昂貴連接時更是如此。