Tutorial Reporting Services
-
Upload
jose-luis-orosco-marcos -
Category
Technology
-
view
436 -
download
0
Transcript of Tutorial Reporting Services
Consulta:
SELECT p.Title As Titulo, ISNULL(p.FirstName,'')+' '+ISNULL(p.MiddleName,'')+' '+ISNULL(p.LastName,'') AS NombreCompleto, pp.PhoneNumber AS Telefono, ea.EmailAddress AS Email, a.AddressLine1 AS Direccion, a.City AS Ciudad, sp.Name AS Estado, a.PostalCode AS CodigoPostal, cr.Name AS Pais FROM Person.Person AS p INNER JOIN Person.BusinessEntityAddress AS bea ON bea.BusinessEntityID = p.BusinessEntityID INNER JOIN Person.Address AS a ON a.AddressID = bea.AddressID INNER JOIN Person.StateProvince AS sp ON sp.StateProvinceID = a.StateProvinceID INNER JOIN Person.CountryRegion AS cr ON cr.CountryRegionCode = sp.CountryRegionCode INNER JOIN Sales.Customer AS c ON c.PersonID = p.BusinessEntityID LEFT OUTER JOIN Person.EmailAddress AS ea ON ea.BusinessEntityID = p.BusinessEntityID LEFT OUTER JOIN Person.PersonPhone AS pp ON pp.BusinessEntityID = p.BusinessEntityID
Explicación:
=IIf(Fields!Titulo.Value="Ms.","Red","White")
Iif(Condicion,Retorno si es verdadero, Retorno si es verdadero)
Condicion= Fields!NombredelCampo.Value = “Ms”
Color si es verdadero= “Red”
Color si es falso= “White”
Observación: “Ms.” Entre comillas porque es texto, si fuera número no se coloca comillas
Consulta:
--Los paises estan en la tabla Person.CountryRegion, y su llave primaria es tipo varchar SELECT NULL AS CodigoPais, 'TODOS' AS Pais UNION ALL SELECT CountryRegionCode AS CodigoPais, Name AS PAIS FROM Person.CountryRegion
Explicación
El primer registro la consulta tiene como código NULL y de Valor a Mostrar TODOS, el NULL se usara más abajo con la función COALESCE
UNION ALL se usa para juntar dos Consultas(SELECT) las cuales deben tener los mismos nombres de columnas( CodigoPais y Pais)
Además tenemos que agregar un parámetro
Ponemos Tipo de Datos Texto porque la clave primaria(PK) de la tabla de Paises(Person.CountryRegion) es tipo Varchar, si fuera int usar Entero, activamos Permitir NULL
SELECT p.Title As Titulo, ISNULL(p.FirstName,'')+' '+ISNULL(p.MiddleName,'')+' '+ISNULL(p.LastName,'') AS NombreCompleto, pp.PhoneNumber AS Telefono, ea.EmailAddress AS Email, a.AddressLine1 AS Direccion, a.City AS Ciudad, sp.Name AS Estado, a.PostalCode AS CodigoPostal, cr.Name AS Pais FROM Person.Person AS p INNER JOIN Person.BusinessEntityAddress AS bea ON bea.BusinessEntityID = p.BusinessEntityID INNER JOIN Person.Address AS a ON a.AddressID = bea.AddressID INNER JOIN Person.StateProvince AS sp ON sp.StateProvinceID = a.StateProvinceID INNER JOIN Person.CountryRegion AS cr ON cr.CountryRegionCode = sp.CountryRegionCode AND cr.CountryRegionCode = COALESCE(@Pais,cr.CountryRegionCode) INNER JOIN Sales.Customer AS c ON c.PersonID = p.BusinessEntityID LEFT OUTER JOIN Person.EmailAddress AS ea ON ea.BusinessEntityID = p.BusinessEntityID LEFT OUTER JOIN Person.PersonPhone AS pp ON pp.BusinessEntityID = p.BusinessEntityID
Explicación:
COALESCE(Parametro1,Parametro2)
Si el Parametro1 es null, se devuelve el Parametro2
Entonces si es NULL la condición seria
AND cr.CountryRegionCode =cr.CountryRegionCode Devuelve todos los paises