2012-06-08 55 views
0

我在找落實措施,通過訂購產品的數量計算訂單的最佳途徑。通過產品的數量來計算訂單SSAS最好的方式有序

有ProductsOrdered的事實表,這樣

CREATE TABLE ProductsOrdered (
    IdOrder UNIQUEIDENTIFIER, 
    IdProduct UNIQUEIDENTIFIER, 
    OrderDate DATE, 
    Quantity INT, 
    Price DECIMAL(18,2) 
) 

,每有表中的行對每一種產品的有序順序。

我想有一個衡量指標有多少訂購單個產品,多少個2,等等。

就像這個SQL查詢一樣。

SELECT OrderedProductNumber, COUNT(IdOrder) AS NumberOfOrders 
FROM (
    SELECT IdOrder, COUNT(IdProduct) AS OrderedProductNumber 
    FROM ProductsOrdered 
    GROUP BY IdOrder 
) t 
GROUP BY OrderedProductNumber 

哪個MDX表達式最適合對應?

謝謝。

回答

1

您遇到的問題是您只能按維度生成計數。在這種情況下,您的維度是訂購的產品(1,2,3等)。您的選擇是創建具有可能性範圍(單調乏味)的物理維度,或爲維度創建「虛擬」成員與計算相同(繁瑣且可能是性能問題)。我會傾向於爲訂購的產品創建維度,然後使用SQL查詢創建事實表並將維度和度量值組添加到多維數據集。從長遠來看,通過物理實例化計數會更容易,您將獲得更好的查詢性能。

2

可以根據產品 然後測量組基於事實數據表,你叫ProductOrdered, 那麼你可以根據你的IOrder列(如[IOrderdistinctcount]

後定義重複計數度可以定義維度使用

select 
{IOrderdstinccount} on 0, 
[dim Product].[product].[Product].members on 1 
from [Cube] 
相關問題