我有這樣轉換一個DataTable
X,Y,Z
0,0,A
0,2,B
0,0,C
1,0,A
1,0,C
2,2,A
2,2,B
2,0,C
3,2,B
3,1,C
4,3,A
4,0,B
4,1,C
5,3,A
5,2,B
5,0,C
一個DataTable,我想將其轉換爲這樣的事情:
X,A,B,C
0,0,2,0
1,0, ,0
2,2,2,0
3, ,2,1
4,3,0,1
5,3,2,0
我試着用數據集和LINQ但不是我不幸運。
我對LINQ代碼:
Dim q = (From c In dt _
Select c("Z") Distinct) 'I found out which categories I have in Z column (my example :A,B,C)
Dim ldt(q.Count) As DataTable
For i = 0 To q.Count - 1
Dim sfil As String = q(i).ToString
Dim r = (From c In dt _
Select c Where c("Z") = sfil)
ldt(i) = r.CopyToDataTable
Next
所以現在我有3個表(LDT(0)與甲值,LDT(1)具有用於B值,LDT(2)對於C值) 我正在考慮做一些類似leftJoin的事情,但是我嘗試過的任何事情都是失敗的。 任何解決方案,甚至更好的主意?
感謝
因此,一個新的例子那就是: 我有這個表:
id,Price,Item
0,0,Laptop
0,2,Tablet
0,0,Cellphone
1,0,Laptop
1,0,Tablet
2,2,Laptop
2,2,Cellphone
2,0,Tablet
3,2,Cellphone
3,1,Tablet
4,3,Laptop
4,0,Cellphone
4,1,Tablet
5,3,Laptop
5,2,Cellphone
5,0,Tablet
,我想將它轉化成這樣:
X,Laptop,Tablet,Cellphone
0,0,2,0
1,0, ,0
2,2,2,0
3, ,2,1
4,3,0,1
5,3,2,0
的價值觀筆記本電腦,平板電腦,手機中的每一列都是第一個表中的Y值。
我希望現在更有意義。
我無法弄清楚你如何從起始表到結束表。這兩者之間的關係是什麼? –
我看到你想按x分組,但是我沒有計劃A,B,Z是什麼以及y發生了什麼。你能解釋一下嗎?順便說一下,將示例數據視爲代碼(f.e.'table.Rows.Add(0,0,「A」)')會更好。然後我們可以立即測試它。 –
對不起,我犯了一個錯誤,第二個數據表中的最後一列是C. 所以第一個數據表來自數據庫。 我想將第一個數據集轉換爲第二個數據集,如下所示: 1.找到第一個數據表的Z列的不同值(在我的情況下爲A,B,C) 2.因此,在第二個數據表中,它將具有不同的值X從第一個數據表和列A,B,C與相應的值Y對於X – Nianios