2009-03-16 12 views
0

データベースとしてSQL Serverを使用し、ASPとして.NET 2.0を使用し、プログラミング言語としてC#2005を使用するWebサイトがあります。私は、次のレイアウトのGridViewを持っています。次のようにGridViewレイアウト/出力

Date -> Time -> QtyUsed 

サンプル値は以下のとおりです(このGridViewの/報告書は、特定の月のために生成されているので、私が抽出され、月と年の部分を無視して、日付の唯一の日の部分を表示しています

01 -> 09:00 AM -> 05 
01 -> 09:30 AM -> 03 
01 -> 10:00 AM -> 09 
02 -> 09:00 AM -> 10 
02 -> 09:30 AM -> 09 
02 -> 10:00 AM -> 11 
03 -> 09:00 AM -> 08 
03 -> 09:30 AM -> 09 
03 -> 10:00 AM -> 12 

今、ユーザーがレイアウトのようになりたい:

Time  01 02 03 04 05 06 07 08 09 
------------------------------------------------------------------------- 
09:00 AM -> 05 10 08 
09:30 AM -> 03 09 09 
10:00 AM -> 09 11 12 

主な要件は、日が01から最後の日付(理由に列ヘッダーであるべきであるということです私は日付から1日の部分だけを抽出しました)。タイムスロットは行として停止する必要があります。

Excelでの私の経験から、Transposeの考えが私の心に浮かび上がってきましたが、わかりません。

この問題を解決するのに手伝ってください。

ありがとうございます。

ラリット・クマールBarik

答えて

2

あなたはそれに応じてデータセットを生成する必要があります。あなたは時間に基づいて何らかのグループ分けをしていると推測していますので、1日の1時間ごとに列を生成し、それに応じてデータセットを設定します。

+0

私はその意見に同意する必要があります。 – Cerebrus

+0

しかし、私は1ヶ月間一致するレコードのみを取得するために正しくコーディングされたselectステートメントを持っていますが、私はTime by Groupが必要ではないと思います。誰かが私を道に沿って助けてくれれば、ピボットの機能がより良いアイデアになると思う。 – LalitBarik

0

SQL Serverには、使用可能なPIVOT関数があります。

The MSDN articleは使用方法を指定し、例を示します。次のように

の例では、表DailyIncomeが

VendorId MON   TUE   WED   THU   FRI   SAT   SUN 

---------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- 
FREDS  500   350   500   800   900   500   400 
JOHNS  300   600   900   800   300   800   600 
SPIKE  600   150   500   300   200   100   400 

はまた、この選択

SELECT * FROM DailyIncome 
PIVOT(AVG(IncomeAmount) 
FOR IncomeDay IN 
([MON],[TUE],[WED],[THU],[FRI],[SAT],[SUN])) AS AvgIncomePerDay 

を使用して表示するには

VendorId IncomeDay IncomeAmount 
---------- ---------- ------------ 
SPIKE  FRI  100 
SPIKE  MON  300 
FREDS  SUN  400 
SPIKE  WED  500 
... 

のように見えます

、あなたが選択する可能性がありますすべてのデータをDailyIncomeから取得し、データがピボットされたDataTableを作成します。 Here is an example.

+0

私はむしろSQL ServerとASP.Netの初心者です。誰でもピボット関数を使用して私を助けてもらえますか? Lalit Kumar Barik – LalitBarik

+0

例で更新されました。 –

関連する問題