2012-03-10 150 views
0

好的,我在這裏看到過類似的問題,但沒有完全一樣的。我正在創建基於從DW讀取數據的多維數據集的報告。許多報告傾向於按照每週按價值或按月按價值排列。一切似乎都沒問題,但周和月(列)沒有正確排列。第10周在第9周前,第2周在第1周前,等。我非常沮喪,我不能讓這些東西正常工作。SSRS按日期排序

要補充一點,在某些時候,我的客戶需要能夠使用Reportbuilder 3.0針對多維數據集編寫他們自己的報告。所以,我不願意依靠手動編輯查詢。很明顯有一些明顯的方法來做到這一點。在我的DimDate中,我有一個名爲varchar的星期,一個星期是日期等。

我在這裏丟失了一些明顯的東西。

謝謝!

回答

0

排序順序是有意義的(varchars是字符串{「Week 10」,「Week 9」}和{「February」,「January」}),因爲它們在您的示例中位於它們各自的對之前已經給出了,假設一個ASCII類型的字符串值。

有多種方式以具有升序排序以字符串作爲列標題(假設ASCII類型的字符串字段排序):

  • 確保週數的長度是例如兩個數字「第9周」將成爲「第09周」。這將確保星期列按升序排列(或降序排列,情況是如此)。
  • 在月份名稱前添加月份數字例如「1月1日」,「2月2日」 - >您仍然需要兩位數的月份數字,否則您將得到與星期數字相同的問題。
  • 使用格式化日期而不是字符串,因爲日期將被正確排序。

或者,如果問題在立方體內的尺寸所引起,你可以確保任何ORDER BY子句上的鍵,而不是名稱字段。

+0

前兩個好主意。沒有想到這一點。但是,我嘗試使用格式化的日期,我最終沒有顯示任何內容。這很奇怪。我無法弄清楚什麼是錯的。 爲了記錄,日期顯示在多維數據集中正確排序。 – user1168607 2012-03-12 04:02:23