使用MDX進行環比查詢
在報表查詢中經常要進行本期和上期比較,比如3月銷售額和2月銷售額的比較!一般有絕對值和相對值之分,
如 本期增量=本期值-上期值;絕對值
本期增幅=(本期值-上期值)/本期值;相對值
1:MDX本查詢
with member [time2].[本期增量] as '[time2].[所有 time2].[1997].[Q1].[3]-[time2].[所有 time2].[1997].[Q1].[2]'
member [time2].[本期增幅] as '[time2].[本期增量]/[time2].[所有 time2].[1997].[Q1].[3]'
select
{[time2].[所有 time2].[1997].[Q1].[3],[time2].[所有 time2].[1997].[Q1].[2],
[time2].[本期增量],[time2].[本期增幅]} on columns,
{[Measures].[Store Sales]}on rows
from Sales
3月和2月相比銷售量增量和增幅。
備註:1)如果無上期成員,則值為0;
2)MDX提供PrevMember函式表示上一個成員,[所有 time2].[1997].[Q1].[2]可以用[所有 time2].[1997].[Q1].[3].
PrevMember代替。
2:求解順序
如果生成多個計算成員,某個計算成員使用其它計算成員,則使用SOLVE_ORDER 指明生成順序
如:
with member [time2].[本期增量] as '[time2].[所有 time2].[1997].[Q1].[3]-[time2].[所有 time2].[1997].[Q1].[2]'
,SOLVE_ORDER = 1,
member [time2].[本期增幅] as '[time2].[本期增量]/[time2].[所有 time2].[1997].[Q1].[3]'
SOLVE_ORDER = 2
如 本期增量=本期值-上期值;絕對值
本期增幅=(本期值-上期值)/本期值;相對值
1:MDX本查詢
with member [time2].[本期增量] as '[time2].[所有 time2].[1997].[Q1].[3]-[time2].[所有 time2].[1997].[Q1].[2]'
member [time2].[本期增幅] as '[time2].[本期增量]/[time2].[所有 time2].[1997].[Q1].[3]'
select
{[time2].[所有 time2].[1997].[Q1].[3],[time2].[所有 time2].[1997].[Q1].[2],
[time2].[本期增量],[time2].[本期增幅]} on columns,
{[Measures].[Store Sales]}on rows
from Sales
3月和2月相比銷售量增量和增幅。
備註:1)如果無上期成員,則值為0;
2)MDX提供PrevMember函式表示上一個成員,[所有 time2].[1997].[Q1].[2]可以用[所有 time2].[1997].[Q1].[3].
PrevMember代替。
2:求解順序
如果生成多個計算成員,某個計算成員使用其它計算成員,則使用SOLVE_ORDER 指明生成順序
如:
with member [time2].[本期增量] as '[time2].[所有 time2].[1997].[Q1].[3]-[time2].[所有 time2].[1997].[Q1].[2]'
,SOLVE_ORDER = 1,
member [time2].[本期增幅] as '[time2].[本期增量]/[time2].[所有 time2].[1997].[Q1].[3]'
SOLVE_ORDER = 2
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12921506/viewspace-201762/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用Excel進行快速模糊查詢的方法Excel
- JPA使用Specification pattern 進行資料查詢
- 如何使用Java Streams進行資料庫查詢?Java資料庫
- 如何使用PL/SQL進行分級查詢WPSQL
- Spinach: 使用Spark SQL進行即席查詢 [session]SparkSQLSession
- 使用T-SQL進行活動目錄查詢SQL
- ApacheSolr+PHP進行全文查詢ApacheSolrPHP
- 如何使用 Eloquent 在兩個日期之間進行查詢?
- 如何在Django ORM中進行not查詢?DjangoORM
- filter的pk進行多值查詢操作Filter
- ORDER對查詢結果進行排序排序
- oracle中對LONG列進行查詢Oracle
- RAC環境對並行查詢的支援並行
- 使用Spring Reactive MongoDB進行自定義更新查詢 -Yuri MednikovSpringReactMongoDB
- Django中views資料查詢使用locals()函式進行優化DjangoView函式優化
- 使用AspNetPager進行分頁,查詢條件丟失問題
- VS.net 中,使用正規表示式進行查詢、替換
- 4.4、Libgdx使用方法查詢執行環境相關屬性
- java中資料庫查詢,搭配簡單的圖形介面進行查詢Java資料庫
- Mongodb操作之查詢(循序漸進對比SQL語句)MongoDBSQL
- 進入諮詢行業前後對比圖行業
- 【索引】oracle查詢使用索引和不使用索引的比較索引Oracle
- 自己構建Ajax請求進行模擬QueryTask進行查詢
- 用於對執行慢的查詢進行優化優化
- 使用Jupyter NoteBook進行IB查詢和交易,以及使用演算法交易示例演算法
- SQL Server MDX中軸的使用SQLServer
- django不使用序列化器來進行查詢結果序列化Django
- SLS 查詢新正規化:使用 SPL 對日誌進行互動式探索
- mysql timestamp比較查詢MySql
- 如何抽取Oracle資料到文字文件進行查詢NAOracle
- Mysql利用Like支援根據匹配度進行查詢MySql
- python對solr進行查詢、插入操作(GET\POST)PythonSolr
- 在Oracle中進行大小寫不敏感的查詢Oracle
- 執行長查詢時,怎樣獲取進度?
- 由於 DNS 查詢故障,DSA 操作無法進行DNS
- c++map 查詢元素和list查詢元素速度對比C++
- 用於對執行慢的查詢進行分析的清單
- 使用子查詢