• 沒有找到結果。

第三章 研究方法

3.4 多維度操作紀錄正規化

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

究將利用 Microsoft SQL Server 2008 所提供的 Profiler 功能,記錄每筆使用者在於多維度 分析平台上所進行的查詢內容。表 3-1 的資料就是我們所記錄下來的所有使用者在多維 度分析系統上所做的操作紀錄,後續我們將會藉由內容的觀察,將每筆資料解析為可做 為分析使用的資料。

表 3-1、使用者於多維度分析系統的操作紀錄範例

3.4 多維度操作紀錄正規化

經由 Profiler 所記錄下來的操作都是一連串複雜的 MDX 語法,無法運用在研究中進行 相似度的判斷。因此在本研究中,參考 Carsten Sapi [9]的作法,將每筆操作記錄的正規 化成一個可運用的項目集合。在本研究中,我們藉由觀察資料庫內的資料屬性,撰寫一 隻適當的解析程式來剖析每筆操作結果,將每次的操作紀錄拆分為四個部分:Cube 名 稱、維度-報表 、維度-過濾條件與量值四個部分,最後再經由簡化的方式將每筆的操作 紀錄正規化為一個有限的維度集合(={df,..dr, M})。在此表示式中我們把量值也視為一個 特殊的維度。下面是一個 MDX 範例,在後續我們將會依據正規化的方式將此查詢 MDX 進行拆解:

是以 Measure 為開頭的字串,因此我們可以利用[Measures].找出每個量值的起始位 置,接下來我們可以利用 ] 找出各量值得結束位置,以此範例來說[消費人數]的起 始位置為 20 與 25。

3. 步驟三:分析此次操作的過濾維度:在多維度分析系統的查詢語句中,過濾的條件 式與 T-SQL 相似,會出現於 WHERE 的描述式中,但是它是對維度以 SLICE 方式 進行查詢過濾。因此在解析的過程中,我們將會利用 WHERE 字串協助定位出過濾 維度的起始位置,接下來我們可以利用維度的形式 [Dimsnsion].[Level].&[Member]

的特性,利用 [ 、.&[ 與 ] 等字串的位置找出每個過濾維度的起始與結束的位置。

 [Dimsnsion].[Level].&[Member]

 [Dimsnsion].[Level].[(All)].ALLMEMBERS

且報表維度也一定會出現於 WHERE 前面,因此我們可以利用此兩個特徵,分析得 到此操作中的報表維度為[清算日].[清算日 年].&[2008 年]與[清算日].[清算日 年].&[2008 年]。

5. 經過系統的解析後將會拆分為下列四類型的物件

 Cube 名稱:[卡友消費分析]

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

 報表維度名稱:

 [清算日].[清算日 年].&[2008 年]

 [清算日].[清算日 年].&[2009 年]

 過濾維度名稱

 [特約商].[主產業別].&[TT]

 量值名稱:[消費人數]

但是在推薦機制的相似度判斷中,所有的操作內容都是百分之百相同的情況是非常的低 的。因此系統將會再進一步的此結果進行簡化,我們將維度中特定成員(member)的資訊 給刪除後,做為正規化後的最小單位,並且將每個查詢式以下列表示式呈現

Þ = ( Cube , Ds = {s1,…,si} , Dr = {r1,…,rj} , Mm = {m1,…,mk}) Ds 表示此次操作所包含的過濾維度集合

Dr 表示此次操作所包含的報表維度集合 Mm 表示此次操作所包含的量值集合 因此此次的解析結果正規化後將如下

 Cube 名稱:[卡友消費分析]

 報表維度名稱:[清算日].[清算日 年]

 過濾維度名稱:[特約商].[主產業別]

 量值名稱:[消費人數]

Þ = ([卡友消費分析],{ [清算日].[清算日 年]},{[特約商].[主產業別]},{[消費人數]}),這樣 的項目集合也將會作為後續相似度判斷計算時所使用。

相關文件