0

いくつかの計算の後に入力される列 (影響/時間) があります。次に、各行にランクを割り当てたいと思います。たとえば、最大ドル額はランク 1 になります。式を作成するためのヒントをいただければ幸いです。ありがとうございました。ここに画像の説明を入力

4

4 に答える 4

1

ランク機能を使用します。

select [Impact per Hr], [My Rank] = Rank() over (Order by [Impact per Hr] desc)

次に、上位または下位にランク付けする値に応じて、asc/desc を使用します。これは、order by ステートメントにも依存しません。

このようなアプリケーションでは、Row_Number() よりも Rank() を使用することをお勧めします。これは、同じ値の行のランクは同じですが、Row_Number が異なるためです。

于 2015-04-22T13:35:09.517 に答える
1

手順 1: Reports Builder のレポート プロパティのコード セクションに次のコードを追加します。

Public dim previousValue as Integer = 0
Public dim i as Integer = 0
Public dim flag as Boolean = False
Public dim lastRank as Integer = 1

Public Function Rank(sourceValue as Integer ) As Integer

if previousValue = sourceValue
   i = i + 1
   flag = True
end if 
     
if previousValue > sourceValue
    lastRank = lastRank + 1
    flag = False
end if

previousValue =sourceValue

if flag = True 
    return lastRank
else
    lastRank = lastRank + i
    i = 0
    return lastRank
end if
 
End Function

ステップ 2: ランクを表示するセルから上記の関数を次のように呼び出します。

=code.Rank(SUM(Fields!SumTotal_Ending_Balance.Value))
于 2020-09-24T04:52:47.290 に答える