Ju mund ta bëni këtë me aq kohë sa të dhënat tuaja mund të përditësohen për ta mbështetur atë.
Së pari mora disa mostra të të dhënave të datës që kisha dhe i futa në një variabël tabele të quajtur @t
. Thjesht do t'ju duhet të ndërroni @t për emrin tuaj aktual të tabelës. Kjo më dha
Pastaj marr këto të dhëna dhe stërvit rreshtin dhe kolonën ku të dhënat duhet të vendosen. Në këtë shembull unë jam duke përdorur një parametër për të përcaktuar numrin e kolonave që dua. Mund ta bëni këtë dhe ta kaloni nga raporti juaj nëse është i dobishëm, ose thjesht ta ndryshoni në një vlerë statike. Do të demonstroj me kalimin e parametrit.
Këtu është pyetja (Shënim ju duhet të komentoni deklaratën @Columns
nëse doni ta kaloni këtë nga raporti juaj, por tani për tani ne thjesht po testojmë në SSMS ose të ngjashme.
-- REPLACE @t with your actual tablename below
DECLARE @Columns int = 2 -- <= comment this out when you copy into your dataset query
SELECT
*
, ColumnNum = ((SortOrder-1) % @Columns) + 1
, RowNum = ROW_NUMBER() OVER(PARTITION BY GroupID, SortOrder % @Columns ORDER BY SortOrder)
FROM(
SELECT
ROW_NUMBER() OVER(PARTITION BY GroupID ORDER BY dt) as SortOrder,
GroupID, dt
FROM @t) x
ORDER BY GroupID, SortOrder
Kjo na jep daljen e mëposhtme
Tani gjithçka që duhet të bëjmë është të përdorim një kontroll matricë në raport për ta shfaqur atë në mënyrë korrekte.
- Krijo një raport të ri
- Shto një burim të dhënash dhe një grup të dhënash
- Vendosni pyetjen tuaj të të dhënave si më sipër mbani mend për të komentuar rreshtin
DECLARE @Columns
nëse doni ta parametrizoni atë.
- Shtoni një kontroll matricë
- Zvarrit
RowNum
te vendmbajtësja e "Rreshtave", dt
te mbajtësja e "të dhënave" dhe në fund zgjidh ColNum
në vendmbrojtësin e kolonave
Matrica duhet të duket kështu (nuk kemi mbaruar ende...)
- Në panelin e grupeve të rreshtave, tërhiqni GroupID mbi grupin e rreshtit në dalje (sipër rownum në shembullin tim) në mënyrë që të krijojë një grup prind.
- Së fundi, shtoni një rresht bosh brenda grupit RowGroup duke klikuar me të djathtën në kutinë e tekstit rownum dhe duke bërë Insert Row, Inside Group - Below. Kjo thjesht do të na japë një hendek midis grupeve
Shënim: Kam ndryshuar ngjyrën e kutive të tekstit rownum dhe columnnum pasi mund t'i fshijmë këto pasi të përfundojë testimi.
Dizajni përfundimtar duhet të duket kështu.
Kur ekzekutojmë raportin dhe vendosim parametrin në 2, marrim këtë
vendoseni në 3 dhe ne e marrim këtë
Tani mund të hiqni rreshtin e sipërm dhe kolonën e mesme për të hequr qafe numrat e rreshtit dhe kolonës. Nëse dëshironi të keni një kokë grupi si në mostrën tuaj. Shtoni përsëri një rresht brenda grupit, por këtë herë në krye dhe më pas shtoni një shprehje për të dhënë titullin tuaj të dëshiruar.
25.02.2021