Buscar este blog

Cargando...

viernes, 19 de abril de 2013

SolidQ Summit 2013 Madrid #SQSummit13

 Regreso a SolidQ Summit

 

Un año más SolidQ celebra su Summit en Madrid, la novena edición, los días 11,12 y 13 de Junio en el Regus Campo de las Naciones.

 

El Summit que organiza SolidQ anualmente en España está de vuelta, como seguramente ya estaréis enterados los miembros de esta comunidad. Porque lo somos, comunidad, y contadas son las ocasiones en las que podemos reunirnos y compartir experiencias y vivencias, técnicas y personales, hablando en sesiones que comprenden los aspectos más relevantes y novedosos de la industria o en petit comité memorando buenos y malos ratos compartidos o llanamente interesándose por los más allegados aquellos que llevamos años de relación y este es uno de esos momentos en los que celebramos reencontrarnos.

SolidQ

Este será mi quinto año asistiendo, primero como público y luego como ponente, y las sensaciones siempre han sido positivas, cumpliendo mis expectativas sobre la formación y el aprendizaje, y sintiéndome integrado en un grupo de fantásticas personas con intereses y pasiones comunes. Porque aunque hay muchas otras cosas en las que empleo mi tiempo y energías que son más corrientes entre los mortales y siempre hay alguien con quien hablar, debatir o discutir; no siempre puedo contar penas y alegrías sobre mis batallas, resolviendo problemas con MDX, optimizando un diseño para mejorar los tiempos de respuesta, etc… sin que piense que estoy hablando en klingon para mi interlocutor, aunque ponga toda su capacidad atención para hacer por entenderme (dedicado agradecimiento a Eva)

Vale, no es un campamento de verano... el objeto principal de este evento es la transferencia de conocimientos, muchas veces de forma circular o recíproca. Y es que, como cada año, se han organizado multitud de sesiones, 42 concretamente, para todos los niveles en cuanto a profundidad técnica divididas en cuatro temáticas principales Inteligencia de Negocios, SharePoint, Azure y SQL Server, abarcando varias perspectivas como rendimiento, usabilidad, monitorización, metodología, filosofía, etc.. desde un enfoque que parte del conocimiento basado en la experiencia.

En cualquier caso no te quedes sólo con mi opinión, algunos asistentes de ediciones anteriores han querido expresar la suya: http://summit.solidq.com/madrid/2013/Paginas/Opinion-de-asistentes-al-SolidQ-Summit.aspx

Puedes consultar la agenda completa en el sitio del Summit 2013 para planificar tus jornadas, y seguir el hashtag #SQSummit13 en Twitter para estar al día.

Yo estaré allí, ¿y tú?

jueves, 18 de abril de 2013

SSIS Básico: Guardar valor de columnas en una variable

 

En relación a uno de los comentarios que me han dejado en el post SSIS Básico: Ajustando la longitud de una columna, volvemos a la carga con pequeño how-to de como guardar el valor de una columna en una variable dentro de un Data Flow a utilizando un Script component.

Para poneros en situación, voy a utilizar una tabla que guarda tweets publicados con ciertas palabras, y guardaremos en la variable el último usuario que haya publicado en función de la fecha  del tweet registrada en la columna Created_at.

Primero debemos contar con la variable en la que necesitamos guardar el valor, para este ejemplo he creado la variable VariableCadena, con ámbito de paquete para poder utilizarla en el Control Flow o subsiguientes Data Flows:

image

Dentro del Data Flow en el que vamos a registrar el valor de alguna columna en la variable, añadimos un Script component en modo transformación:

image

En la configuración del componente, en la sección Input columns, seleccionamos la columna desde la que queremos obtener el valor, y cualquier otra que necesitemos si la lógica de asignación del valor tiene más dependencias. Para este ejemplo vamos a utilizar las columnas UserName y Created_at del flujo de datos:

image

Nos movemos a la sección Script y añadimos nuestra variable a la lista de variables con acceso de escritura.

image

Pulsamos el botón Edit Script para escribir el código necesario (ejemplo en C#). Algo que debemos tener en cuenta es que no se permite la escritura de valores en variables fuera del método PostExecute(), por lo que nos tendremos que apoyarnos en variables de la clase ScriptMain para poder dar salida a nuestra variable de paquete.

Otro detalle a comentar es el método <nombreInput>_ProcessInputRow, que se ejecutará para cada una de las filas que provea el flujo de datos conectado a este componente.

Con esto en mente, escribimos el siguiente código:

[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent
{
//variables de apoyo para la lógica
string UserName = string.Empty;
DateTime Created_at = DateTime.MinValue;

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
//evaluamos si la fila actual tiene una fecha mayor a la registrada por la última fila
if (Row.Createdat > this.Created_at)
{
//asignamos el nombre del usuario a la variable interna
this.UserName = Row.UserName;
this.Created_at = Row.Createdat;
}
}

public override void PostExecute()
{
base.PostExecute();
//asignamos el valor de la variable interna a la variable de paquete
this.Variables.VariableCadena = this.UserName;
}
}

Como habeis comprobado, utilizamos la variable interna UserName para guardar el valor que queremos asignar a la variable de paquete en el método PostExecute().


Otra nota importante: Dentro del mismo Data Flow no se puede acceder al contenido de la variable modificada. Cuando el proceso de ejecución entra en el Data Flow se bloquea el valor que tuviera la variable en el momento del evento PreExecute(), como se muestra en el post SSIS Utilizando el RowCount. Recordad que a la variable de paquete le asignamos el valor en el evento PostExecute().


Sin embargo, el nuevo valor esta diponible a partir de entonces y por tanto para cualquier tarea que se ejecute a continuación. Podemos mostrar el valor de la variable en un Script task desde el Control Flow con propósitos didacticos, aunque este tipo de mecanismos se suele utilizar para luego pasar como parámetro a filtros en consultas en otro Data Flow o Execute SQL…


image


 





viernes, 30 de noviembre de 2012

SharePoint Power View para Analysis Services Multidimensional CTP

SQL Server logo

SharePoint 2013 logo 

Los profesionales que desarrollamos BI con herramientas de Microsoft estamos de enhorabuena: El equipo de producto de Analysis Services ha anunciado en su blog la disponibilidad de una actualización de Reporting Services en modo SharePoint y del propio motor de Analysis Server Multidimensional que permiten la utilización de Power View utilizando datos que provengan de los cubos tradicionales. Esta entrega es una Community Technology Preview para que los profesionales y usuarios podamos proporcionar comentarios y sensaciones del producto.

Anuncio en el blog de Analysis Services & PowerPivot

Página de descarga desde Microsoft Download Center

Además de contar con estas actualizaciones principales, se incluye filtros que pueden afectar a toda la vista del informe Power View y que se puede establecera a través de parámetros en la URL… ¿integración con PerformancePoint Services? mmm habrá que investigarlo, yo ya me estoy bajando una copia de Microsoft SQL Server 2012 With Power View For Multidimensional Models CTP

image

Hasta ahora Power View los orígenes de datos se restringían a bases de datos de modelo tabular o modelos de datos de PowerPivot hospedados en hojas Excel. Esta actualización ofrece un abanico de posibilidades en visualización de datos utilizando esta tecnología, muy agradecida por los usuarios ya que les permite diseñar informes totalmente interactivos y de considerable riqueza visual, incluyendo mapas, gráficos, slicers, etc.. y para el personal de IT porque es una herramienta prácticamente Self-Service.

A probar y reportar!!

Sonrisa

martes, 23 de octubre de 2012

Error instalando SQL Server 2012 SP1 CTP4 en Azure VM


Recientemente he tenido que realizar la instalación de varias instancias de SQL Server 2012 SP1 CTP4 en una máquina virtual de Windows Azure (Azure VM). Si seleccionas la instalación de SQL Server Data Tools (el shell de Visual Studio 2010 para proyectos de BI) es posible que te encuentres con el mismo problema con el que he tenido que enfrentarme:
image
Error ocurred during the installation of assembly Microsoft.VC80.ATL, version=”8.0.50727.4053”, publicKeyToken=”1fc8b3b9a1e18e3b”, processorArchitecture=”x86”, type=”win32”. HRESULT: 0x80073712

miércoles, 17 de octubre de 2012

Microsoft Community Contributor 2012

 

image

En esta entrada quiero compartir con ustedes la comunicación que me ha hecho llegar Microsoft recientemente anunciando su reconocimiento con el galardón Community Contributor, de nuevo en 2012.

Tengo que agradecer a todos los compañeros y a la comunidad en general la dedicación, la inversión de tiempo y esferzos que realizan para contar experiencias y compartir conocimiento, dedicación que se contagia y gracias a ellos, a ustedes, puedo hacer lo propio y aportar un pequeño bit a esta gran montaña de unos y ceros.

Gracias!

Unir servidores a una granja SharePoint 2013 con Powershell


image

Introducción

Durante el proceso despliegue de una granja de SharePoint, cuando se trata de una topología de tres capas, resulta muy interesante intentar automatizar todas las tareas que se puedan y se dejen. En esta entrada vamos a hacer uso de algunos comandos que se se incluyen en el Snapin Microsoft.SharePoint.Powershell que nos puede salvar algún tiempo.


miércoles, 10 de octubre de 2012

Modificar puertos TCP de SQL Server 2012 con Powershell


Introducción

Con SQL Server 2012 se ha incorporado el módulo SQLPS para facilitarnos las tareas de administración de nuestro servidor SQL. Antes de esta versión nos veíamos obligados a cargar ensamblados como Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer y utilizar URNs para cargar los objetos que son necesarios para realizar este tipo de cambios a nivel de instancia. Aqui teneis algunos ejemplos de como se hace cargando ensamblados:

Entradas populares