公共設定
Synapse公共設定節點,用於設定和管理公共資源。
1 參數定義
參數即報表查詢篩選條件,使用者通過改變參數查詢準則值改變報表資料。在Synapse中,參數是一種共用資源,一個參數可以用於多個查詢中,而無需每個查詢或報表都要定義各自的參數。
按照參數的資料來源類型,可以分為關聯式資料來源參數和多維度資料來源參數。
關聯式資料來源參數應用於資料集定義模組的查詢(視覺化查詢、SQL查詢、原生SQL查詢、預存程序查詢等)中,通過查詢生成試算表等報表。通常應用於查詢(相當於SQL)的Where部分,達到資料過濾的效果;但也可以應用於Select部分,達到動態查詢欄位的效果。
多維度資料來源參數應用於多維度分析中的自訂成員、自訂命名集中,進行資料篩選。
系統支援參數快取功能,具體查看參數快取章節。
1.1 關聯式資料來源參數
1.1.1 公共設定項
參數名稱:參數實際的名稱,儲存後不可修改
參數別名:參數顯示的名稱,儲存後可以修改
描述:參數的相關描述
資料類型:字串、整數、浮點數、日期、時間、日期時間、其他類型。參數的資料類型盡量與關聯的資料庫欄位類型一致。
其中,其他類型是特別類型,不同於資料庫中的資料類型,用於將參數值在SQL語句中進行拼接。例如將參數值拼成SQL語句的Select部分。
控制項類型:下拉清單、下拉樹、日期控制項、頻率日期控制項、文字輸入框、列表對話方塊、樹對話方塊、列表勾選面板
標題寬度:參數的顯示名稱的寬度,以像素為單位
參數寬度:指在報表或頁面中,參數控制項顯示的寬度,以像素為單位
參數下拉寬度:參數下拉式功能表的寬度,該設定項僅用於下拉清單、下拉樹
參數下拉高度:參數下拉式功能表的高度,該設定項僅用於下拉清單、下拉樹

顯示參數:設定在報表瀏覽中,顯示或隱藏參數控制項。當不顯示參數時,查詢將按照參數的預設值自動進行過濾
允許多選:參數值是單選還是多選。該設定項適用於下拉清單、下拉樹、列表對話方塊、樹對話方塊、列表勾選面板
下拉清單多選:

對話方塊多選:

手動輸入:允許手動輸入參數值。一般適用於當參數備選值內容很多,使用者對查詢準則很熟悉的情況下,直接輸入進行查詢
合法性驗證:該選項與“手動輸入”結合使用,對手動輸入的內容進行合法性驗證。當輸入的內容不在參數的備選值列表中時,進行提示
不顯示標題:在報表瀏覽中不顯示參數別名,只顯示參數控制項。該選項多用於試算表,參數名稱不使用參數別名,而是直接在表格上輸入其它名稱
輸出合併:是否將多個相同的參數合併顯示為一個參數。
場景:當一個查詢中多次用到同一個參數,勾選了輸出合併時將只顯示為一個參數,否則會顯示為多個參數
MDX使用引號:表示當前參數在多維度資料來源參數(或在多維度分析的自訂成員/自訂命名集)的MDX運算式中,是否對該參數值以雙引號標識,以確保符合MDX公式要求。勾選該選項時,返回的參數值會增加雙引號。
允許為空值(預存程序查詢):該選項勾選時,參數下拉清單增加一個“空白”的選項,當選擇“空白”選項時忽略該參數查詢準則,返回全部資料。該選項僅適用於預存程序查詢中綁定的參數
參數快取:支援系統設定、自動快取、禁止快取。具體描述請閱讀參數快取章節。
系統設定:取【系統選項】—【快取設定】Tab頁中,【參數快取】設定項的值
自動快取:將參數備選值內容儲存到系統快取中,其它使用者再次訪問該參數時從快取中
禁止快取:每次訪問參數對象時,都重新獲取參數的備選值
具體請參考參數快取章節。
備選值設定:備選值用於設定參數值的可選範圍,支援SQL、靜態清單或函數設定參數備選值。預覽資料按鈕可以直接查看SQL運行結果,驗證SQL的正確性
預設值設定:預設值是參數被初始化時的初始值。支援SQL、靜態清單或函數設定參數預設值。該項為可選設定項。預覽資料按鈕可以直接查看SQL運行結果,驗證SQL的正確性

備選值/預設值-實際值/顯示值:當參數的備選值、預設值中,顯示值與實際值不一致時,可通過此選項設定。
比如產品類別參數的備選值顯示為“產品類別”,來自於“產品類別”欄位,但實際值為“產品類別編號”,來自於“產品類別編號”欄位,則在備選值的顯示值下拉清單中選擇“產品類別”,實際值下拉清單中選擇“產品類別編號”。
注意:此處下拉式功能表的可選欄位,來自於上一步“備選值設定”中的輸出欄位

1.1.2 下拉清單參數
下拉清單參數是參數下拉式功能表為平鋪式清單控制項,最常用的一種參數控制項,支援單選、多選、手動輸入、模糊查詢等方式。
單選下拉參數:

多選下拉參數:

下拉清單參數支援模糊查詢:
下拉清單參數如果允許輸入,則輸入時可以模糊對應參數,可通過id和名稱對應。

1.1.3 下拉樹參數
下拉樹參數是參數下拉式功能表為樹形結構的參數控制項,當參數內容較多並且具有上下層關係時,常用下拉樹參數來呈現,如公司部門結構、國家城市等。呈現效果如下:

下拉樹參數支援函數的使用,如下圖所示:

1.1.3.1 下拉樹參數設定項
下拉樹參數大部分設定項與下拉清單參數一樣,但在參數設定第二步中有特別的設定項,包括根節點、動態載入子節點等設定項。如下圖所示,紅色方框為特殊設定項。


建立樹的SQL類型:當前支援父子結構方式,必選項
自動勾選子成員:如果選擇了該選項,則使用者在勾選當前節點的同時,會自動勾選該節點的子節點。預設不可用,當勾選“允許多選”時該選項可用
動態載入子節點:該選項設定子節點的載入策略。如果選擇了該選項,則當使用者在展開下一層節點(點擊>號時),才去獲取子成員;反正則在初始化時初始化整顆樹,預設勾選。動態載入子節點能提升參數初始化的性能,建議使用此方式。
檢測子節點:該選項對即將展開的子節點是否還有子節點進行了預判。如果選擇了該選項,則當使用者展開當前節點(點擊>號)時,會判斷當前節點的子節點是否還有子節點,並在子節點前面以(>)號區分。如果子節點還有子節點的,則呈現(>);如果沒有子節點的則不呈現。預設不勾選。該選項會對進行大量的子節點預判,會對性能產生影響,謹慎使用。
範例:當展開Sales節點時,檢測子節點效果如圖,自訂成員、自訂命名集子節點前面不顯示(>)

不檢測子節點的效果,自訂成員、自訂命名集子節點前面有(>)號

自訂父子關係:
一般情況下,父節點的實際值與備選值SQL語句中的上級節點有對應關係。如下圖中的Area、ParentArea為父子關係。

如果勾選了這個選項,則需要從備選值SQL中再找一個欄位,將這個欄位的值代入備選值SQL去過濾子節點。這時備選值語句中必須含有where部分,並且將要代入值的位置用(?)標識。
例如:select c_resid, c_resalias, c_pid from t_restree where c_pid=?
1.1.3.2 下拉樹參數控制樹節點權限過濾
下拉樹參數大部分設定項與下拉清單參數一樣,但在參數設定第二步中有特別的設定項,包括根節點、動態載入子節點等設定項。如下圖所示,紅色方框為特殊設定項。


建立樹的SQL類型:當前支援父子結構方式,必選
自動勾選子成員:如果選擇了該選項,則使用者在勾選當前節點的同時,會自動勾選該節點的子節點。預設不可用,當勾選“允許多選”時該選項可用
動態載入子節點:該選項設定子節點的載入策略。如果選擇了該選項,則當使用者在展開下一層節點(點擊>號時),才去獲取子成員;反正則在初始化時初始化整顆樹,預設勾選。動態載入子節點能提升參數初始化的性能,建議使用此方式。
檢測子節點:該選項對即將展開的子節點是否還有子節點進行了預判。如果選擇了該選項,則當使用者展開當前節點(點擊>號)時,會判斷當前節點的子節點是否還有子節點,並在子節點前面以(>)號區分。如果子節點還有子節點的,則呈現(>);如果沒有子節點的則不呈現。預設不勾選。該選項會對進行大量的子節點預判,會對性能產生影響,謹慎使用。
範例:當展開Sales節點時,檢測子節點效果如圖,自訂成員、自訂命名集子節點前面不顯示(>)

不檢測子節點的效果,自訂成員、自訂命名集子節點前面有(>)號

自訂父子關係:
一般情況下,父節點的實際值與備選值SQL語句中的上級節點有對應關係。如下圖中的Area、ParentArea為父子關係。

如果勾選了這個選項,則需要從備選值SQL中再找一個欄位,將這個欄位的值代入備選值SQL去過濾子節點。這時備選值語句中必須含有where部分,並且將要代入值的位置用(?)標識。例如:select c_resid, c_resalias, c_pid from t_restree where c_pid=?
如果想控制下拉樹的節點根據當前使用者或組進行過濾,可以修改備選值及預設值的查詢準則,比如備選值只能等於當前使用者的組id(可以通過系統函數直接獲取)
系統函數的具體方法可參考系統函數

1.1.3.3 下拉樹參數除根節點以外排序無效
問題描述:
在設定下拉樹參數時設定order by排序,在參數預覽時可以排序,但在報表呈現時只有根節點排序而其他並不排序顯示。已經設定參數禁止快取,也清理過快取和瀏覽器快取,同樣嘗試過設定排序按父節點欄位和子節點欄位,均無效。
排序效果:

參數設定:

解決辦法:
該問題通過把樹參數的“動態獲取子節點”屬性去掉解決。原因是對於下拉樹參數,當動態獲取子節點時,Synapse在執行SQL時會重新封裝SQL以便獲取子節點下的資料,對應獲取子節點的SQL語句被重新封裝後,子查詢的排序效果會取消。

另外,該問題可能聯想到的問題:若將“動態獲取子節點”去掉,會有什麼影響? 答覆:不會有什麼大影響,當下拉樹節點較多時,會載入得較慢一些。
1.1.4 日期控制項
日期控制項是專門用來設定日期或時間的控制項。呈現效果如下。
日期格式:

日期時間格式:

時間格式:

日期控制項設定項

日期控制項設定相對簡單,在第二步設定時,需對日期格式進行設定。
選擇日期:表示日期輸出格式為“YYYY-MM-DD”,即日期控制項參數的取值中只允許選擇日期。
選擇時間:表示日期輸出格式為“HH:MM:SS”,即日期控制項參數的取值中只允許選擇時間。
選擇日期時間:表示日期輸出格式為“YYYY-MM-DD HH:MM:SS”,即日期控制項參數的取值中允許選擇日期時間。
日期控制項的資料類型可以設為“字串”,也可以根據需要設為“日期”、“時間”、“日期時間”,但在SQL中與資料庫欄位進行運算時需要注意欄位類型的對應,或者使用資料庫轉換函數進行轉換。
1.1.5 頻率日期控制項
頻率日期控制項是一個組合參數控制項,包括頻率和日期兩個參數控制項,當選擇不同的頻率時,日期控制項的選擇介面相應變化。例如:頻率的值為“月”,日期控制項就顯示為“年+月”;當頻率的值為“日”,日期控制項就顯示日期。
頻率日期控制項設定項
參數設定的第一步中,設定需要用到的頻率。

參數設定第二步,設定參數預設值。注意不同的頻率有不同的格式要求。

1.1.6 文字輸入框
最常見的輸入框參數,允許使用者直接輸入參數內容進行篩選。呈現效果如下:
文字方塊控制項設定項
文字輸入框無特殊設定項,但請確保“手動輸入”選項處於勾選狀態,以便可以進行輸入。
1.1.7 列表對話方塊
列表對話方塊參數的用法與下拉清單參數類似,呈現效果上將下拉式功能表變為快顯視窗。
列表對話方塊同樣支援單選、多選,並支援對備選值的搜尋功能。
列表對話方塊呈現效果:

對備選值進行搜尋:

清單對話方塊控制項設定項
除了參數控制項類型選擇為“清單對話方塊”外,其它設定項與下拉清單參數一致。
1.1.8 樹對話方塊
樹對話方塊是一種以彈出對話方塊顯示樹形結構選項的控制項,用法與下拉樹參數類似。
與下拉樹參數相比,樹對話方塊同樣支援動態載入子節點、檢測子節點、自訂父子關係等設定,不同之處在於支援對備選值的搜尋功能,以及不支援“自動勾選子成員”。
樹對話方塊呈現效果:

樹對話方塊控制項設定項
不支援“自動勾選子成員”,其它設定項與下拉樹控制項一致。
1.1.9 列表勾選面板
列表勾選面板直接將參數備選值內容呈現出來,使用時直接進行選擇,當參數備選值比較少時使用方便。
列表勾選面板單選效果:

多選效果:

列表勾選面板設定項
列表勾選面板除了一些特有的呈現效果的設定項外,其它設定項與下拉清單參數一樣。

參數寬度:設定整個參數面板的寬度。當參數寬度大於所有列的字元寬度時,會平均分配欄寬並自動增加空白;當參數寬度小於所有列的字元寬度時,參數備選值字元將換行顯示。
列數:參數面板每行放置幾個參數備選值。
舉例:如一共有8個參數備選值,設定列數為4則每行4個備選值,共兩行。如下圖:

如果設定為3則每行顯示3個備選值,共3行。如下圖:

欄寬自動調整:忽略“參數寬度”的設定,每欄寬度以該列中參數備選值的最大字元寬度為欄寬。當自動調整後所有欄寬超過了報表區域的寬度,參數備選值還是會換行顯示。
參數標題寬度:設定參數標題顯示文字的寬度
1.2 多維度資料來源參數
多維度資料來源參數是指參數資料來源於多維度資料庫的一種參數類型。主要用於多維度分析切換參數時動態更新資料。
多維度分析參數包含兩種:切塊參數和自訂參數。
切塊參數是把維度放到多維度分析切塊區域或是多維探索過濾區自動生成的參數。
自訂參數是為了實現更複雜的需求而需要在公共設定中自訂的一類參數
本章節我們主要講述自訂參數。自訂參數和切片參數相比主要用於下面場景:
1、當切塊參數無法滿足的需求,比如要求實現時間段參數。
2、當切換參數時,希望行區或是列區成員也會根據參數過濾。
3、自訂參數是全域參數,可以用於多個多維度分析,而切塊參數只能當前報表生成的參數,只能用於當前報表。
自訂參數的入口為:
在公共設定>參數定義>新建參數,選擇多維度資料來源。即可進入多維度分析參數設定介面。

1.2.1 設定項說明
參數設定第一頁的設定項主要包含如下部分:

1、參數名稱:參數實際的名稱,儲存後不可修改
2、參數別名:參數顯示的名稱,儲存後可以修改
3、描述:參數的相關描述
4、參數類型:成員、成員集
成員:表示該參數返回的是單個的維成員
成員集:表示該參數返回的是一個或多個維成員的集合簡單理解就是參數的單選、多選
5、控制項類型:指參數的呈現方式,支援下拉樹、對話方塊
下拉樹:表示該參數取值範圍內的所有成員以樹結構的方式以供選擇
對話方塊:表示按一下該參數顯示框按鈕後,其取值範圍內的所有成員以彈出對話方塊的方式以供選擇
6、參數寬度:指在報表或頁面中,參數控制項顯示的寬度,以像素為單位。預設150px。
7、參數下拉寬度:打開參數選擇框,參數下拉清單的寬度,以像素為單位。預設150px。注意只有下拉樹參數才有此選項設定。
8、參數下拉寬度:打開參數選擇框,參數下拉清單的高度,為像素為單位。預設為200px。注意是有下拉樹參數才有此選項設定。

參數設定第二頁的設定項主要包含如下部分:

1、顯示該參數:設定在報表瀏覽中,顯示或隱藏參數控制項。當不顯示參數時,查詢將按照參數的預設值自動進行過濾
2、不顯示標題:在報表瀏覽中不顯示參數別名,只顯示參數控制項
3、使用維度篩選程式:當前參數的備選值是否受當前多維度分析中的維度篩選程式控制
4、MDX使用引號:表示當前參數在多維度資料來源參數(或在多維度分析的自訂成員/自訂命名集)的MDX運算式中,是否對該參數值以雙引號標識,以確保符合MDX表達要求。勾選該選項時,返回的參數值會增加雙引號。
5、只選同層:當參數備選值存在父子關係時,啟用“只選同層”設定項後,只能選擇其中某一層的成員,其它層次的成員自動取消選擇。 如機構參數,廣東省下有廣州市、深圳市等,當前選擇了廣東省,當使用者選擇廣州市時自動取消對廣東省的勾選,同樣,選擇廣東省時自動取消對廣州市的勾選。
6、成員所在層次:指定參數所屬維度的層次。
選擇成員所在層次時,不能選擇維度,而必須展開維度,選擇維度下的“層次”。
當選擇了成員所在的層次後,備選值設定、預設值設定中的成員也必須是該維度層級的內容。
7、備選值設定:設定參數的備選值內容,支援靜態清單、MDX運算式、成員樹選擇3種方式:
靜態清單:從左側可選資原始目錄樹上,拖拉“成員所在層次”中指定的層次的成員到表格上,以固定的方式指定備選值成員。可以通過操作列刪除成員、或調整成員的前後位置。

顯示子樹:參數中除了顯示指定的成員,還以樹狀方式顯示當前成員的子孫成員。設定及效果如下所示。 參數設定:

參數效果:

MDX運算式:撰寫MDX查詢語句,將執行結果作為參數的備選值。一般用於較靈活、較複雜的應用場景。 MDX語法為: select { 維度成員 } on columns from [立方體],其中維度成員和立方體通過拖拉方式從左側拖拉到運算式區域。撰寫MDX後可以通過預覽資料按鈕查看MDX語法及執行結果是否正確。 MDX設定及參數結果預覽:


成員樹選擇:直接呈現整個成員樹,成員樹內容來自於“成員所在層次”中指定的層次。 限定級別:勾選“限定級別”後,需要選擇具體要呈現的級別,則在參數的備選值中只呈現該級別的內容。比如“時間”維度有年、季、月、日等級別,若限定級別設定為月,則參數只顯示“月”的內容,其它年、季、日等級別都不顯示。 範例:成員樹選擇方式,但不限定級別的設定介面。

參數呈現介面:

範例:成員樹選擇方式,限定級別的設定介面。

參數呈現介面:

8、預設值設定:設定參數的預設值,支援靜態清單、MDX運算式2種方式
1.3 私有參數
在資料集定義中,可以定義私有參數。私有參數為資料集私有,不可用於其他資料集定義.

功能入口
在資料集編輯介面,欄位輸出區中,選擇“私有參數”節點

操作入口

參數設定項
私有參數節點下的私有參數設定項與關聯式資料來源參數設定項一致,請參見:關聯式資料來源參數
由公有參數轉換得到的私有參數,只允許在屬性設定區設定是否顯示、是否多選以及是否不顯示標題

1.4 參數快取
一般情況下,報表中的參數被訪問時,參數物件將被初始化,並根據參數定義設定參數的預設值、備選值,預設值、備選值設定通常都會是一段SQL語句,從資料庫中返回資料。當啟動參數快取設定項後,報表中的參數物件在首次訪問後會被快取到伺服器中,系統中的使用者再次打開此報表(或其他報表)獲取該參數時,將直接從伺服器返回該參數物件,而無需再次進行初始化,以及獲取參數的預設值、備選值等。當參數備選值的SQL語句執行查詢需要花費較長時間時,參數快取將有效提高系統性能和使用者體驗。
參數快取設定項分為系統級設定項和參數級設定項。
系統級設定:在“平台管理”—“系統選項”,“快取設定”頁中設定“參數快取”為是、否,預設為是。該設定項為系統級設定,如果沒有改動參數的快取設定的話,所有參數將預設採用此設定。

參數級設定項:在參數設定的第二步中有“參數快取”的設定項,包括系統設定、自動快取、禁止快取。
系統設定:此選項為預設選項,意思是獲取系統選項的設定。當系統選項中的快取設定改變時,該參數的快取設定也自動改變
自動快取:設定該參數為自動快取
禁止快取:設定該參數為禁止快取
當參數啟用快取後,如果在參數被訪問後資料庫中的內容發生了變化,由於參數物件已經快取,不會再去執行對應的SQL語句,所以備選值的內容不會同步更新。這時,需要清除參數快取,使得參數重新進行初始化,重新執行SQL語句。方案是在完成資料庫內容更新後,手動執行Synapse清空參數快取的API,當使用者在此訪問該報表時重新進行參數初始化,獲取最新的參數內容。
2 資料格式
資料格式是指用於設定資料集欄位顯示的格式類型。如下圖,"折扣"欄位新增百分比。

資料格式方便使用者在新建業務查詢、計算欄位等各種資源時引用多種資料格式。
操作入口
總入口:在資源目錄區->公共設定的“資料格式”節點按兩下進入“資料格式管理”介面。
介面介紹

“資料格式管理”介面主要分為以下幾個區域:
可選資源區:該區列出了所有的資料類型,用於不同資料類型之間進行切換。
設定區:該區與“可選資源區”中的資料類型關聯,主要顯示各資料類型的所有資料格式清單,同時可以對各資料格式行相應的操作。
管理說明
勾選不同的資料格式類型,則在右側列出對應的資料格式。我們可以新增、修改、刪除這些資料格式。

新建:在“資料格式管理”介面的“可選資源區”選擇資料類型,在“設定區”按一下新增按鈕,彈出該類型資料格式設定視窗。

編輯:在“資料格式管理”介面的“設定區”操作欄中按一下修改按鈕,彈出該資料的設定視窗。
刪除:在“資料格式管理”介面的“設定區”操作欄中按一下刪除按鈕,彈出確定對話方塊。 不同類型的資料,其資料格式設定視窗不同。系統支援的各資料格式的設定項說明如下:
資料類型
設定項
說明
整數
名稱
資料格式的實際名稱。
首碼
資料格式的首碼。
尾碼
資料格式的尾碼。
資料格式
選擇資料格式的計數法,主要有:千分位和科學計數法。
變換係數
選擇資料格式的變換係數,選擇項有:萬元、千元、百分比。預設值是“1”。
浮點數
名稱
資料格式的實際名稱。
首碼
資料格式的首碼。
尾碼
資料格式的尾碼。
小數點位數
該項為浮點數資料格式特有的設定項,表示設定小數點後的位數,允許選擇的範圍是“0-9”,預設值是“0”。
資料格式
選擇資料格式的計數法,主要有:千分位和科學計數法。
變換係數
選擇資料格式的變換係數,選擇項有:萬元、千元、百分比。預設值是“1”。
字串
名稱
資料格式的實際名稱。
首碼
資料格式的首碼。
尾碼
資料格式的尾碼。
日期
名稱
資料格式的實際名稱。
日期格式
設定日期型資料格式的日期格式,格式要求為“yyyy-mm-dd”。
時間
名稱
資料格式的實際名稱。
時間格式
設定時間型資料格式的時間格式,格式要求為“hh:mm:ss”。
日期時間
名稱
資料格式的實際名稱。
日期格式
設定日期時間型資料格式的日期格式,格式要求為“yyyy-mm-dd”。
時間格式
設定日期時間型資料格式的時間格式,格式要求為“hh:mm:ss”。
設定應用
設定方式
建立好的資料格式主要用於資料集、新建成員、計算欄位、欄位本身的格式設定。
下面我們以資料集為例,折扣欄位對應的類型為資料格式


預設的資料格式
產品每種資料類型都自帶一個預設的資料格式,在不對欄位的資料格式進行自訂設定的情況下,所有欄位根據類型會選擇預設的資料格式。

應用效果
表格新增資料格式:

圖形資料格式:

3 加密規則
資料加密是指對某些敏感資訊通過加密規則進行資料的變形,實現敏感隱私資料的可靠保護。
功能入口
通過“新建加密規則”,或者打開已建立的加密規則,都可以打開“加密規則”設定介面。
設定介面入口
入口截圖
1、新建加密規則:在“資原始目錄樹"中找到公共設定>加密規則,在其右鍵功能表中選擇新建>加密規則。

打開已建立的加密規則:展開“資原始目錄樹"中的公共設定>加密規則,找到已有的加密規則,在其右鍵功能表中選擇打開。

介面介紹
加密規則設定介面如下圖所示:

各設定項說明如下:
設定項
說明
規則名稱
輸入規則名稱。
規則別名
輸入規則別名。
加密欄位
選擇進行加密的欄位。
加密演算法
系統支援如下三種加密演算法:
遮罩:是一串二進位碼對目標欄位進行位元與運算,遮罩當前的輸入位。
正則替換:利用規則運算式進行字串替換。
字元替換:利用指定的符號替換字串。
演算法參數
不同的演算法支援的參數不同:
遮罩:確定保留內容以及替換字元。表示欄位中除去保留的部分,其它部分用替換字元替代。
正則替換:輸入規則運算式,設定替換字元。表示欄位符合規則運算式的字串用替換字元替代。
字元替換:設定替換字元。表示欄位所有字串用替換字元替代。
應用範圍
表示當前加密規則生效的使用者物件,可以通過對使用者、使用者群組、角色進行設定。
應用於
表示當前加密規則生效的情景:是在瀏覽資源時生效還是在匯出資源時生效,或者兩者都生效。
禁用
表示禁用當前加密規則。
演算法範例
不同演算法的參數設定範例及效果如下:
演算法
參數設定項
效果
遮罩
以下設定是將整個電話號碼每個數字都用“*”替代。


正則替換
以下設定是將電話號碼區號後面的數字串用“*”替代。


字元替換
以下設定是將整個電話號碼的數字串都用“*”替代。


注意事項
1、資料集抽取:抽取後,預覽資料加密;用快取記憶體庫中的寬表建資來源資料不加密。 2、新建欄位:用加密欄位新建的欄位不加密。 3、參數:加密後的參數篩選不能對應到資料。 4、加密規則只有影響性分析沒有來源分析。 5、加密規則不支援複製表。 6、資料加密支援表:
類型
資料來源
是否支援
資料來源
關聯式資料來源
是
Java資料來源
否
noSQL資料來源
否
多維度資料來源
否
快取記憶體庫
否
跨庫聯合資料來源
否
資料集
自助資料集
資料來源
是
視覺化查詢
是
樞紐分析
是
匯總分析
否
視覺化查詢
分析主題
是
資料來源
是
SQL查詢
否
原生SQL查詢
否
預存程序查詢
否
java查詢
否
多維查詢
否
分析呈現
自助儀表板
自助資料集
是
分析主題
是
匯總分析
分析主題
是
資料來源
是
樞紐分析
視覺化查詢
是
匯總分析
是
分析主題
是
資料來源
是
自助資料集
否
靈活分析
視覺化查詢
是
儀表分析
視覺化查詢
是
試算表
樞紐分析
是
視覺化查詢
是
自助資料集
否
資料來源
是
4 使用者屬性
使用者屬性指使用者的某項特徵,例如使用者所在的機構等。使用者屬性可以通過運算式及函數動態的獲取,能方便地提供其他的資源使用。
使用者屬性一般應用於資料權限設定。
若無法直接根據當前使用者的資訊獲取到機構資訊,則需要使用者和機構的對照表,然後建立使用者屬性從對照表中根據不同的使用者獲取機構資訊。
操作入口
在資源目錄區的“使用者屬性”節點或已建立的使用者屬性資料夾的右鍵功能表中選擇新建>使用者屬性,進入“新建使用者屬性”介面。

介面介紹
“使用者屬性”介面主要分為以下幾個區域:
可選資源區:該區主要列出了設定使用者屬性需要使用的資源。
使用者屬性設定區:該區列出了設定使用者屬性的所有設定項,其運算式使用的資源可從“可選資源區”中拖拉。
設定項說明
“使用者屬性設定區”設定項說明如下:
設定項
說明
名稱
輸入該使用者屬性的實際名稱。
別名
輸入該使用者屬性的別名。
類型
選擇該使用者屬性的資料類型,主要包含:字串、整數、浮點數、日期、時間、日期時間。
資料來源
該使用者屬性所屬的資料來源,在進入“使用者屬性”介面前選擇。
描述
對該使用者屬性的相關描述,該描述用於在資源目錄區顯示的提示資訊中。
運算式
該使用者屬性的運算式,允使用者屬性運算式許使用的資源有:表、視圖、欄位。
使用說明
使用者屬性通常會和系統函數結合使用。
例如新建一個使用者屬性叫做"當前使用者所屬機構",此使用者屬性的含義是根據使用者名獲得了使用者所在的部門。
它的運算式是:select org_code from t_org_info where usr_name =CurrentUserName( )。通常使用者屬性會使用在行權限設定的運算式中。
使用者屬性和資料權限的關係
資料權限和使用者屬性通常結合在一起使用。
資料權限:資料權限是針對具體表,它是根據當前使用者對欄位資料的過濾,和欄位權限相比它是一種橫向的權限設定。
使用者屬性:在新建的使用者屬性中通過系統函數得到使用者所對應的屬性。使用者屬性可以跨資料庫使用,即從A資料庫(比如是系統資料庫)中取得使用者屬性,可應用於其它某個資料庫的查詢中。
具體步驟
下面以一個範例來說明使用者屬性和資料權限如何結合使用:
1、設定使用者屬性。例如新建一個使用者屬性叫做"GetUserProperty(所屬部門)",此使用者屬性的含義是根據使用者名獲得了使用者所在的部門。它的運算式是:select depart from departmentTable where user =CurrentUserName( )。通常使用者屬性會使用在列權限設定的運算式中。
2、設定資料權限。例如某個A表設定了資料權限,運算式是:A.department = GetUserProperty(所屬部門);在視覺化查詢中,如果選擇的欄位涉及到表A,那麼" A.department = GetUserProperty(所屬部門)"會自動加入到 where部分去。這樣,使用者登錄後,在視覺化查詢中選取A表中的欄位,將只能看到該部門的資料了。即: " select A.否否否 from A where A.department = GetUserProperty(所屬部門)" 如果當前使用者所屬的部門為"部門A": " select A.否否否 from A where A.department = (部門A)" 藍色部分語句是系統自動新增。
注意事項
使用者屬性的返回值實際上是SQL語句的where部分,如果使用者屬性返回多個值。這時候,就不能用"=",而應該用"in"。例如:資料行權限管理,運算式是:分行號=GetUserProperty(所屬分行)改成:分行號 inGetUserProperty(所屬分行)
GetUserProperty是一個系統自訂的函數,不能手寫,要從左邊的函數樹中拖動到運算式編輯器中。
使用使用者屬性管理和資料權限管理需要擁有【系統管理】的操作權限和相關的資源權限。
5 警示格式
警示格式主要是為了實現多維度分析、樞紐分析資來源資料警示而提供的格式方案。
我們可以先把警示設定建立好,然後在多維度分析樞紐分析設定警示時使用。
功能入口
警示格式建立入口:在公共設定>警示格式節點下,選擇新建警示格式。

設定介面
在警示格式設定介面,分為突出警示和圖形警示兩種模式,根據需要選擇設定。


自訂圖形:我們需要先把圖形放到產品擴展包或是部署包的vision或是其下的子目錄下,如下圖:

如上圖圖片路徑,在自訂應該輸入如下圖:

6 轉換規則
轉換規則是指查詢時把資料庫中各欄位的內容按需要轉換為熟悉的業務術語。
轉換規則目前只能用於資料類型為字串和整數的欄位,浮點數的欄位不支援轉換規則。
如:當資料庫中“性別“欄位中的功能區內容為“1”和“2”,當我們把“1”與“男”,“2”與“女”進行轉換規則建立後,在報表的“性別”欄位下顯示的是“男”和“女”而不再是“1”和“2”。

操作入口
在資源目錄區的“轉換規則”節點的右鍵功能表中選擇新建>轉換規則,或者選擇主介面的快捷方式新建轉換規則,進入“新建轉換規則”介面。
介面介紹

“轉換規則”介面主要分為以下幾個區域:
可選資源區:該區列出了所有設定轉換規則可使用的資源,其中資料來源與“設定區”中的資料來源是一致的,在進入“轉換規則”介面之前先選取的。
設定區:該區列出了所有設定轉換規則的設定項。這些設定項的說明如下:
設定項
說明
規則名稱
轉換規則的實際名稱。
規則別名
轉換規則的別名,即顯示的名稱。
資料來源
表示轉換規則在哪個資料來源中建立,在進入“轉換規則建立”介面前需要確定。
轉換類型
表示設定轉換規則的類型,主要有:SQL和靜態清單。預設是“SQL”。
若選擇SQL,在“轉換規則”文字區中需要輸入SQL運算式,並確定其實際值和顯示值。
若選擇靜態清單,“轉換規則”文字區變成靜態清單形式,需要列出所有的顯示值及對應的實際值。
轉換規則
設定轉換規則的主要區域,根據轉換類型而不同。
實際值和顯示值
與SQL轉換類型結合使用。
批次導入
與靜態清單結合使用。
描述
轉換規則的描述資訊,顯示在資源目錄區的提示資訊中。
靜態清單
靜態清單是通過手動輸入或是Excel導入的方式對需轉換的實際值和顯示值進行設定。如下圖:

批次導入
當需設定的值比較多的時候,可以通過Excel範本把實際值和顯示值設定好,然後通過批次導入功能導入即可。
要求Excel範本中需要兩列設定實際值和顯示值,如下圖,A列對應的是實際值,B列對應的是現實值。

SQL方式
我們也可以通過SQL語句的方式設定轉換規則。SQL方式一般應用於把資料庫中的欄位A的值轉換為欄位B的值。
如下圖,轉換類型選擇SQL方式,在轉換規則運算式區域輸入SQL語句。
然後點擊更新按鈕,則在實際值和顯示值清單下出現欄位名稱
最後根據需要選擇對應欄位。

SQL方式中也支援比較複雜的SQL語句,如下圖Case when 語句。

使用說明
新建好轉換規則之後,您需要在資源對應的業務查詢的“屬性面板”中進行轉換規則的選取,在瀏覽分析時報表才能顯示出轉換效果。
對於視覺化查詢,則是在工具列上高級設定的欄位設定中。

6.1 轉換規則不生效
現象 資料庫中存在兩個欄位,prov_id(字串),表示實際值,prov_name(字串),表示顯示值,轉換規則設定如下:

在資料集中,對輸出欄位prov_id設定該轉換規則,預覽資料,發現轉換規則並不生效

原因 該問題有可能是轉換規則使用SQL語法,並且SQL中未設定別名導致。修改SQL及轉換規則如下即可:

SQL:select distinct porv_id as a , prov_name as b from yxlc
7 地圖配色
地圖配色方案是指定義一套地圖的顏色序列,應用於地圖設定中。使用地圖配色方案,可以實現一鍵設定地圖配色,快捷方便。
操作入口
在資源目錄區的“自訂配色”節點的右鍵功能表中選擇新建>地圖配色方案,進入“新建地圖配色方案”介面。

介面介紹

設定項說明如下表:
設定項
說明
名稱
用於設定當前配色方案的名稱。不允許重複。
別名
用於設定當前配色方案的別名。
描述
用於設定當前配色方案的描述資訊。
顏色設定
區間名稱:設定區間的名稱。
最小值:設定最小值。
最大值:設定最大值。
透明度:設定顏色的透明度,範圍為0~100。
顏色:設定區間顏色。
8. 函數清單
函數清單用於列出資料庫函數和MDX函數。
8.1 資料庫函數
此處的資料庫函數是為了方便使用者使用資料庫函數而設定。資料庫節點下只是列出相關的函數,使用者在對應的區域中是可以直接拖拉這些參數進行使用,而不需要敲鍵盤重新撰寫。

系統中資料庫函數主要依據“關聯式資料來源”和“多維度資料來源”進行分類,主要分為“關聯式資料來源函數”和“MDX函數”。
關聯式資料來源函數:由關聯式資料庫類型來進行總的分類,當使用者進行查詢建立時,系統會自動根據類型自動載入相應資料庫類型的函數。資料庫類型下還按照函數類別名稱進行了一層分類。
MDX函數:即多維度資料來源函數,根據MDX語法要求提供的一類多維度資料來源函數,為系統內建函數。
對於需要使用的資料庫函式,是可以通過導入的方式新增到資料庫函數節點下。具體參考導入函數。
導入函數
導入函數是指將各關聯式資料庫中或多維度資料庫中的函數導入到系統。
操作入口
在資源目錄區的“資料庫函數”節點的右鍵功能表中選擇導入資料庫函數,彈出“導入資料庫函數”對話方塊。


瀏覽:從本地導入Excel範本。導入函數的Excel範本是有一些要求的,具體參考導入範本章節。
匯出資料庫函數:把當前的資料庫函數匯出,匯出為Excel文件。
導入範本
導入資料庫函數的範本是一個規定了格式的Excel表格,該表格必須包含5欄資料:資料庫類型、函數類別名稱、函數名稱、函數格式、函數描述。
導入關聯式資料庫函數的範本如下圖所示:

導入多維度資料庫函數的範本如下圖所示:

該範本中5欄欄位的意義如下:
資料庫類型:函數所屬的資料庫類型。
函數類別名稱:函數的類別,與資料庫類型一起用於生成函數的目錄結構。
函數名稱:函數的實際名稱。
函數格式:函數的別名,即顯示在樹上的值,也是拖到運算式中的字串。
函數描述:函數的功能描述。
注意
第一列為標題欄,可以空白;第二列開始為資料區,導入資料庫函數是從第二列開始導入,因此範本中的資料必須從第一欄和第二列的交叉儲存格開始填寫。
範本中不允許有空白的儲存格。
範本前3欄資料不能重複,如果前2欄資料相等,第4欄資料不能相等。
範本第一欄即“資料庫類型”要區分大小寫,且必須與下表中的資料類型完全對應。
資料庫類型
驅動程式類型(資料來源中的顯示)
範本中資料庫類型寫法(導入資料庫函數)
ODBC
ODBC
ODBC
MSSQL
Ms SQL Server
MSSQL
MYSQL
MySQL
MYSQL
ORACLE
Oracle
ORACLE
DB2_400
DB2_400
DB2_400
DB2
DB2
DB2
DB2_V9
DB2 V9
DB2_V9
INFORMIX
Informix
INFORMIX
SYBASE
Sybase
SYBASE
TERADATA
Teradata
TERADATA
ACCESS
Access
ACCESS
EXCEL
Excel
EXCEL
多維度資料庫
XMLA
MDX函數
函數應用
關聯式資料來源函數主要應用於建立SQL查詢、原生SQL查詢、參數、計算欄位、分析屬性等資源時,需要使用相關資料庫函數,而從左側資料庫函數樹下拖拉相關的函數到對應的區域。

MDX函數主要用於建立自訂命名集、自訂成員、多維參數等撰寫MDX時,拖拉相關的MDX函數到對應的MDX區域,不用一一手動輸入。
8.2 系統函數
系統函數指與使用者資訊相關的一類函數,包括內建的系統函數和使用者自訂的函數。
例如在資料權限管理、與使用者權限相關的查詢定義中通常會使用到這些函數。
其中內建的函數不允許刪除,自訂的函數允許刪除。
系統內建函數
系統內建的函數主要是一些常用的函數,比如當前使用者的資訊。一般使用者在資料權限設定中使用。
系統內建的函數如下:
函數
說明
CurrentUserAlias()
獲取當前使用者別名。無參數。
CurrentUserID()
獲取當前使用者的編號。無參數。
CurrentUserName()
獲取當前使用者的名稱。無參數。
GetCookie()
獲取Cookie資訊。參數1:cookiePropertyName[字串]
GetFirstDayOfFrequencyParameter()
獲取頻率日期參數值對應的第一天,例如獲取2012年第1周的第一天,返回值為2012-01-01。參數:參數值[字串]
GetLastDayOfFrequencyParameter()
獲取頻率日期參數值對應的最後一天,例如獲取2012年第1周的最後一天,返回值為2012-01-07。參數:參數值[字串]
GetUserProperty(propertyName)
獲取使用者屬性的值。參數:propertyName—指系統管理中的“使用者屬性”名。
CurrentUserAllDepartmentIDRecursively()
當前使用者所屬機構及其所有子機構的ID。無參數。
CurrentUserDepartments()
獲取使用者所屬機構的編號,無參數。用法常見於 select 欄位 from table where 欄位 in (CurrentUserDepartments())
CurrentUserDefaultDepartmentAlias()
獲取使用者所屬預設使用者群組的別名。無參數。
CurrentUserDefaultDepartmentID()
獲取使用者所屬預設使用者群組的編號。無參數。對應系統資料庫中t_group表中的c_orgid欄位
CurrentUserDefaultDepartmentName()
獲取使用者所屬預設使用者群組的實際名稱。無參數。
GetSessionAttribute(AttributeName)
獲取當前會話中的屬性值;參數是“屬性名稱”。
GetSelectedMembers()
獲取當前多維度分析中指定維度層級下的所有成員。參數是“hierarchy”即維度層級。該函數常用於自訂成員中匯總運算式。
GetUserAccessibleMembers()
獲取指定維度層級中當前使用者具有資料存取權限的成員。參數有兩個:
第一個參數:“hierarchy”即維度層級。
第二個參數:“Self”表示獲取頂層成員;“SelfAndChildren”表示獲取頂層成員及其子成員;“Children”表示獲取頂層成員的子成員。
GetUserPropertyWithoutBrackets(propertyName)
獲取使用者屬性(不使用括弧)。參數1:propertyName[字串]
GetUserIP()
獲取當前使用者登錄的IP地址。無參數。
GetUserExAttr(attrName)
獲取當前使用者的指定擴展屬性。參數1:attrName[字串] (擴展屬性的屬性名)
CurrentDate()
獲取當前應用伺服器日期,支援匯總分析、樞紐分析、多維度分析和多維探索的頁面呈現及匯出。
GetVisibleMembers()
返回目前查詢中指定階層結構中非前端隱藏的成員運算式。
GetCurrentFlowProperty()
獲取當前流程屬性。
GetFlowCreatorID()
取得目前流程發起人,僅在流程“操作者”的自訂設定使用。
自訂函數
系統允許使用者自訂“字串”類型的系統函數,以實現一些特殊功能需求:如實現“上年同期”、“取年末或是月末的值”等。
在系統中設定自訂函數,請執行下列操作: (1)建立擴展包,撰寫自訂系統函數類,使用Java語言撰寫。 (2)將撰寫好的自訂函數類檔存放在擴展包的以下包名下:Synapse.freequery.expression.function。 (3)在應用伺服器上重新部署擴展包; (4)重啟應用伺服器,在平台管理介面,找到函數清單>系統函數>字串節點。

(5)在“字串”的右鍵功能表中選擇增加自訂函數,彈出“自訂函數”視窗。

(6)在“自訂函數”視窗輸入名稱,該名稱必須要與放入到“function”目錄中的自訂函數類檔案名稱一致。
(7)建立完成後,就可以和系統內建函數一樣在產品中拖拉使用了。
9 MDX範本
MDX範本是指一些mdx語句的片段,相當於多個mdx函數。
比如{?hierarchy?.defaultMember.children}這是範本的內容。可以在自訂成員的mdx語句輸入框中,先拖進來這個範本,再把範本上預設的輸入填充好就是一個完整的mdx。
功能入口:在公共設定>MDX範本節點下右鍵選擇新建MDX範本

建立範本:在彈出的建立MDX範本介面中輸入MDX運算式,如下:

應用範本:我們在建立自訂成員或是自訂命名集時,可以直接拖拉MDX範本到其運算式中,再把範本上預設的輸入填充好就是一個完整的mdx。

10 值域範圍
定義導入資料的合法範圍,用於驗證Excel中某一列的資料必須在指定的可選值列表內。
功能入口
入口1:在“系統巡覽列”選擇 公共設置,展開資原始目錄區,在“值域範圍”或其節點下資料夾的更多操作
中選擇新建>值域範圍。
入口2:在“公共設置”介面主功能表選擇值域範圍。

選擇資料來源之後,則進入值域範圍設置介面。

值域名稱:值域的真實名稱,保存後不可修改。
值域別名:值域的別名。
描述:值域的描述資訊。
值欄位型別:支援SQL和靜態清單。
SQL
通過SQL的方式設置值域的可選值列表,可通過預覽資料按鈕查看SQL執行結果。

值:SQL運算式,支持where過濾。
值欄位:設置SQL中哪一列作為值域值。
靜態清單
手動設置值列表,並支持批量導入。

批量導入
選擇靜態清單後啟動,可導入UTF-8編碼的文本格式檔,每一行代表一個值,如:

11 電子表格模板
電子表格模板會列出目前電子表格包含的圖表範本和報表範本。此處只是列出範本,若是想對範本進行編輯刪除等操作,請參考雲圖表和電子表格模板

Last updated
Was this helpful?