2012-05-04 48 views
0

在Windows Server 2008中,我使用SQL Server 2005,Visual Studio和SQL Server Analysis Services創建了一個OLAP多維數據集。SQL OLAP多維數據集和維

該場景是銷售產品,客戶和代理的典型商店。

該立方體是由事實表tblVendite(銷售數據)和基於sql視圖的維度。

注意我想在這裏嵌入的截圖,但他們將調整並不會清除,所以我在一個安全網站上公佈他們查看:

SCREENSHOT: stucture of the cube

  • 事實表tblVendite (銷售)>PK:CdArticolo(IDProduct)
  • DIMENSION Prodotti(produtcs)
  • DIMENSION Calendario(日曆)
  • DIMENSION Agenti(代理人)
  • DIMENSION Clienti(客戶)

瀏覽基本的過濾器日曆,客戶/代理商,產品,品牌的立方體...所有做工精細

現在我需要提供一個新的功能爲: 比較所有公司,每個代理的銷售的「頂賣品牌」,看看他是如何出售這些品牌

所以我做到了新表和相關的觀點:vwMarcheOrd(上賣的品牌)

頂部賣品牌是由sp預填充和包含1個記錄每個品牌(CdMarca - Position - Description ORDER BY位置)

注意:從vwMarcheOrd我不能有直接聯繫的事實表,因爲PK是CdMarca,它是不存在的,所以我需要「橋」的觀點被CdMarca產品,並獲得CdArticolo鏈接事實表

尺寸和BrandTop Brand屬性:

SCREENSHOT: cube dimension

瀏覽TH Ë立方體和問題

添加維Brand(1)行字段的結果是正確的,但如果我加入Top Brand(2)是不正確的,許多品牌都缺少(但他們存在)

SCREENSHOT: browse Top Brand

所以我的問題是2:

  1. 我丟失或錯誤或與Top Brand尺寸誤解?
  2. How i can display all records即使代理商沒有銷售該品牌的任何產品(空白行),該行的領域中的頂級品牌?

p.s.我也試圖使維基於vMarcheOrd,然後創建一個與產品表的引用關係橋CdMarca> CdArticolo>事實表,但結果是相同的

在此先感謝誰可以真正幫助我解決這個問題這阻止我,因爲很多天

+0

新視圖vwMarcheOrd和產品視圖之間的連接是什麼?什麼是頂級品牌,你怎麼知道它是頂級品牌?你的圖像不可讀。 –

+0

@Ali_Abadani我已更新信息以回答您的問題 –

+0

阿里的答案可能是正確的,但從您的描述中可以看出,「頂級品牌」實際上是什麼。在限定的時間內,產品只能是「頂級」(大部分銷售量,大部分收入,大部分利潤),那麼您如何處理1月份頂級品牌與全年頂級品牌?或者這與您的情況無關? – Pondlife

回答

0

據我所知,它看起來像頂級品牌可能會隨着時間而改變。這意味着你需要以某種方式跟蹤這段時間。在我的論壇中,最簡單的方法是將TopBrandKey添加到事實表中,並將頂級品牌維直接加入事實表。這種方式在事實表中爲您完成時間跟蹤。隨着新記錄的進入,您會查找頂級品牌的關鍵字並將其添加到事實表中。我不認爲你擁有它的方式是可行的,因爲出售的產品不會擁有最高品牌的品牌(這是兩種不同的東西)。

+0

感謝您的澄清,但我不能在事實表中的TopBrandKey,在這種情況下,我只能讀取數據,並且不會因爲使用其他DataWareHouse而更改任何內容。 如上所述,TopBrandKey是橋樑vProdotti的「關係參考」。 順便說一句我發現幾分鐘前的問題,並且是由於從SQL 2000移植了不正確的數據裏面的表(頂級品牌)。所以在重建表並重新處理多維數據集之後,所有工作都很好。 –

0

問題的Ciao盧卡:)

在我看來,你沒有對你的立方體的屬性之間的適當屬性關係。

我看到你正在使用BIDS 2005,對此我並不十分熟悉(2008年的幫助會更容易),但你需要做的是設置Prodoti - > Brand - > top之間的關係品牌

您可以通過維度名稱下方屬性上的那些符號來完成此操作。

+0

感謝您的幫助 –

相關問題