1

データベースに次のテーブルがあります。

    A    B    C    D
    ----------------
    A1   B1   C1   D1
    A2   B2   C2   D2
    A3   B3   C3   D3
    ...
    ...

ユーザーが2つのテーブル列を選択できるレポートを生成し、それらをX軸とY軸として使用できるようにしたい-つまり、マトリックスの詳細として対応する値を持つレコードの数を取得する

この例では、ユーザーは列 A (データベースで値 A1、A2、および A3 を持つ) と C (データベースで値 C1、C2、C3 を持つ) をそれぞれ X と Y として選択します。

     C1   C2   C3
-----------------
A1 | 100  43   232
A2 | 232  12   23
A3 | 124  23   3434

この例では、ユーザーは B と D をそれぞれ X と Y として選択しました。

     D1   D2   
--------------
B1 | 9    3   
B2 | 88   12   
B3 | 53   23   
B4 | 1    3   

ここで、タイトルの値は、それぞれ列 A、B、C、D の個別の値です。

データソース、マトリックス自体を変更してこれを行う必要があるのか​​ 、それともキューブを使用して解決する必要がある複雑な問題なのかわかりません。

これをどのように実装しますか?

ありがとう、ハレル

4

1 に答える 1

1

レポート レベルでこれを解決するために、これを可能にする式ベースのグループを設定できます。

次のデータに基づいて例を作成しました。

ここに画像の説明を入力

行および列レベルで使用する列を制御するために、2 つのパラメーターを設定します。

ここに画像の説明を入力

行と列のグループについては、次の式を使用してグループ化し、ヘッダーに表示しました。

行:

=Switch(Parameters!RowGroup.Value = "A", Fields!A.Value
    , Parameters!RowGroup.Value = "B", Fields!B.Value
    , Parameters!RowGroup.Value = "C", Fields!C.Value
    , Parameters!RowGroup.Value = "D", Fields!D.Value
    )

桁:

=Switch(Parameters!ColumnGroup.Value = "A", Fields!A.Value
    , Parameters!ColumnGroup.Value = "B", Fields!B.Value
    , Parameters!ColumnGroup.Value = "C", Fields!C.Value
    , Parameters!ColumnGroup.Value = "D", Fields!D.Value
    )

最後にCountRows()、詳細テキストボックスに追加してエンティティ数を表示します。レポートは問題ないようです:

ここに画像の説明を入力 ここに画像の説明を入力

したがって、レポート レベルで行うのはそれほど悪くありません。これにより、何が関係しているか、代わりにデータセット レベルで実行する必要があるかどうかについて、大まかなアイデアが得られることを願っています。

于 2013-03-07T14:12:51.520 に答える