Sql-Server
瀏覽時 SSAS 層次結構重複
多維數據集中的維度給我們重複,處理多維數據集時沒有錯誤,但是當瀏覽多維數據集時,我們可以看到重複。
在我們的維度中有一個層次結構,層次結構是這樣建構的
Country -- State -- Area
。在數據庫中,維度數據如下所示。
+---------+------------+-----------+ | Country | State | Subarea | +---------+------------+-----------+ | India | Karnataka | Bangalore | | India | Telangana | Hyderabad | +---------+------------+-----------+
現在,當使用 Country 屬性瀏覽多維數據集時,我們看到 country 下的 2 個成員為“India”,當針對該屬性選擇度量時,銷售額在這兩個值之間被打破。
我們可以做任何工作來避免這個問題嗎?
該行為取決於您的
KeyColumns
設置。給定一個包含這 2 個命名查詢的多維數據集
datasource view
城市:
SELECT 1 AS id, 'India' AS country, 'Calcutta' AS city UNION SELECT 2 AS id, 'India' AS country, 'Bangalore' AS city
銷售量:
SELECT 1 AS city, 5 AS salesamount UNION SELECT 2 AS city, 5 AS salesamount
基於城市的維度,連結到
sales.city->cities.id
關係上的 Sales 表,如下所示,使用 id 列KeyColumns
:結果是這樣的:
但是,如果我將
KeyColumn
屬性更改為該屬性country
,如下所示:結果是所有銷售額都在一個國家/地區報告:
我同意文件有點簡潔:
包含表示屬性鍵的一個或多個列,該鍵是屬性綁定到的數據源視圖中的基礎關係表中的列。除非為 NameColumn 屬性指定了值,否則每個成員的此列的值都會顯示給使用者。
您應該將其解釋為“鍵列中的每個不同值都有一個單獨的屬性成員,即使顯示的值相同”
但是請注意,更改鍵列可能需要您更改
NameColumn
和OrderBy
屬性。此外,
KeyColumns
可以由多個列組成,充當唯一鍵,而不是像我的範例中的單個鍵。有時,當現有報告更改現有結構的風險太大時,添加額外屬性可能是一個不錯的選擇。