9

私は別のSSRSの質問に戻ってきました:-)

調査データを扱っています。質問ごとに組織の回答数を返す手順があります。したがって、私のレポートは、行は組織のグループ、列は回答のグループとして定義されています。組織の数と回答の両方が可変です。それは期待どおりに機能しています。ランクを表示できるように、組織の横に RowCount を追加しようとしましたが、各組織には質問ごとに 1 つの行があるという事実は、組織ごとに 8 つの行を取得していることを意味します。

次に例を示します。
チャート

これが私のレポート定義です:
チャート
ランク式は現在:=RowNumber(Nothing)

理想的には、ランクは1、2、3、4などになります...行グループ、列グループにスコープを試しましたが、何もしませんでした。助け無し。

どんな援助でも大歓迎です!

4

8 に答える 8

26

同じイライラする問題がありました。多くの時間を無駄にしました。最終的に、このソリューションは次のことにも役立ちました。

=RunningValue(CountDistinct("YourTableName"),Count,"YourTableName")

ここでのコツは、テーブル/マトリックス内のグループの名前ではなく、テーブル自体の名前を使用することです。そして、はい、関数 RowNumber でスコープにテーブル名を使用するとうまくいくはずだと思うかもしれませんが、そうではありません。

于 2011-10-31T17:27:47.877 に答える
3

使用してみてください:

runningvalue(Fields!AnswerText.Value,CountDistinct,"NameOfOrganizationGroup") 

マトリックスの場合は、スコープの名前を行スコープからマトリックス スコープに変更します。

于 2011-06-27T09:11:36.160 に答える
2

カスタムコードで行います。

これをレポート構成のコード セクションに追加します。

Dim private count as integer = 0
Dim private iniRow as integer = 0
Public function nroFila(Byval rowNum as integer) as integer
    if iniRow = 0 then
        iniRow = rowNum
    end if

    if rowNum = iniRow then
        count = 0
    end if

    count = count + 1
    Return count
End function

次に、グループ内のセルで関数を呼び出します。

=Code.nroFila(RowNumber(Nothing))
于 2013-02-07T15:48:16.357 に答える
1

解決策を見つけたようですが、ハックのように感じます...他の誰かがより良い解決策を提供できるかどうかを確認するために、これを未回答のままにしておきます(ハックを少なく読んでください)。

私のランク式は次のとおりです。
=RowNumber(Nothing)/Count(Fields!AnswerText.Value)

すべて問題ないようです。IIf(Count... = 0, Then RowNumber, そうでなければ私が持っているもの...

于 2009-12-01T14:37:32.453 に答える
0

RowNumber("NameOfOrganizationGroup")使用が機能しないことを絶対に確信していますか?

マトリックスをクリックし、左上隅の選択ボックスをクリックして全体を選択してから、選択範囲の境界線を右クリックしてプロパティを取得します。[グループ]タブに切り替えて、[]セクションでグループの名前を確認します。これが、RowNumber()関数のスコープに含まれるものです。

あなたがすでにこれを知っていて、それを試したなら、私の謝罪-私はあなたが知らなかったと仮定するつもりはありませんでした。これが解決策ではないことは、あなたの質問から100%明確ではありません。

于 2010-10-12T22:47:14.143 に答える
0

既存のランク列の隣に別のランク列を追加し、ランク (rowcount?) から値を取得して 8 で割る別の式をその列に配置します。次に、古いランク列を非表示にします。

于 2009-12-01T14:36:59.233 に答える
0

ここで行う最善の方法は、Rank 列を =RowCount()/8 に等しくすることです。

表示されている各行には合計 8 行が含まれているため、これは正常に機能するはずです。

于 2009-12-01T14:24:18.810 に答える
0

SQLクエリでウィンドウ関数を使用して取得しました。これにより、列セット内の行が正しくカウントされます。

dense_rank() over (mgr.employee_sk によるパーティション、e.employee_sk による順序) as row_format

ここで、mgr.employee_sk はレベル 2 行グループ、e.employee_sk はレベル 3 行グループ (詳細レベル) です。

次に、SSRS 式はクエリからこの列を参照します。集計を避けるために min 関数を使用し、列グループのすべての列にデータがない行が表示されないようにするために、スコープをレベル 3 行グループとして指定しました。

=Iif(min(Fields!row_format.Value, "Employee") mod 2 = 1, "white", "aliceblue")

ここに画像の説明を入力

于 2021-12-22T21:06:34.547 に答える