Lecția 5

parametrii raportului pot fi mapate la parametrii de intrare trecut la funcția definită de utilizator sau o procedură stocată într-un set de date de interogare. Funcțiile definite de utilizator pot întoarce o valoare tabelară sau scalară (cu un rezultat). set de date Request, prin definiție, primește de la o funcție definită de utilizator sau un rezultat procedură stocată. Un avantaj al funcției definite de utilizator al procedurii memorate este că această funcție poate fi încorporată direct în Transact-SQL SELECT, comparând astfel rezultatul funcției cu alte coloane dintr-un set de rezultate de interogare.

Funcțiile definite de utilizator și procedurile memorate nu sunt acceptați în mod direct parametrii multivaloare care sunt matrice. Pentru a trece o serie de proceduri stocate multivalentă, folosește funcția ÎNSCRIEȚI limbajul Visual Basic (prin care se creează un șir de caractere concatenate tuturor valorilor), iar înregistrarea este realizată de funcția definită de utilizator pentru a lua un parametru șir cu câteva elemente selectate delimitate prin alegere.

O funcție definită de utilizator ia identificator de bază de date ufnGetContactInformation pentru masa Person.Contact și devine valorile pentru ContactID, Nume, Telefon, EmailAddress, JobTitle și ContactType. Parametrul raport este creat, care va permite utilizatorului să aleagă să afișeze un subset al câmpurilor standard.

În această lecție, un raport intitulat nou Informații de contact va fi stabilită cu parametrul care acceptă un identificator de bază de date pentru persoana care a prezentat lista de contacte magazin intermediare. Creați o interogare care apelează o funcție definită de utilizator din baza de date ufnGetContactInformation AdventureWorks. iar parametrul raportului este asociat parametrului de intrare @ContactID al funcției definite de utilizator.

Acest raport va fi pregătit ca un imbricat în raportul Resellers Worldwide. Aceasta va crea opțiunile pentru culoarea de fundal și culoarea textului, va elimina spațiul alb în jurul raportului, va stabili marginile și va stabili lățimea raportului. În plus, pentru acest raport se va crea un parametru cu mai multe valori, care vă va permite să indicați în câmpul principal raportul în care trebuie afișate datele de contact.

În SQL Server Business Intelligence Development Studio pentru SQL Server, deschideți protocolul avansat de parametri Tutorial server. dacă nu este deja deschisă.

În Solution Explorer, faceți clic dreapta pe folderul Rapoarte. Selectați Adăugați. apoi faceți clic pe Elementul nou. Se afișează caseta de dialog Adăugare element nou.

Faceți clic pe butonul Adăugați. Raportul se deschide în vizualizarea de date.

Din lista derulantă Dataset, selectați <Новый набор данных>. Se deschide caseta de dialog Dialer.

În fila Interogare, în caseta de text Nume, tastați ContactInformation.

Verificați dacă setarea sursei de date este setată la Reselleri.

Verificați dacă parametrul Tip comandă este setat la Text.

În zona "Query string", inserați următoarea interogare:

Această interogare utilizează un parametru numit @ContactID pentru a transmite identificatorul de funcții definit de utilizator la numele de bază de date ufnGetContactInformation, care acceptă ContactID ca parametru de intrare.

Faceți clic pe butonul Executare (!) De pe bara de instrumente. Se deschide caseta de dialog Definire parametri interogare.

În coloana Valoare parametru, introduceți 1 ca valoare a parametrului @ContactID. Setul rezultat va afișa depozitul de date de contact pentru fețele de contact, definite de ContactID valoare. Coloanele returnate în setul de rezultate sunt specificate în funcția definită de utilizator.

(Opțional) Asigurați-vă că parametrul de solicitare @ContactID este legat de parametrul raportului ContactID. În bara de instrumente pentru rapoarte, faceți clic pe Editare set de date selectate (...). apoi accesați fila Setări. Parametrul @ContactID este setat la = Parameters! ContactID.Value.

În meniul Raport, faceți clic pe Setări raport. Caseta de dialog Parametri de raport se deschide cu parametrul ContactID selectat în zona "Opțiuni".

În secțiunea Proprietăți din secțiunea Valori implicite, selectați Fără Prompt. Introduceți 1.

În această procedură, este creat un parametru de șir multiplu, cu care puteți selecta datele de contact de afișat. Este disponibilă o listă de valori pentru Telefon, E-mail sau Niciunul, care este disponibil fără prompt.

În modul Marcare, în meniul Raport, faceți clic pe Setări raport. Se deschide caseta de dialog Parametri de raport.

Faceți clic pe butonul Adăugați. Va fi creat un nou parametru cu valori implicite.

În secțiunea Proprietăți, în caseta text Nume, tastați FieldsToDisplay. Asigurați-vă că tipul de date este String.

În câmpul Cerere, introduceți datele de contact pentru a afișa :.

Selectați opțiunea Multival.

Asigurați-vă că este selectată opțiunea Allow Empty Value.

În secțiunea Valori implicite, selectați Fără Prompt. Introduceți valorile utilizând următorul tabel:

Dacă parametrul are valori disponibile, apoi pentru a selecta opțiunea Permiteți valoarea golului, trebuie să introduceți <Пустое> valoare.

Faceți clic pe fila Layout. Raportul se deschide în modul marcare.

Glisați elementul de raport tabel din caseta de instrumente în zona de designer.

Faceți clic dreapta pe antetul coloanei și selectați Ștergeți coloanele. Vor fi două coloane.

În linia de detaliu a primului câmp de text, introduceți următoarea expresie:

Această expresie caută pur și simplu valorile selectate pentru parametrul "FieldsToDisplay" cu mai multe valori. Dacă nu este selectat NONE (doar un parametru și eticheta este None), rezultatul expresiei este o valoare goală. Dacă introduceți valoarea "EmailAddress", atunci o parte a expresiei este definită ca valoarea "EmailAddress". Dacă introduceți valoarea "Telefon", atunci o parte din expresie este definită ca valoarea "Telefon". Aceste două valori sunt legate printr-un caracter de returnare a carului. Expresia complet calculată este afișată în al doilea câmp.

Acest exemplu arată următoarele.

  • Căutați numărul de valori selectate în parametrul multi-valoare: Parametrii FieldsToDisplay.Count !.
  • Pentru parametrul multivalentă - verificați ultima etichetă în matrice pentru un anumit șir de caractere (în acest caz, «Niciunul»): Instr ( "None", Parametrii FieldsToDisplay.Label (Parametrii FieldsToDisplay.Count-1)!) 0>.
  • linia de retur condiționată, în funcție de faptul dacă am putea găsi o valoare în parametrul multivalentă (căutarea este efectuată în șirul concatenate tuturor valorilor selectate pentru multi-evaluate parametru FieldsToDisplay. Dacă setul de date este posibil să se găsească valoarea EmailAddress, returnează o EmailAddress valoare specifică, în cazul în care valoarea nu este găsit, null este returnat ): IIF (! INSTR (JOIN (Parametri FieldsToDisplay.Value, ""), "EmailAddress")> 0, Fields EmailAddress.Value, "") !.

Funcția IIF a Visual Basic calculează toate valorile parametrului funcțional care îi este transmis, astfel încât această expresie nu poate fi utilizată cu câmpurile setului de date care pot fi NULL.

În următoarea procedură, acest raport este formatat pentru a fi afișat corespunzător ca un raport imbricat în raportul principal. Pentru a face acest lucru, dezactivați antetul și subsolul, setați lățimea tabelului, eliminați spațiile suplimentare și setați fontul și fundalul în conformitate cu raportul principal. În plus, trebuie să introduceți parametrii prin care culoarea de fundal și culoarea textului vor fi transferate din raportul principal.

Pentru a afișa marcajele, faceți clic în interiorul tabelului.

Faceți clic dreapta pe marcatorul de linii de detaliu. În meniul contextual, selectați Antet tabelă și subsol tabelă și setați valoarea la OFF. Numai linia detaliilor va fi afișată în tabel.

În următorii trei pași, trebuie să ajustați lățimea raportului în funcție de o anumită dimensiune. Veți avea nevoie de această dimensiune în lecția următoare pentru a adăuga elementul de raport imbricat în raportul principal.

Lățimea tabelului setată pentru raportul imbricat determină aspectul raportului imbricat din raportul principal. Pentru a seta o dimensiune fixă ​​pentru raportul imbricat, trebuie să setați înălțimea și lățimea dorite. În plus, puteți seta proprietățile canoanelor de text CanGrow și CanShrink. Pentru a permite ca câmpul de text să fie întins pe verticală cu dimensiunea textului. Proprietățile CanGrow și CanShrink nu se aplică lățimii. În prezent, întinderea automată a casetei de text la lățimea textului nu este disponibilă.

Selectați primul câmp de text pentru antetul coloanei. În fereastra Proprietăți, accesați proprietatea Lățime și introduceți o valoare de 1,5 sau (utilizând dimensiunea implicită) orice valoare necesară pentru a seta lățimea la jumătate a tabelului.

Selectați al doilea câmp de text pentru antetul coloanei. În fereastra Proprietăți, accesați proprietatea Lățime și introduceți o valoare de 1,5 sau (utilizând dimensiunea implicită) orice valoare necesară pentru a seta lățimea la jumătate a tabelului.

Selectați tabelul. Utilizați tastele săgeată pentru a muta tabelul de la partea de sus a paginii raport și aliniați marginile mesei pe marginile raportului.

În mod similar, ștergeți spațiile din partea inferioară a paginii de raport mutând zona de raport în partea de jos a tabelului.







Articole similare

Trimiteți-le prietenilor: