Search This Blog

Wednesday, October 20, 2010

Unir o Mezclar Datasets en Reporting Services

Esta quizá ha sido una de las preguntas que mas me han hecho en lo que refiere a SQL Server Reporting Services “Como hago para unir 2 Datasets”… bueno, la verdad siempre logre resolverlo con T-SQL y en algunos casos con MDX, sin embargo llego la hora de investigar como hacerlo, ahora que lo logre, es hora de compartirlo con ustedes.

El siguiente ejemplo es de caracter explicativo, SQLGeek entiende que la solución se puede tener fácilmente a través de TSQL, sin embargo el objetivo es explicar el uso de las funciones en SSRS.


Usaremos la base de datos AdventureWorks

Dataset1

   1: SELECT TOP 10 YEAR(OrderDate) Anho, 



   2: SUM(SubTotal) Subtotal, SUM(TaxAmt) Impuestos, 



   3: SalesPersonID 



   4: FROM Sales.SalesOrderHeader 



   5: GROUP BY SalesPersonID, YEAR(OrderDate)


   6: ORDER BY SalesPersonID 





Dataset2





   1: SELECT TOP 10 SalesPersonID, SalesQuota  



   2: FROM SALES.SalesPerson



   3: Order by SalesPersonID 





Estos datasets devolverán la siguiente información





   1: Anho        Subtotal              Impuestos             SalesPersonID



   2: ----------- --------------------- --------------------- -------------



   3: 2002        6530343.5264          522427.5036           NULL



   4: 2003        9791060.2977          783284.8498           NULL



   5: 2001        3266373.6566          261309.8975           NULL



   6: 2004        9770899.74            781671.9792           NULL



   7: 2004        302131.667            24170.5335            268



   8: 2001        34682.5602            2774.6049             268



   9: 2002        479976.9232           38398.1537            268



  10: 2003        552833.499            44226.6801            268



  11: 2001        903229.8296           72258.3864            275



  12: 2004        1858626.9289          148690.1544           275






   1: SalesPersonID SalesQuota



   2: ------------- ---------------------



   3: 268           NULL



   4: 275           300000.00



   5: 276           250000.00



   6: 277           250000.00



   7: 278           250000.00



   8: 279           300000.00



   9: 280           250000.00



  10: 281           250000.00



  11: 282           250000.00



  12: 283           250000.00




Ahora bien, una vez llevamos esto a SSRS en Datasets Separados podríamos tener 2 reportes, 2 tablas, 2 gráficos, 2 matrices o 2 listas…



image



Sin embargo muchas personas me han consultado para poder llegar a algo así



image



Pero me dicen que al intentar hacerlo, SSRS devuelve un error así



image



La solución esta en el uso de la función Lookup, disponible en SQL Server Reporting Services, y que nos permite que podamos hacer este tipo de cosas, la sintaxis de la función es la siguiente:



=Lookup(CampoDataSet1, CampoDataSet2, CampoQueQueremosTraer, DataSetSecundario)



La función Lookup es el equivalente a un Join, solo que lastimosamente con esta función podemos traer un campo a la vez, así que si deseamos traer mas de un campo, tendremos que poner la función mas de una vez.



Si aplicamos esto a nuestro ejemplo, nuestra función quedaría de la siguiente manera.



=Lookup(Fields!SalesPersonID.Value, Fields!SalesPersonID.Value, Fields!SalesQuota.Value, "DataSet2")


Obteniendo los siguientes resultados



image



Espero les sea de mucha utilidad…



Si tienen dudas o desean que tratemos algun tema en el blog, no duden en escribirme a jbocachica (arroba) sqlgeek.net



Descárgate el RDL aquí 



http://tinyurl.com/sqlgeek1

Thursday, July 22, 2010

SQL Azure “Houston” - CTP Disponible

El CTP 1 de “Houston” esta dispobible para descarga…

http://blogs.msdn.com/b/sqlazure/archive/2010/07/21/10040258.aspx

Datos espaciales

Creando bases de datos Geoespaciales de alto rendimiendo https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455540&Culture=es-AR

Performance point

Produciendo Dashboards con PerformancePoint Services https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455537&Culture=es-AR

Multiserver administration

Administración multiservidor con SQL Server 2008 R2 https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455535&Culture=es-AR

Powerpivot

Introducción a PowerPivot https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455533&Culture=es-AR

FILESTREAM

Lo que usted aún no sabe sobre FILESTREAM https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455531&Culture=es-AR

Novedades en SQL Server 2008 R2

Novedades en SQL Server 2008 R2 https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455529&Culture=es-AR

Data tier applications

Data Tier Applications https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455527&Culture=es-AR

Reporting Services

Reportes autoservicio con SQL Server 2008 R2 Reporting Services https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455525&Culture=es-AR

Bodegas de datos

Bodegas de Datos y cubos con SQL Server 2008 R2 Analysis Services https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455523&Culture=es-AR

Mineria de datos

Minería de Datos con Excel 2010 y SQL Server 2008 R2 https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455517&Culture=es-AR

Maraton SQL Server

Implementando MDM Usando SQL Server 2008 R2 Master Data Services https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455515&Culture=es-AR

Maraton SQL Server

StreamInsight: Una nueva forma de trabajar con notificaciones https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032455511&Culture=es-AR

Monday, March 8, 2010

Como migrar una base de datos multidimensional

Uno de los procesos más comunes al momento de trabajar en proyectos de inteligencia de negocios es la realización de movimientos entre Desarrollo – Pruebas – Producción.

El proceso en realidad es bastante simple, pero primero entendamos un poco la arquitectura.

Ambiente de desarrollo


Ambiente de pruebas


Ambiente de producción


Estos tres ambientes son extremadamente diferentes, muchas veces lo que funciona en uno, no funciona en el otro, es por eso que el proceso de migración es tan importante, durante muchas ocasiones he tenido la necesidad de migrar ambientes, ya sea por cambios en los servidores, o por movimientos de Pruebas a Producción, hemos intentado diversos modelos, uno de los más comunes es la migración de las soluciones, normalmente en estos ambientes tienden a mover toda la solución generada por el Business Intelligence Development Studio, esta solución es abierta en el nuevo ambiente y desde allí hacen "Deploy" hacia los nuevos servidores, esta solución es válida, aunque en muchas ocasiones genera problemas, los problemas típicamente son de configuración y de dificultad para realizar la migración, ya que no en todos los casos se tiene un BIDS a la mano para realizar el proceso de "Deployment"…

Después de analizar diversas maneras, encontré que la solución más simple sería la de generar un paquete de "instalación", este paquete contendría todos los scripts para:

  1. Generación de la base de datos multidimensional
  2. Generación de las Fuentes de datos
  3. Generación de los "DataSource Views"
  4. Generación de las dimensiones
  5. Generación de los cubos
  6. Generación de otras características como
    1. Perspectivas
    2. Modelos de Minería
    3. Etc.


 

Como generar los scripts:

Vaya a SQL Server Management Studio.

Conéctese al servidor de análisis en donde se encuentra su base de datos multidimensional actual.

Vaya a la base de datos de la cual desea extraer el script.

De clic derecho sobre la base de datos y seleccione la opción de Script Database as


Repita este proceso para todos y cada uno de los objetos que desee migrar, el orden de creación de los objetos es:

  1. Creación de la base de datos
  2. Creación de las fuentes de datos
  3. Creación de los "DataSource Views"
  4. Creación de las dimensiones
  5. Creación de los cubos
  6. Creación de otros objetos.

Friday, January 22, 2010

De Trial a licenciado… Actualizacion de SQL Server

Ya en varias oportunidades me han hecho esta pregunta:

Como puedo migrar mi SQL Server Trial y adjuntarle mi licencia...

El proceso en realidad es bastante simple, pero primero debemos conocer las rutas validas de migracion

Desde

Hacia

SQL Server 2005 Evaluation Edition

SQL Server 2005 Enterprise Edition

SQL Server 2005 Developer Edition

SQL Server 2005 Standard Edition

SQL Server 2005 Workgroup Edition

SQL Server 2005 Express Edition

SQL Server 2005 IA64 Evaluation Edition (64 bits)

SQL Server 2005 IA64 Enterprise Edition (64 bits)

SQL Server 2005 IA64 Developer Edition (64 bits)

SQL Server 2005 IA64 Standard Edition (64 bits)

SQL Server 2005 X64 Evaluation Edition (64 bits)

SQL Server 2005 X64 Enterprise Edition (64 bits)

SQL Server 2005 X64 Developer Edition (64 bits)

SQL Server 2005 X64 Standard Edition (64 bits)


 

Actualizar a SQL Server 2005

Puede actualizar directamente las instancias de SQL Server 2000 Service Pack 3 (SP3) o posterior, e instancias de SQL Server 7.0 SP4 o posterior, a SQL Server 2005. Puede realizar la mayoría de las operaciones de actualización mediante el programa de instalación; no obstante, algunos componentes admiten o necesitan la migración de aplicaciones o soluciones una vez ejecutado el programa de instalación.

Antes de ejecutar el programa de instalación para actualizar a SQL Server 2005, debería revisar primero los requisitos del sistema y la matriz de actualización.

Después de revisar los requisitos del sistema y la matriz de actualización, ejecute el Asesor de actualizaciones de SQL Server para analizar las instancias de SQL Server 2000 y SQL Server 7.0. El Asesor de actualizaciones produce listas de problemas específicos de sus instalaciones que debe arreglar antes o después de actualizar. El programa de instalación de SQL Server detecta problemas de bloqueo que impiden actualizar a SQL Server 2005, pero no presenta una lista de los problemas que puedan afectar a las aplicaciones.


 

Desde

Hacia

SQL Server 2008 Enterprise Evaluation

SQL Server 2008 Enterprise Evaluation

SQL Server 2008 Web

SQL Server 2008 Workgroup

SQL Server 2008 Standard

SQL Server 2008 Developer

SQL Server 2008 Enterprise

SQL Server 2008 IA64 (64 bits) Enterprise Evaluation

SQL Server 2008 IA64 (64 bits) Enterprise

SQL Server 2008 IA64 (64 bits) Developer

SQL Server 2008 IA64 (64 bits) Enterprise Evaluation

SQL Server 2008 x64 (64 bits) Enterprise Evaluation

SQL Server 2008 Enterprise Evaluation

SQL Server 2008 Web

SQL Server 2008 Workgroup

SQL Server 2008 x64 (64 bits) Standard

SQL Server 2008 x64 (64 bits) Developer

SQL Server 2008 x64 (64 bits) Enterprise


 

Nota: Está limitado el cambio de edición de un clúster de SQL Server 2008. En los clústeres de SQL Server 2008, no se admiten los escenarios de degradación de edición siguientes:

  • SQL Server 2008 Enterprise a SQL Server 2008 Developer, Standard o Enterprise Evaluation.
  • SQL Server 2008 Developer a SQL Server 2008 Standard o Enterprise Evaluation.
  • SQL Server 2008 Standard a SQL Server 2008 Enterprise Evaluation.
  • SQL Server 2008 Enterprise Evaluation a SQL Server 2008 Standard.

Es importante tener las siguientes aclaraciones en cuenta:

  1. No se permite migrar a una version diferente, eso siginifica que si ya tienes instalado un Service Pack en el trial, la migracion no se podra realizer, a menos tal que se realice la combinacion del product instalado con el Service Pack y se instale desde estos nuevos medios.
  2. No se permite la actualizacion entre plataformas 32 bits – 64 bits de manera native, esto sera necesario realizarlo con WOW


 


 


 

LinkWithin

Related Posts Plugin for WordPress, Blogger...