2009-01-26 55 views
16

我正在處理一個SQL Reporting Services報告(在VS.Net 2005中),它顯示矩陣中不同數據的計數。這些列有一定數量的客戶數量。所以我有幾個這樣的專欄:「1個僱主」,「2-9個僱主」,「10-19個僱主」等等。如何指定矩陣中的列的順序?

我遇到的問題是SQL Reporting Services按字母順序排列矩陣中的列。所以我最終在「1僱主」專欄之後但在「2-9」之前獲得了「10-19」專欄。

有什麼辦法解決這個問題嗎? 或者也許是一個把列標籤改爲他們排序的技巧?

謝謝。

+0

感謝您問這個問題幾個月前我需要問同樣的問題! – Pulsehead 2009-04-02 15:22:31

回答

18

我們做了很多SSRS報告,這一直是mdx的一個問題。這是一個方式,我們做到這一點:

套裝分組排序和排序屬性用這句話來排序:

=iif(Fields!DataSetField.Value = "ColumnName", "zzz", Fields!DataSetField.Value) 

其中「ZZZ」可能是一個數字或任何你需要它以幫助排序,然後根據此表達式選擇方向作爲升序或降序。

1

我有一個類似的問題,但沒有及時發現使用矩陣的解決方案 - 所以我使用了一個表格 - 並將矩陣的所需邏輯放入我的SQL語句中。 這不是最好的做法,但它的工作原理 - 速度足夠快,並且不需要很長時間來編寫。

4

這可能有點複雜,但我們遇到了類似的問題,無法更改SQL。 我們所做的是在數據集中創建一個計算字段,該字段返回每列的數字並對該數字上的組進行排序。

0

我進入MATRIX - > PROPERTIES - > GROUPS。 然後,我「移動」了GROUP,我想讓它在列表中按UP排序。 我去了預覽,它完美的工作。 它甚至保持我的列順序相同。

+2

你爲什麼認爲這將解決海報問題?他的問題是排序按字母順序排列。 – 2012-11-23 11:49:16

0

轉到編輯組 - 排序 - 更改表達式的下降方向。

+3

你爲什麼認爲這將解決海報問題?他的問題是排序按字母順序排列。 – 2012-11-23 11:48:33

17

這也可以通過向排序順序的查詢中添加一個新列來完成。然後右鍵單擊矩陣中的列組並選擇組屬性。在左側選擇排序。從這裏您可以指定另一列來代替列標題進行排序。沒有自定義公式需要。

+2

這是最好的解決方案。我希望我能接受它,所以它會在這裏列表的頂部。 – 2014-12-04 16:12:45

0

對於Tablix的不同數字順序,請在表達式中使用以下代碼行。

= RunningValue(CountDistinct( 「YourTableName」),伯爵, 「YourTableName」)