0

私はこれについて頭を包むのに苦労しています。

次のように(簡略化して)レイアウトされた正規化されたテーブルがいくつかあります。

Person
(
     PersonId
     Email
)

Info
(
     InfoId
     InfoDescr
)

PersonInfo
(
     PersonId
     InfoId
     InfoValue
)

これに対するアドホックなレポートをユーザーに提供する必要があります。上司は Cognos を使用するように求めており、Crystal Reports と Sql Server Report Services も利用できます。

ユーザーが次のようにデータをクエリできるようにするにはどうすればよいですか。

Give me all people in zipcode x who are subscribed to our newsletter
     (Assuming Zipcode and Newsletter are stored as Info records)

そのようにデータを平坦化するビューを作成しました

 PersonId, Email,    InfoId, InfoDescr,  InfoValue
 1         me@me.com 2       Zipcode     12345

ユーザーが必要な情報を選択し、それらをフィルタリングするための条件を指定できるようにしたいと考えています。

任意の推奨事項をいただければ幸いです。ありがとう!

4

2 に答える 2

1

Crystal Reports を使用することをお勧めします。UI を容易にするコンボボックス/フィルターを備えた単純なフォームを作成します。フォームを通じて、ユーザーは必要な基準を選択してフィルタリングします。この基準を使用して SQL クエリを作成し、結果のテーブルを Crystal レポートのデータソースとして使用します。Crystal を初めて使用し、サンプル コードが必要な場合は、コメントしてください...

于 2012-06-28T12:36:55.080 に答える
0

最終的にエクセルに行き着きました。詳細については、この受け入れられた回答を参照してください。

つまり、ストアド プロシージャで動的ピボット テーブルを使用しました。私が作成したビューと呼ばれるストアド プロシージャは、データを非正規化します。MS Query を使用してストアド プロシージャを Excel 2010 にフックしたと思います。

于 2012-08-08T19:46:18.313 に答える