簡體   English   中英

如何在另一個層次結構中執行MDX成員減法?

[英]How do I perform MDX member subtraction across another hierarchy?

我有一個與客戶和產品有關的多維數據集。 每個客戶持有不同數量的產品組合。

我想計算一個客戶與另一個客戶在每種產品中持有的金額之間的差異(相減)。

我正在使用SQL Server Analysis Services2014。AdventureWorksDW2014的示例為:

select
{[Customer].[Country].&[Australia],[Customer].[Country].&[Canada]} on columns,
non empty ([Product].[Category].members, [Measures].[Internet Sales Amount]) on rows
from 
[Adventure Works]

這將產生以下輸出:

                Australia       Canada
All Products    $9,061,000.58   $1,977,844.86
Accessories     $138,690.63     $103,377.85
Bikes           $8,852,050.00   $1,821,302.39
Clothing        $70,259.95      $53,164.62

但是我想得到的是

                Australia       Canada          (Australia - Canada)
All Products    $9,061,000.58   $1,977,844.86   $7,083,155.72
Accessories     $138,690.63     $103,377.85     $35,312.78
Bikes           $8,852,050.00   $1,821,302.39   $7,030,747.61
Clothing        $70,259.95      $53,164.62      $17,095.33

理想情況下,不僅可以在MDX中執行此操作,還可以允許用戶選擇任意兩個任意客戶進行比較。

這是我的第一個MDX問題,所以請讓我知道是否應采用不同的框架。

這是所需輸出的MDX查詢:

WITH MEMBER Australia AS
SUM({([Measures].[Internet Sales Amount], [Customer].[Country].&[Australia])}), FORMAT_STRING = "#,#.##"
MEMBER Canada AS
SUM({([Measures].[Internet Sales Amount], [Customer].[Country].&[Canada])}), FORMAT_STRING = "#,#.##"
MEMBER [Australia - Canada] AS
[Australia] - [Canada]
SELECT
{[Australia], [Canada], [Australia - Canada]} ON COLUMNS,
NON EMPTY {[Product].[Category].MEMBERS} ON ROWS
FROM [Adventure Works]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM