Sql-Server-2012

sql server 數據倉庫中維度的排序

  • February 3, 2016

建構並部署了一個帶有日期維度的簡單多維數據集。該維度具有月份之類的內容。我該如何排序?它始終在報告中顯示為 1, 10, 11, 12, … 19, 2, 20, 21

設計。

DimDate(3 列)

  • 日期ID KEY
  • 日期 DATETIME {值 2000 年 1 月 1 日、2000 年 1 月 2 日等}
  • DAY VARCHAR(2) {值 1,2,3,4,5,6,7 等}

FactAppointment(一欄)

  • DateID {值鍵變暗}

我將 dims 排序列設置為鍵或日期,但都不起作用。

當連接了 excel 或任何其他 bi 工具並且日期暗淡是一列時,簡單的計數是日期未排序的值。

圖片:列標題排序不正確。1, 10,11,12,…,19,2,20

在此處輸入圖像描述

Analysis Services 會將維度屬性的數據類型設置為與源列相同。它完全按照您的要求進行排序。您的日子被聲明為字元類型。因此,它們將根據字元排序 (1, 10, 11) 而不是數字排序 (1,2,3) 進行排序。

您沒有指定這是多維模型還是表格模型,但兩者都支持排序順序屬性。如果我需要提供字元數據(如月份名稱),但需要按月份順序對其進行排序,我將擁有諸如 MonthName 和 MonthSortOrder 之類的列,並且不會向消費工具提供帶 SortOrder 後綴的欄位。

在多維模型中,另一個選項是編輯數據源視圖並將源表替換為命名查詢,該查詢包括將“Day”列轉換為整數。

引用自:https://dba.stackexchange.com/questions/126244