Microsoft Office Community Clips: Qué fácil es grabar!

Esta tarde leyendo uno de los numerosos newsletter que recibo a la semana, en este caso de The Code Project, he descubierto una herramienta muy útil (y gratis :): Microsoft Office Community Clips. Se trata de un sencillo software de grabación de screencasts que ha creado Microsoft y que nos permite grabar de manera sencilla toda la actividad que realicemos en el escritorio de nuestro equipo (definiendo un área de grabación) o en una aplicación concreta (podemos elegir la aplicación a partir de la cuál iniciar una sesión de grabación)…el proceso de instalación es sencillísimo (aparte de Community Clips, se instalará Windows Media Encoder 9 en vuestro equipo si no lo tenéis instalado). Una vez iniciada una sesión de grabación, a través de la correspondiente opción de inicio rápido de Windows, reproducir, enviar el vídeo por e-mail o subirlo a MSN Vídeo (realmente a la sección de vídeos de Community Clips) es bastante sencillo (una vez definida la región de grabación):

Community_Clips image

Os podéis bajar Microsoft Office Community Clips de este enlace. Además, podréis ver otros vídeos subidos a Community Clips aquí. Otra característica potente de Community Clips es su integración con la suite Microsoft Office, ya que aparece una nueva opción en la Ribbon de Office que nos permite grabar vídeos a partir del trabajo que realicemos con los programa de Office.

image

Sin duda, una herramienta útil y sencilla de usar. Finalmente, aquí os dejo otro enlace interesante en el que se explica como grabar una presentación en power point y luego subirla como un vídeo de YouTube.

Visual Studio 2008 Express Editions: Ya disponibles!

Ya tenemos disponibles de manera oficial, eso es lo que dice una newsletter  que acabo de recibir, las versiones express de Visual Studio 2008.

image 

Aparte de las nuevas versiones de cada uno de los entornos de desarrollo express, en esta ocasión tenemos muchas más novedades que sin duda permitirán a los noveles en la materia, y los no tan noveles, a realizar una inmersión profunda en lo que a desarrollo en plataforma .NET se refiere:

  • Libros (formato electrónico), SDK’s y ejemplos en la sección de ejemplos y recursos.
  • Nuevos elementos que facilitan no sólo el desarrollo de aplicaciones, sino  también la  compartición de información y del trabajo realizado con el Popfly Explorer plug-in (por supuesto, gratuito), pensado para compartir soluciones de Visual Studio.
  • Descarga de las versiones express (incluido SQL Server Express) en la sección de descargas.

Sin duda, una buena noticia la disponibilidad oficial y pública de las versiones express de Visual Studio 2008.

Nuberos.NET: Materiales y fotos del evento "Principio de la usabilidad: no me hagas pensar"

El pasado jueves realizamos en Nuberos.Net un interesantísimo evento sobre los principios de la usabilidad. La verdad es que el ponente, David Herrero, nos expuso claramente en que consiste la usabilidad y nos aportó unos cuantos ejemplos de cuando «algo» se entiende que es usable y cuando se entiende que no lo es…y  como muestra la ppt de inicio de la presentación: la cafetera para masoquistas (de J. Carelman):

image

La sesión fue realmente amena y captó claramente la atención de los asistentes…de hecho, aquí van algunas fotos del evento que lo demuestran (y también lo muy en serio que se lo tomó David ;)):

Abril_2008_ 062 Abril_2008_ 066  

Abril_2008_ 069

El evento estuvo lleno de buenos ejemplos y provocó la participación de la gente…y a las pruebas me remito (con el permiso de David;)):

  • ¿Qué quiere decir este cartel?

image

  • ¿Es importante implicar al usuario? Por supuesto que sí, y una gran ayuda para esto son los prototipos…y aquí viene una de las cosas que más me gusto de la presentación…este pedazo de prototipo de aplicación…en papel!

Sin más, agradecer a todos los presentes en el evento su asistencia, y aquí os dejamos el enlace de descarga de la presentación de David. En breve mi compi Pablo os anunciará los eventos que tenemos en Nuberos.Net para mayo.

SQL Server 2008: Creando informes con SSRS 2008 (I)!

Después del primer post sobre algunas de las novedades que vendrán con SQL Server 2008, estos días he seguido evaluando y probando nuevas funcionalidades para el seminario de la nueva versión del gestor de base de datos de Microsoft. Esta vez le ha tocado el turno a SQL Server Reporting Services 2008 (SSRS 2008) y a la nuevo Report Designer. Empecemos.

Nota: Todas las pruebas las he realizado con la CTP6 de SQL Server 2008.

Comenzando con SSRS 2008

Lo primero que vamos a hacer es introducirnos en el nuevo entorno de diseño de informes de SSRS 2008: el Report Designer. Para acceder al nuevo diseñador, cuyo look & feel, es el de la suite de Microsoft Office 2007: Inicio -> Todos los programas -> Microsoft SQL Server 2008 -> Reporting Services -> Report Designer Preview.

image

Tras realizar un breve recorrido por las opciones de menú disponibles en esta preview (recordar que estamos con la CTP 6), lo primero que tenemos que hacer para crear un informe es definir la correspondiente fuente de datos en la que vamos a basar nuestro informe:

  • Nuestra fuente de datos va a ser la base de datos (BD) Adventure Works.
  • Para crear una nueva fuente de datos, hacemos clic sobre el enlace que aparece en la superficie de diseño del informe Click here to create a data source and data set for your report.
  • De este modo, se abrirá un asistente que nos irá guiando en el proceso de creación de la fuente de datos y el dataset en el que basaremos nuestro informe. En la primera pantalla del asistente especificamos los siguientes parámetros:
    • El nombre del data source: dsAdventureWorks.
    • El tipo de conexión: dejamos la que viene por defecto (Microsoft SQL Server).
    • La cadena de conexión, que configuramos a través del botón Edit. En la misma configuraremos los siguientes parámetros:
      • Nombre del servidor: localhost.
      • Mecanismo de acceso al servidor: Wndows Authentication.
      • Base de datos: AdventureWorks
  • Tras testear la conexión, pulsamos OK y a continuación el botón Next del asistente. De este modo se abrirá la ventana del Query Designer en la que construiremos la siguiente consulta:
image image

SELECT

  PC.Name AS ProductCategory,PS.Name AS SubCategory,

  DATEPART(yy, SOH.OrderDate) AS OrderYear,

  ‘Q’ + DATENAME(qq, SOH.OrderDate) AS OrderQtr,

  SUM(SOD.UnitPrice * SOD.OrderQty) AS SalesAmount,

  Sales.SalesTerritory.[Name] AS Territory,

  Sales.SalesTerritory.[Group] AS Region

  FROM

                 Production.ProductSubcategory AS PS JOIN

                 Sales.SalesOrderHeader AS SOH JOIN

                 Sales.SalesOrderDetail AS SOD ON SOH.SalesOrderID =

                 SOD.SalesOrderID JOIN

                 Production.Product AS P ON SOD.ProductID = P.ProductID ON

                 PS.ProductSubcategoryID = P.ProductSubcategoryID JOIN

                 Production.ProductCategory AS PC ON PS.ProductCategoryID =

                 PC.ProductCategoryID JOIN

                 Sales.SalesTerritory ON SOH.TerritoryID =

                 Sales.SalesTerritory.TerritoryID

  WHERE

                 (SOH.OrderDate BETWEEN ‘1/1/2003′ AND ’12/31/2004’)

  GROUP BY

                 DATEPART(yy, SOH.OrderDate),PC.Name,

                 PS.Name,’Q’ + DATENAME(qq, SOH.OrderDate),

                 PS.ProductSubcategoryID,

                 Sales.SalesTerritory.Name,Sales.SalesTerritory.[Group]

  • Probamos la consulta para ver qué resultados produce.
  • Pulsamos Next y ya tenemos listo el dataset para usarlo en nuestro informe.
image image

Diseñando el informe

Una vez que ya tenemos configurado todo lo necesario para crear un primer informe, vamos a diseñarlo:

  • Desde el menú Insert seleccionamos una región tipo Matrix y hacemos clic sobre la misma, de manera que se insertará en la superficie de diseño del informe.
  • Situamos el control Matrix en el centro del área de diseño utilizando el icono de manejo (icono de cuatro flechas).
  • Especificamos el área de datos a través de los nuevos smart tags contextuales que han sido añadidas a la superficie de diseño. A través de estos smart tags añadimos el campo SalesAmount en la zona Data.

image

image

  • Otra de las novedades de SSRS 2008 es la relativa a como añadir niveles de agrupación a un informe. Es tan sencillo como seleccionar el campo del dataset que vamos a utilizar y arrastrarlo a la sección Row Groups que aparece bajo la superficie de diseño del informe.

    Repetimos la operación añadiendo en esta ocasión el campo SubCategory, que insertaremos justo debajo de ProductCategory.

  • De la misma forma que hemos especificado el agrupamiento por filas, vamos a realizar el agrupamiento por columnas. Para ello:
    • Arrastramos el campo Region en el área Column Groups.
    • Repetimos el proceso con el campo OrderYear.
image image
  • Lo siguiente que vamos a hacer es añadir Sub-Totales al informe. Para ello, seleccionamos el campo SalesAmount del control Matrix, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> Row.
  • Añadimos un nuevo Sub-Total, pero a nivel de columna. Para ello, seleccionamos el campo SalesAmount del control Matrix, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> Column.
  • Lo siguiente que vamos a hacer es añadir Totales al informe. Para ello, seleccionamos el campo ProductCategory del control Matrix, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> After.
image image
  • Repetimos el proceso, pero seleccionando en esta ocasión el campo Region, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> After.
  • Para finalizar el informe, utilizamos las herramientas disponibles en el Ribbon Home para darle un aspecto más visual. Por ejemplo, el informe en vista de diseño podría quedar de la forma que se ve en la siguiente figura.
  • Para previsualizar el informe, simplemente pulsamos el botón Preview.
image image

Publicando el informe

vamos al menú de opciones y pulsamos Publish. Aparecerá la pantalla de configuración de publicación del informe. En dicha ventana especificaremos los parámetros de publicación en el servidor:

Sin más, pulsamos OK y una vez que finalice el proceso de publicación, abrimos el navegador y especificamos la url del report manager para previsualizarlo.

image image

Y este sería el resultado en el Report Manager:

image

image

Y esto es todo de momento. En próximos post veremos más novedades de SSRS como la funcionalidad Tablix, los nuevos controles gráficos o como se realiza la gestión del Report Manager fuera de IIS. Espero que el post os haya resultado interesante.

La plataforma sigue creciendo…Windows Live Mesh!

A pesar de estar más que acostumbrado a la gran velocidad con que Microsoft es capaza de sacar nuevos productos del mercado, no dejo de sorprenderme con cada nueva vuelta de tuerca, tecnología, etc. La última tecnología que me ha sorprendido y que estoy deseando probar es Windows Live Mesh. Tal y como se comenta en esta noticia aparecida en la edición digital de El mundo (en la sección de Tecnología, que sinceramente me parece bastante buena y actualizada), Live Mesh es una plataforma que permite sincronizar distintos tipos de datos (fotos, documentos, noticias, …) procedentes de distintos dispositivos en un único repositorio centralizado de información…y ¿dónde está ese repositorio de información? Pues en la red, es decir, Live Mesh es otro ejemplo más de plataforma tecnológica alineada con la estrategia de Software + Services  (S+S) de Microsft y que se viene a añadir a otras plataformas tecnológicas que ya han aparecido como son Microsoft Office Live Small Business o Microsoft Officce Live Workspace, y a las que en breve se unirán Microsoft Dynamics CRM Live, Microsoft Online Services (MOS, que no MOSS como ya nos adelantaba Gustavo), y más plataformas / tecnologías de las que poco a poco nos iremos interesando.

Como se comenta en la noticia de El mundo, el programa está en fase de pruebas, de momento sólo abiertas a 10.000 usuarios de EE.UU (aunque yo ya me he dado de alta, ya que sólo se necesita un Live Id para poder participar en las futuras pruebas abiertas al mundo)…

image

… y se espera que su lanzamiento mundial en fase de pruebas se realice a finales de este año. Inicialmente la tecnología sólo estará operativa en ordenadores con sistema operativo Windows (XP y Vista), pero se extenderá en los próximos meses a teléfonos móvilis y dispositivos de Apple…por supuesto, no podía dejar sin mencionar al padre de la criatura: Ray Ozzie.

¿y cuáles son las prestaciones de esta tecnología que va a dar que hablar?

  • Información sincronizada de forma automáticaen un único repositorio centralizado.
  • Acceso a la información desde cualquier lugar y sin problemas de capacidad, puesto que Livee Mesh dispondrá de 5 GB de almacenamiento por usuario en el entorno de gestión: Live Desktop.
  • Se facilita la compartición de la información (algo que ya hemos podido probar con Skydrive de Windows Live).
  • Protección con la contraseña e ID de Windows Live.

Finalmente, os recomiendo visitar la sección Learn More para ver ejemplos de aplicación de Live Mesh. Para dejaros los dientes largos, aquí os dejo un pantallazo de Live Mesh Desktop, que es el entorno centralizado desde el que administraremos todos los datos que se han sincronizado.

image

Os podría contar más cosas que he visto en los vídeos, pero mejor que lo comprobéis vosotros mismos y esperar a las pruebas «reales» que espero hacer de la tecnología. Sin duda, una tecnología espectacular. Espero que el post os haya resultado interesante.

SharePoint y .Net Framework 3.5 + SharePoint SDK Additional Detail!

Aunque parecía lógico, a través del blog de Paul Andrew, uno de los program manager de Windows Workflow Foundation (WF) y que desde febrero de este año es Microsoft Technical Product Manager para SharePoint, se ha confirmado algo que ya se podía intuir: SharePoint soporta .NET Framework 3.5. De hecho, existe en Microsoft TechNet una actualización de febrero de este año (del día 21) sobre los requerimientos HW y SW para SharePoint dónde ya se indica esto:

Microsoft .NET Framework 3.0

Before installing Windows SharePoint Services 3.0, you must install the Microsoft .NET Framework 3.0 and then ensure that ASP.NET 2.0 is enabled.

Note:

You can also use the Microsoft .NET Framework version 3.5. You can download the .NET Framework version 3.5 from the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkId=110508).

To enable ASP.NET v2.0.50727, open the Web service extension in the IIS snap-in on the Microsoft Management Console (MMC). If ASP.NET 2.0 is installed on the computer before IIS is enabled, you must enable ASP.NET 2.0 by running the command aspnet_regiis -i.

Además de esta confirmación, en esta otra entrada Paul Andrew nos comenta que están actualización el SDK de SharePoint añadiendo gran cantidad de información detallada y relativa al modelo de objetos (clases y métodos). De momento esta información adicional sólo está disponible online vía MSDN, si bien según Andrew pronto la añadirán a las versiones descargables de los SDK de SharePoint (WSS 3.0 & MOSS).   

SQL Server 2008: Change Data Capture o CDC

Como os comentaba la semana pasada, estos días estoy «a tope» aprendiendo un montón de características y capacidades de SQL Server 2008. Algunas ya conocidas de la versión anterior (y que yo no conocía), y otras completamente nuevas, útiles y espectaculares. Una de estas nuevas características es el Change Data Capture o simplemente CDC (para los amigos ;)). Esta utilidad permite capturar toda la actividad de inserción, borrado y actualización que se produzca en las tablas de una BD SQL Server 2008. Además, toda la información capturada se podrá consumir de un modo sencillo en formato relacional.

La clave del CDC son un conjunto de tablas de cambio que contienen una serie de columnas que son un reflejo de las estructura de las columnas de la tabla fuente a la que se le está realizando el seguimiento de cambios, así como unos metadatos necesarios para comprender los cambios que se han producido. Empecemos.

Haciendo funcionar el CDC

Para probar el CDC, vamos a seguir los siguientes pasos:

  • Creamos una BD denominada SQL2008CDC.
  • Ejecutamos el procedimiento almacenado (SP) sp_cdc_enable_db, que se encarga de habilitar el CDC en la BD.
  • Creamos una tabla de prueba en la BD.
  • Ejecutamos el SP sp_cdc_table, para habilitar el CDC en la tabla que acabamos de crear.

CREATE DATABASE SQL2008CDC

GO

USE SQL2008CDC

GO

                        EXEC sys.sp_cdc_enable_db

GO

USE SQL2008CDC

GO

CREATE TABLE dbo.Empleado(

                        ID_Empleado int Primary Key NOT NULL,

                        NombreEmpleado nvarchar(100) NOT NULL,

                        EmailEmpleado nvarchar(100) NOT NULL)

GO

                        EXEC sys.sp_cdc_enable_table ‘dbo’, ‘Empleado’, @role_name = NULL,

                                               @supports_net_changes =1;

GO

Si todo ha ido bien, la salida por pantalla que se produce al ejecutar el script anterior debería ser:

image

  • Insertamos un registro en la tabla:

use SQL2008CDC

GO

INSERT INTO dbo.Empleado

                        values (1, N’Juan Carlos González’, N’jcgonzalez@ciin.es’)

GO

  • Actualizamos el registro anterior:

use SQL2008CDC

GO

UPDATE dbo.Empleado

                        SET NombreEmpleado = N’Juan Carlos González Martín’ WHERE ID_Empleado = 1;

GO

  • Para comprobar que ha hecho el CDC, ejecutamos la siguiente sentencia SELECT:

select * from cdc.dbo_Empleado_CT

Esta sentencia nos permite consultar en la tabla de cambios que se ha creado en la BD SQL2008CDC (aparece dentro de System Tables) los cambios que se han producido en la tabla origen (Empleado). De paso, os pongo el correspondiente pantallazo en el que podemos ver dos cosas interesantes :):

  • Por una parte, tenemos que dentro de la carpeta System Tables de nuestra BD aparecen una serie de tablas que el CDC utiliza para hacer toda el seguimiento de cambios que se vaya produciendo.
  • Por otro, el ya conocido soporte de Intellisense que introduce SQL Server 2008.

image

Y el resultado de la ejecución es el siguiente:

image

Como vemos, la salida de ejecutar la sentencia anterior produce un total de 3 filas que identifican el número de operaciones que se han realizado en la tabla origen. La operación es identificado a través del valor que aparece en la columna _$operation:

  • Un valor 1 implica que se ha borrado el registro de la BD.
  • Un valor 2 identifica que se ha realizado un INSERT.
  • Un valor 3 indica que el registro en la tabla es el valor previo a una actualización de un registro en la tabla origen.
  • Un valor 4 indica que el registro en la tabla es el valor posterior a una actualización de un registro en la tabla origen.

¿Dónde se guardan las columnas cuyo cambio de valor estamos capturando? En la tabla cdc_captured_columns:

image

¿Qué más podemos hacer con el CDC?

  • Devolver sólo los registros que han contienen los valores antes y después de un UPDATE:

GO

                        DECLARE @from_lsn binary(10), @to_lsn binary(10);

                                               SET @from_lsn = sys.fn_cdc_get_min_lsn(‘dbo_Empleado’);

                                               SET @to_lsn = sys.fn_cdc_get_max_lsn();

                        SELECT * FROM cdc.fn_cdc_get_all_changes_dbo_Empleado(@from_lsn, @to_lsn, ‘all’);

GO

La salida que se obtiene es la siguiente:

image

Lo que estamos haciendo es devolver mediante las funciones fn_cdc_get_min_lsn() y fn_cdc_getmax_lsn() los registros mínimo y máximo que se están guardando en la tabla cdc.lsn_time_mapping. Esta tabla, que se crea en el momento que se activa el CDC, almacena los valores LSN (Log Secuence Number) que se generan como consecuencia de cada transacción que contiene filas de datos en una tabla de cambios, así como el instante de tiempo en el que se produjo la transacción.

  • Limpiar las tablas CDC y deshabilitar el CDC:

use SQL2008CDC

GO

                        DECLARE @end_time datetime;

                        DECLARE @to_lsn binary(10);

                                               SET @end_time = GETDATE();

                        SELECT @to_lsn = sys.fn_cdc_map_time_to_lsn(‘largest less than or equal’,

                                               @end_time);

                        exec sys.sp_cdc_cleanup_change_table @capture_instance = ‘dbo_Empleado’,

                                               @low_water_mark=@to_lsn

GO

  • Deshabilitar el CDC completamente:

–Deshabiltiando el CDC a nivel de tabla

EXECUTE sys.sp_cdc_disable_table

@source_schema = N’dbo’,

@source_name = N’Empleado’,

@capture_instance = N’dbo_Empleado’

–Deshabilitando el CDC a nivel de BD

USE SQL2008CDC

GO

Exec sys.sp_cdc_disable_db

En resumen, CDC facilita un mecanismo que permite capturer cambios en una BD de manera sencilla. Espero que el post os haya resultado interesante.

Windows XP Service Pack 3: Porque lo bueno prevalece!

Parece que se acerca la versión RTM del Service Pack 3 (SP3) del que en mi opinión es la mejor versión de sistema operativo que ha salido de Redmon: Windows XP. Según esta noticia aparecida Computer World, el SP 3  estará disponible para fabricantes de ordenadores y profesionales IT y desarrolladores (a través de Tech-Net y MSDN) para la semana que viene. Asimismo, los usuarios de Windows XP podrán descargarlo vía Windows Update a partir del 29 de Abril. Podéis consultar más información sobre las fechas de disponibilidad del SP 3 aquí.

Aprovecho el post para recordar otras noticias referentes a Windows XP que ha aparecido últimamente y que están generando bastante debate:

  • Windows XP dejará de comercializarse a partir de junio de este año, y se dejará de dar soporte técnico a partir de enero del año 2009.
  • El movimiento a nivel mundial en contra de la retirada de Windows XP, hasta tal punto esta este tema, que algunos usuarios han comentado que prefieren pasarse a Linux antes que utilizar Windows Vista (me guardo mi opinión con respecto a estas ideas ;)).

Podéis leer más información sobre estos puntos en este enlace.

SQL Server 2008: Import and Export Data Wizard!

SQL_Server2008_14 La semana pasada tuve la primera toma de contacto con SQL Server 2008, y aparte de evaluar muchas de las nuevas capacidades que ya se han contado en Geeks.Ms, me encontré con una utilidad de importación y exportación de datos realmente útil y sencilla de utilizar (que ya existía en SQL Server 2005). Se trata del asistente Import and Export Data que ofrece una forma sencilla de copiar datos desde una fuente origen a una destino, permitiendo además crear un paquete de SQL Server Integration Services (SSIS). Se pueden copiar datos de un origen a un destino siempre que se disponga de un proveedor nativo de .NET Framework o bien el proveedor de OLE DB. De hecho, la lista de proveedores de que dispone el asistente incluye entre otros:
  • Proveedores .NET Framework para ODBC, Oracle y SQL Server
  • Flat Files
  • Microsoft Access
  • Microsoft Excel
  • Microosft OLE DB provider para: Office 12, Analysis Services (9.0 y 10.0), Data Mining Services, Internet Publishing, OLAP Services (8.0), Oracle y SQL Server.
  • SQL Native Client (10.0)
  • SQLXMLOLEDB
  • SQLXMLOLEDB 4.0

En este post os voy a detallar como se utiliza este asistente y en menos de 5 minutos podemos hacer una copia de una BD SQL Server. Empecemos.

Usando el asistente Import and Export Data

El primer paso evidente es iniciar el asistente: Microsoft SQL Server 2008 -> Import and Export Data (32 bits). A partir de aquí casi es un «siguiente»-«siguiente»:

  • Pasamos por la típica pantalla de bienvenida.
  • En la siguiente pantalla, ya empezamos a especificar parámetros importantes del proceso de exportación: el tipo de proveedor, el nombre del servidor, el tipo de autenticación y la fuente de datos origen (la típica AdventureWorksDW).
SQL_Server2008_1 SQL_Server2008_2  

SQL_Server2008_3

  • Una vez especificados los parámetros que identifican la fuente de datos origen, tenemos que hacer algo muy parecido para la fuente de datos destino:
    • El tipo de proveedor.
    • El nombre del servidor.
    • La BD en este caso dónde copiar la estructura de la fuente de datos origen. En nuestro caso, vamos a crear una nueva BD.
  • El siguiente paso consiste en indicar el método de copiado de la fuente de datos origen en destino:
    • Copiar de manera automática todas las estructuras de información y su contenido.
    • Crear una consulta T-SQL que podamos manipular para restringir que estructuras e información se copian en el destino.
SQL_Server2008_4 SQL_Server2008_5  

SQL_Server2008_6

  • A continuación especificaremos que elementos concretos de la fuente origen queremos copiar en el destino. En este caso he seleccionado todas las tablas de AdventureWorksDB.
  • Además, podríamos especificar en qué esquema de la BD realizar la copia y otras opciones para la inserción de datos.
  • A continuación elegimos el tipo de ejecución: inmediata o no, con o sin creación de un paquete de SSIS.
SQL_Server2008_7 SQL_Server2008_8  

SQL_Server2008_9

  • En la siguiente pantalla simplemente pulsamos Finish para que se inicie el proceso de exportación que será más o menos largo dependiendo de cómo sea la fuente de datos a exportar.
  • Una vez acabado el proceso de exportación podemos ver un informe resumen de la misma.
SQL_Server2008_10 SQL_Server2008_11

 

SQL_Server2008_12SQL_Server2008_13

  • Sin más, iniciamos SQL Server 2008 Management Studio y comprobamos que efectivamente se ha creado una BD con la misma estructura que la BD origen.

SQL_Server2008_15

Sin duda, se trata de una herramienta muy interesante que facilita la importación/exportación de datos y que en mi caso no conocía. Espero que el post os haya resultado interesante.

SQL Server Reporting Services: Preguntas y Respuestas (II)!

Después del primer post de la serie sobre preguntas habituales en seminarios sobre SQL Server Reporting Services (SSRS), aquí tenemos la segunda entrega en la que nos centraremos en lo versátil  que es SSRS gracias al juego que da el uso de parámetros. Como veréis, realmente se trata de una única sección, y en concreto de una pregunta y su correspondiente respuesta, la que trataremos en esta nueva entrega. Empecemos.

Parámetros de informe: ¿Cómo puedo poner el valor All de un parámetro de un informe?

Hay dos formas de conseguir esta funcionalidad:

  • Opción 1: Aprovechando que en la definición de la consulta T-SQL que nos permite llenar el dataset podemos aprovechar las capacidades de programación de T-SQL, de manera que podemos añadir cierta lógica en la sentencia SELECT. Así, por ejemplo:
    • Tendríamos un bloque IF que controla los casos en los que el usuario está filtrando por un valor concreto del parámetro.
    • En el bloque ELSE tendríamos la sentencia T-SQL en la que se devuelven todos los resultados sin aplicar un parámetro en la clausula Where.

if @category <> 0

Begin

SELECT * from dbo.vProductProfitability

               WHERE dbo.vProductProfitability.Year=@anyo

 and dbo.vProductProfitability.MonthNumberOfYear=@mes and dbo.vProductProfitability.CategoryKey = @category

End

else

Begin

SELECT * from dbo.vProductProfitability

               WHERE dbo.vProductProfitability.Year=@anyo

 and dbo.vProductProfitability.MonthNumberOfYear=@mes

End

–select para definir el filtro y que aplique a todos los registros

SELECT ProductCategoryKey As CategoryKey,

               ProductCategoryName As Category

                               FROM DimProductCategory

union

SELECT 0  As CategoryKey, ‘todos’ As Category

  • Opción 2: Aprovechando que SSRS nos permite trabajar con parámetros multivalor. Por ejemplo, si tengo una consulta que me permite filtrar por un cierto parámetro, haremos lo siguiente:
    • Definir la query del dataset para que en lugar de utilizar el operador =, utilice IN.

image

    • En la configuración del parámetro, simplemente marcamos el check Multivalue.

image

    • De esta forma, al ejecutar el informe se ofrecerá la opción All Values:

image

    • Y el resultado de aplicar el filtro (Select All) sería:

image

Y hasta aquí el segundo post de la serie de Preguntas y Respuestas sobre SSRS. Tengo algún capítulo más que añadir, pero esperaré a completarlo con más preguntas. Espero que os haya resultado interesante.