Ejercicio 1: Expresiones
1. En un reporte de rptExpresiones de la tabla Customers de Northwind, con la consulta:
SELECT c.CustomerID, CompanyName, ContactName, City, Region, Country, SUM(UnitPrice) UnitPrice, SUM(Quantity) Quantity, SUM(Discount) Discount
FROM customers c
INNER JOIN Orders o ON c.CustomerID = o.CustomerID
INNER JOIN [Order Details] od ON o.OrderID = od.OrderID
GROUP BY c.CustomerID, CompanyName, ContactName, City, Region, Country
2. Tenemos un Campo, Name, Company, UnitPrice, Quantity
3. Nueva columna relacionamos: Ubicación à Click Derecho à Expressions
4. = Fields!.City.Value & “ “ & Fields!.Region.Value & “, “ & Fields!.Country.Value
5. Visualizamos el reporte.
6. Nueva Columna SubTotal = UnitPrice * Quantity
7. Nueva Columna Descuento en Monto
8. Columna Total = SubTotal – Descuento
9. Visualizamos el reporte.
10. Nueva Columna Tipo Cliente: =IIF( Calculo Total) > = 10000, “Gran Consumidor”, “Pequeno Consumidor”)
11. Modificar la columna para el uso de SWITCH (CASE)
=Switch(Calculo Total >= 20000, “Gran Consumidor”
Calculo Total >= 5000, “Mediano Consumidor”,
Calculo Total < 5000, “ Pequeño Consumidor”)
12. Visualizamos el Reporte
13. Para todas las filas poner un Color de Fondo Especial cuando los precios sean menores a 50.
14. Aplicar ordenamiento Interactivo para Name, Company
Ejercicio 2: Trabajando con Agrupaciones
1. Crear un nuevo reporte llamado rptAgrupaciones con la siguiente consulta:
SELECT o.ShipCountry, o.ShipCity, c2.CategoryName, p.ProductName, od.UnitPrice, Quantity, od.UnitPrice * Quantity AS Total
FROM customers c INNER JOIN Orders o ON c.CustomerID = o.CustomerID
INNER JOIN [Order Details] od ON o.OrderID = od.OrderID
INNER JOIN Products p ON p.ProductID = od.ProductID
INNER JOIN Categories c2 ON c2.CategoryID = p.CategoryID
2. Agregar en el Detalle Product Name , Cantidad , Precio, Total
3. Crear Grupo para Category Name y su Total
4. Crear Grupo para City y Su Total
5. Crear Grupo para Country y su Total
6. Visualizar el Reporte
7. Cambiar los Totales de Precio a Promedio
8. Cambiar Formato a los Totales
9. Cambiar Colores por Grupo.
10. Hacer Visible con Click en cada uno de los Grupos. NOTA: Hacerlo desde los grupos y no desde las Celdas. Hacer ver la diferencia.
11. Visualizar el Reporte
Ejercicio 3: Trabajando con Parametros
1. Crear un nuevo reporte llamado rptParametrosFiltros con la siguiente consulta:
SELECT o.ShipCountry, o.ShipCity, c2.CategoryName, SUM(od.UnitPrice) AS Precio, SUM(Quantity) Cantidad, SUM(od.UnitPrice * Quantity) AS Total
FROM customers c INNER JOIN Orders o ON c.CustomerID = o.CustomerID
INNER JOIN [Order Details] od ON o.OrderID = od.OrderID
INNER JOIN Products p ON p.ProductID = od.ProductID
INNER JOIN Categories c2 ON c2.CategoryID = p.CategoryID
GROUP BY o.ShipCountry, o.ShipCity, c2.CategoryName
2. Agregar Todos los campos a una Tabla
3. En las propiedades del Dataset1 agregamos un parámetro llamado Pais. Hacer click en OK
4. Nuevamente en las propiedades del dataset1, en Filters buscar ShipCountry y evaluarlo contra una expression donde se seleccione el parámetro Pais
5. Visualizar el Reporte
6. Realizar los mismos pasos 3 y 4 para Ciudad
7. Visualizamos el Reporte.
Ejercicio 4: Trabajando con Parametros
1. Crear un nuevo reporte llamado rptParametros.
2. En Management Studio ejecutamos el siguiente procedure:
CREATE PROC sp_VentasxPais
@Pais VARCHAR(100)
AS
SELECT o.ShipCountry, o.ShipCity, c2.CategoryName, SUM(od.UnitPrice) AS Precio, SUM(Quantity) Cantidad, SUM(od.UnitPrice * Quantity) AS Total
FROM customers c INNER JOIN Orders o ON c.CustomerID = o.CustomerID
INNER JOIN [Order Details] od ON o.OrderID = od.OrderID
INNER JOIN Products p ON p.ProductID = od.ProductID
INNER JOIN Categories c2 ON c2.CategoryID = p.CategoryID
WHERE o.ShipCountry = @Pais
GROUP BY o.ShipCountry, o.ShipCity, c2.CategoryName
3. Luego creamos un Dataset con el procedimiento y hacemos click en OK
4. Creamos el Reporte agregando los campos en una Tabla
5. Verificamos en las propiedades del Dataset que se nos creo automáticamente un Parametro con el nombre de @Pais. Ademas en la carpeta Parameters deberá estar este mismo parametro
6. Visualizamos el reporte
7. En las propiedades del parametro, Available Values, Specify Values, Asignamos: Valores de Paises
8. Visualizamos el reporte
9. Crear un nuevo Dataset lo llamaremos dtPaises con la siguiente consulta: SELECT DISTINCT o.ShipCountry FROM Orders o
10. En las propiedades del parametro, Available Values, Get Values from a Query, Asignamos: los valores de ShipCountry.
11. Visualizamos el Reporte
Ejercicio 5: Multiples Valores en Parametros
1. Crear un nuevo reporte llamado rptParametrosMultiples.
SELECT o.ShipCountry, o.ShipCity, c2.CategoryName, SUM(od.UnitPrice) AS Precio, SUM(Quantity) Cantidad, SUM(od.UnitPrice * Quantity) AS Total
FROM customers c INNER JOIN Orders o ON c.CustomerID = o.CustomerID
INNER JOIN [Order Details] od ON o.OrderID = od.OrderID
INNER JOIN Products p ON p.ProductID = od.ProductID
INNER JOIN Categories c2 ON c2.CategoryID = p.CategoryID
WHERE o.ShipCountry IN (@Pais)
GROUP BY o.ShipCountry, o.ShipCity, c2.CategoryName
2. Creamos el Reporte agregando los campos en una Tabla
3. En las propiedades del parámetro, definimos que sea multivalor.
4. Crear un nuevo Dataset lo llamaremos dtPaises con la siguiente consulta: SELECT DISTINCT o.ShipCountry FROM Orders o
5. En las propiedades del parametro, Available Values, Get Values from a Query, Asignamos: los valores de ShipCountry.
6. Visualizamos el Reporte
Ejercicio 6: Reporte Matrix
1. Crear un Nuevo Reporte llamado rptMatrix con la siguiente consulta:
SELECT MONTH(o.OrderDate) AS Mes, YEAR(o.OrderDate) Anio,
o.ShipCountry, o.ShipCity, c2.CategoryName, p.ProductName, od.UnitPrice, Quantity, od.UnitPrice * Quantity AS Total
FROM customers c INNER JOIN Orders o ON c.CustomerID = o.CustomerID
INNER JOIN [Order Details] od ON o.OrderID = od.OrderID
INNER JOIN Products p ON p.ProductID = od.ProductID
INNER JOIN Categories c2 ON c2.CategoryID = p.CategoryID
2. Agregar un Matrix
3. Configurarlo: Filasà Pais, Ciudad, Categoria, Producto, Columnasà Anio y Mes, Dataà Total, Cantidad
4. Cambiar Colores por Columnas y por Filas
5. Hacerlo Dinamico para que se oculte y se muestre al hacer click en el.
Ejercicio 7: Creando un Grafico
1. Crear un Nuevo Reporte llamado rptGrafico con la siguiente consulta:
SELECT MONTH(o.OrderDate) AS Mes, YEAR(o.OrderDate) Anio,
o.ShipCountry, o.ShipCity, c2.CategoryName, p.ProductName, od.UnitPrice, Quantity, od.UnitPrice * Quantity AS Total
FROM customers c INNER JOIN Orders o ON c.CustomerID = o.CustomerID
INNER JOIN [Order Details] od ON o.OrderID = od.OrderID
INNER JOIN Products p ON p.ProductID = od.ProductID
INNER JOIN Categories c2 ON c2.CategoryID = p.CategoryID
2. Agregar un Grafico
3. Seleccionar de Barra
4. Configurarlo: Categorias à Categorias, Series àAnio, Data à Total
5. Poner Titulo
6. Visualizamos el reporte
7. Cambiar tipo de Grafico
8. Visualizamos el reporte
salu2, una consulta como puedo enviar un dataset dinamico a reporting services, me explico ... de acuerdo a los parametros que elija el usuario se creara una Dataset el cual quiero que me genere un grid y un chart en reporting services para poder imprimirlo las columnas contienen años que pueden ir de un año a n años seleccionados. Espero que me puedas ayudar o sugerir como hacerlo al momento tengo esto en un grid y un chart en ASP.NET pero el problema es ¿Cómo lo imprimo?. De antemano te agradezco Atte. Carlos Azabache cazabaches@gmail.com
ResponderEliminarDeberas crear un Reporte, agregar un Datasource dando clic derecho en DataSource, y luego en agregar, este sera la base de datos a utilizar, luego deberas agregar un DataSet que este sera la consulta, los parametros seran recibidos por esta consulta, en la parte del where x = y etc etc... en lugar de la y deberas poner "@", por ultimo renombrar tus parametros en la parte de parametros, Esta parte se localiza al abrir tu reporte y ponerte en la parte de diseño, en la parte izquierda del reporte te aparece una barra donde vienen los parametros, el DataSource y el DataSet de tu reporte.
Eliminarpuedes ayudar con el ejercicio 5 múltiples valores con parámetros pero validando a la con el procedimiento almacenado, es decir si en preview selecciono dos país la tabla debe devolverme solo eso
ResponderEliminar