2017-08-05 71 views
1

在Power BI Desktop中,我嘗試通過ID列(包含主鍵)重複值排序以下列。用另一列對重複值進行排序

enter image description here

這將返回錯誤:Nível2「中有不能超過一個值‘’......」

在這種other post似乎暗示是連接的值該列以便它們不會重複。

但我想讓它們重複,以便它們可以在視覺效果中聚合值。

那麼,這種情況的解決方法是什麼?

在此先感謝您的幫助!

回答

1

問題是您的排序列(即您的ID列)包含您嘗試排序的列(即Nivel2列)中每個值的多個值。

您需要確保您的排序列對於您嘗試排序的列中的每個值只包含一個不同的值。

實現此目的的一種方法是根據您的ID列創建一個新的(計算的)排序列。它可以被定義如下:

SortColumn:=CALCULATE(MAX('YourTable'[ID]),ALLEXCEPT('YourTable','YourTable'[Nivel2])) 

這裏的SortColumn將如何表現一個例子:

Id Nivel2    SortColumn 
1 Caixa    4 
2 Caixa    4 
3 Caixa    4 
4 Caixa    4 
5 Depósitos à ordem 7 
6 Depósitos à ordem 7 
7 Depósitos à ordem 7 

現在,您可以排序SortColumn Nivel2。

編輯 - 在SortColumn的實施應在數據源

做似乎是在PowerBI的限制,它檢查排序列的實現,而不是在排序列中的數據。因此,即使排序列中的數據完全有效,上述解決方案也不起作用。

This column can't be sorted by a column that is already sorted, directly or indirectly, by this column.

的SortColumn的實施應被移動到數據源來代替:當您嘗試通過SortColumn排序[Nivel2]上述解決方案將拋出此錯誤。即如果您的數據源是Excel工作表,那麼應該在Excel工作表內創建SortColumn。

上面的答案確實解釋了問題和解決方法。唯一的變化是SortColumn必須在表格模型(PowerBI)之外實現,以確保PowerBI不知道SortColumn和[Nivel2]列之間的依賴關係。

+0

您何時/何處發生此錯誤? – dybzon

+0

對不起,公式工作正常,但我無法按計算列排序。我收到錯誤消息:「此列不能按已經,直接或間接地按此列排序的列進行排序」。 –

+0

啊哈。您的[ID]專欄是否基於(或排序)您的[Nivel2]專欄? – dybzon

相關問題