CrossTab ! – procedura typu „stored procedure” pozwola szybko utworzyć zapytanie krzyżowe na serwerze Ms SQL i otrzymać wynik w formie czytelnej tabeli z dynamiczną listą kolumn. Za pomocą jednej uniwersalnej procedury z kilkoma parametrami można bardzo szybko utworzyć zapytania działające na zasadzie tabeli Pivot znanej z MsExcel lub CrossTab znanego z MsAccess.
CrossTab ! to praktyczne narzędzie dla programistów, które umożliwia szybkie wykonanie zapytania krzyżowego (typu PIVOT) na bazie MsSQL 2000, 2005, 2008. Wynikiem jest tabela z dynamiczną listą kolumn. Przy pomocy zaledwie kilku parametrów i procedury CrossTab! otrzymasz wyniki, których dotychczasowe przygotowanie i opracowanie zajmowało dużo czasu.
Przykładowe wywołanie:
EXEC dbo.CrossTab
— data select
’SELECT * FROM oce_mbo.AuditUser WHERE AuditUserID>0 ORDER BY UserName’
— grouping column
,’UserName’
— agregate column (optional)
,’Avg(AuditUserID) AS ID’
— order by (optional)
,NULL
— PIVOT column name source
,’UserName’
— PIVOT value
,’Min([AuditUserID])+Max([AssociateID])’
— PIVOT fixed columns (optional)
–,'[Ablink], [FZoom], [Maxi]’
Przykładowy rezultat działania:
| UserName | ID | Ablink | Dword | EMat | FZoom | HDry | Maxi | Supero |
|---|---|---|---|---|---|---|---|---|
| Ablink | 1 | 2 | NULL | NULL | NULL | NULL | NULL | NULL |
| Dword | 166 | NULL | 332 | NULL | NULL | NULL | NULL | NULL |
| EMat | 134 | NULL | NULL | 268 | NULL | NULL | NULL | NULL |
| FZoom | 162 | NULL | NULL | NULL | 324 | NULL | NULL | NULL |
| HDry | 2 | NULL | NULL | NULL | NULL | 4 | NULL | NULL |
| Maxi | 121 | NULL | NULL | NULL | NULL | NULL | 242 | NULL |
| Supero | 3 | NULL | NULL | NULL | NULL | NULL | NULL | 6 |
Dysponując uniwersalną procedurąCrossTab ! błyskawicznie utworzysz i wykonasz dowolne zapytanie krzyżowe, którego źródłem danych może być dowolne inne zapytanie lub procedura. Rezultatem działania procedury będzie tabela prezentująca w czytelnej formie wybrane dane. Ilość generowanych kolumn z danymi można ograniczyć tylko do listy wybranych, stanowiących podzbiór wyniku.
Procedura umożliwia również wykonanie zapytania w formie testowej, zwracając wszystkie nazwy kolumn, które zostaną wygenerowane w przypadku pełnego uruchomienia procedury.
Przykładowe wywołanie:
EXEC dbo.CrossTab
’SELECT * FROM oce_mbo.AuditUser WHERE AuditUserID>0 ORDER BY UserName’
,’UserName’
,’Avg(AuditUserID) AS ID’
,NULL
,’UserName’
,’Min([AuditUserID])+Max([AssociateID])’
,NULL
,NULL
— return column names only (optional)
,1
Przykładowy rezultat działania:
| ColumnName |
|---|
| Ablink |
| Dword |
| EMat |
| FZoom |
| HDry |
| Supero |
Dodatkowo można określić sortowanie zwracanych danych, pomijać rekordy z wartością NULL w nazwie kolumny, włączyć tryb debugowania pozwalający na przejrzyste sprawdzenie działania procedury i ułatwiające wyszukiwanie błędów w zapytaniach bazowych.
Z uwagi na elastyczność parametrów wywołania oraz szybkość tworzenia zapytania krzyżowego Cross Tab ! na pewno spełni Twoje oczekiwania.
ProceduraCrossTab ! nie wymaga dodatkowych instalacji na serwerze, uruchamiana jest z bazy docelowej. Do działania nie wymaga Raporting Services. Całość rozwiązania to jedna procedura!
| Specyfikacja techniczna: | Wymagania: procesor minimum 200MHz, przestrzeń dyskowa 1MB + wielkość skryptowanych elementów, pamięć RAM 64MB Systemy: Windows: NT, 2000, XP, Vista, 7, Server 2000, Server 2003, Server 2008 |
| Licencja: | trzy typy licencji: baza danych – do instalacji na jednej bazie, serwer – do instalacji na jednym serwerze bez limitu na bazy danych, developer – bez limitów na bazę danych i na serwer |
| Bazy danych: | Microsoft SQL Server: 2000, 2005, 2008 |
