mdx常用計算之環比與同期比

2021-04-27 02:12:01 字數 1398 閱讀 4833

同比和環比計算是企業應用、電子商務應用中常用的計算方法,也是常用的資料分析手段。寫這篇文章也是因為最近在學習mdx相關的一些計算方法的同時回想到原來我在專案中使用過的一些類似的,利用sql來完成的統計計算,如前期和當期的差額,趨勢等。比較之下,利用mdx來完成這些計算比用sql來做要簡單清晰得多,當然這是毫無疑問的。原來利用幾十行甚至上百行sql來完成的計算(有時還要借助程式**來完成計算)現在用mdx只要十幾行左右就可以完成。因此,mdx所帶來的好處是很明顯的。本文就主要介紹利用mdx進行同比和環比計算。  

現在進入正題,我首先介紹一下本文使用到的多維資料集(在說明mdx查詢之前對多維資料集作一些介紹有利於理解)。本文中用到的多維資料集是通過sql server 2005提供的案例資料倉儲adventureworksdw建立的。多維資料集的名稱是aw cube。本文介紹的同比和環比查詢所涉及到的維度包括[ship date](時間維度)和名稱為[sales amount]的度量值。因為是乙個用於學習的案例,所以結構比較簡單,可以通過適當地修改mdx查詢(如進行切片、切塊、下鑽、上捲操作)來達到實際使用目的。

在時間維度中包括兩個層次:[ship date].[h_timeysqmd];[ship date].[h_timeywm]。本文主要用到的是前者。這個層次結構為:calendaryear->calendarsemester->calendarquarter->monthnumberofyear->daynumberofmonth。 

接下來再說明一下什麼是環比及同比。簡單地說,環比就是逐期的資料比較;同比就是同期的資料比較。例如:將今年的下半年資料與上半年資料相比較;將今年的五月的資料與四月的資料相比較;將今年第三季度的資料與今年的第二季度相比較,這些都是環比。將今年的資料與去年的資料比較;將今年五月的資料與去年五月的資料比較;將今年第一季度的資料與去年第一季度的資料比較,這些都是同比。

同比的mdx**如下(計算成員):

環比計算成員測試**

select on

columns,  on

rows 

from

[aw cube

]這個查詢用於測試上面的環比計算成員。這個查詢可以顯示2023年下半年與上半年的差額以及2023年三季度與二季度的差額、四季度與三季度的差額。查詢的結果見圖二,第一列(列名為2這一列)第一行(sales amount這一行)對應的資料是2023年下半年的銷售資料,第一列第二行對應的資料是與上半年的差額。第二列第一行是2023年三季度的銷售資料,下面一行是與第二季度的差額... 

圖二:環比查詢結果

Oracle 常用計算

時間計算 oracle 兩個時間相減預設的是天數 oracle 兩個時間相減預設的是天數 24 為相差的小時數 oracle 兩個時間相減預設的是天數 24 60 為相差的分鐘數 oracle 兩個時間相減預設的是天數 24 60 60 為相差的秒數 months between date2,dat...

Oracle 常用計算

時間計算 oracle兩個時間相減預設的是天數 oracle 兩個時間相減預設的是天數 24 為相差的小時數 oracle 兩個時間相減預設的是天數 24 60 為相差的分鐘數 oracle 兩個時間相減預設的是天數 24 60 60 為相差的秒數 months between date2,date...

js 常用計算

由於存在計算精度的問題,例如0.1 0.2 0.30000000000000004,所以需要整理以下方法,方便進行簡單計算。主要思路是先轉成整數,然後再進行計算,計算完再轉回浮點數 獲取小數字以及向右移動小數字,是計算時轉換成整數的工具函式。加減乘除四個函式都用到了 獲取小數字 export fun...