Web Toolbar by Wibiya Fran Diaz

Fran Diaz

Reporting Services, .NET, tecnologías Microsoft y otros

Email Notifications

Recent Posts

Tags

News

Community

Comunidades

  • OnobaNET
  • Grupo de usua
  • INETA
  • Culminis
  • Zona de Grupos de Usuarios Online
  • Foro MSDN Español: Colaborador

Webs Amigas

Archives

SQL Server 2012 Novedades (IV) – Funciones de Conversión

En este post voy a hablar sobre las nuevas funciones de conversión. En esta nueva versión han metido las funciones Parse(), Try_Parse() y Try_Convert() muy parecidas a las que ya tenemos en .net aunque con algunas limitaciones como vamos a ver ahora.

Sin más, vamos a meternos de lleno en ellas:

Parse(). Esta función nos convierte un string a un tipo válido y una cultura opcional. Si el valor pasado no es posible convertirlo o del tipo que se ha especificado (solo numéricos y de fecha y horas) devolverá una excepción. Veamos unos ejemplos:

Conversión de números:

parse_numeric parse_numeric_results

Fechas. Como podéis ver, si queremos pasarlo a alguna cultura deberemos usar la palabra reservada USING: 

parse_date

Resultado:

parse_date_results

Conversión a un tipo no válido

parse_error

Resultados:

parse_error_results

Try_Parse(). Esta función es similar a la anterior con diferencia de que en caso de que no se pueda convertir al tipo especificado nos devolverá un null en vez de una excepción.

Try_Convert(). Esta función nos va a convertir (con CAST) un valor pasado a un tipo válido. Además podemos aplicar algún estilo como los que nos da la función Convert. Si el tipo no es válido nos dará una excepción. Veamos unos ejemplos

Conversión de un número.

try_convert_int try_convert_results

Conversión con truncado. Si usamos algún tipo de datos tipo string y los caracteres se pasan de los especificado este nos retorna automáticamente un truncado.

try_convert_truncado try_convert_truncado_results

Conversiones con estilo.

try_convert_style try_convert_style_results

Y con esto, damos por finalizado las conversiones con estas funciones, espero que os sea de utilidad Guiño.

Un Saludo

SQL Server 2012 Novedades (III) – Funciones de formato y concatenado

Seguimos con más novedades en SQL Server 2012. Hoy voy a explicar las nuevas funciones Format() y Concat() que nos servirán para formatear y concatenar respectivamente.

Format(). Esta función nos devuelve un valor numérico o de fecha formateado con una cultura opcional. Vamos a ver unos cuantos ejemplos para ver los resultados.

1er Ejemplo. En este primero ejemplo vamos a devolver un tipo float a moneda para diferentes culturas.

format_money

El resultado es el siguiente:

format_money_Results

2º Ejemplo. Para este ejemplo devolveremos el día de la semana de una cultura en concreto.

format_day

El resultado es el siguiente:

format_day_results

3er Ejemplo. En este ejemplo devolveremos una fecha en el formato especificado

format_date

format_date_results

Como veis, podéis dar varios formatos a un tipo numérico o de fecha fácilmente con la función Format(). Tenéis más información acerca del formato en esta url: http://msdn.microsoft.com/library/26etazsy.aspx

Ahora, vamos con la segunda función: Concat() que nos va permitir montar una cadena a partir de varios tipos de datos como vamos a ver ahora:

En este ejemplo vamos a concatenar un texto con un tipo fecha

concat_date

El resultado:

concat_date_results

En este otro ejemplo vamos a ver como podemos unir concat y format para crear frases:

concat_frases

Y el resultado:

concat_frases_results

En este último ejemplo vamos a ver otra cadena constituida por un texto y un tipo de datos numérico para ver como la función no le va a importar la diferencia entre los tipos (al igual que en el primer ejemplo) y nos devuelve igualmente una cadena:

concat_types concat_types_results

Y con esto terminamos este post sobre Concat() y Format(). Espero que sea de vuestro interés Guiño.

Un Saludo

SQL Server 2012 Novedades (II) – Funciones Lógicas

Continuando con la serie de novedades, esta vez le toca a las nuevas funciones Lógicas introducidas en esta nueva versión. Estas son IIF y Choose y nos van a ayudar a con la construcción de nuestras T-SQL. Aquí un unos ejemplos:

IIF(). Esta función funciona igual que el visual basic y nos va a permitir a través de una evaluación de condiciones la elección de un valor verdadero o falso. Vemos un ejemplo a continuación:

Select IIF(DatePart(month,GetDate()) = 5 , 'True','False')

 iif_sample

Choose(). Esta función nos va a permitir seleccionar de una lista de valores lo que le pasemos como index en el primer valor.

Set Datefirst 1
Select Choose(datepart(DW,GetDate()),'Lunes','Martes','Miércoles', 'Jueves', 
'Viernes', 'Sábado','Domingo')

choose_sample

Espero que sea de vuestro interés,

Un Saludo

SQL Server 2012 Novedades (I) – Funciones de fecha y hora

Con la reciente salida de SQL Server 2012, han llegado con muchas novedades que destacar y que seguro nos van a ayudar con nuestro día a día. Hoy voy a mostrar las nuevas funciones de fecha y hora que vienen.

Concretamente son 7 estas funciones, que van orientadas la creación de fechas a partir de la introducción de valores (exceptuando la última). Veamos un ejemplo por cada una de ellas para tener más claro su funcionamiento:

DATEFROMPARTS. Devuelve un tipo de datos Date al pasarle el año, mes y día.

   1:  Select DATEFROMPARTS(2012,03,29) AS Fecha

dateFromParts

DATETIME2FROMPARTS. Devuelve un tipo de datos Datetime2 al pasarle el año, mes, día, horas, minutos, segundos, milisegundos y precisión.

   1:  Select DATETIME2FROMPARTS(2012,03,29,23,26,00,345,4)

datetime2FromParts

DATETIMEFROMPARTS. Esta función es idéntica a la anterior con la diferencia de que esta última devuelve un valor de tipo Datetime.

   1:  Select DATETIMEFROMPARTS(2012,03,01,23,50,0,010)

datetimeFromParts

DATETIMEOFFSETFROMPARTS. Devuelve un tipo de datos Datetimeoffset al pasarle a esta función la fecha, la hora, fracciones, hour_offset, minute_offset y la precisión. El formato que obtendremos de la ejecución de esta función será:

   1:  Select DATETIMEFROMPARTS(2012,03,01,23,50,0,010)

DATETIMEOFFSETFROMPARTS

SMALLDATETIMEFROMPARTS. Devuelve un tipo de dato smalldatetime pasando la fecha, horas, minutos y segundos.

   1:  Select SMALLDATETIMEFROMPARTS(2012,02,01,12,59)

smalldatetime

TIMEFROMPARTS. Devuelve un tipo Time al pasarle la hora, la fracción y la precisión.

   1:  Select SMALLDATETIMEFROMPARTS(2012,02,01,12,59)

TimeFromParts

EOMONTH. Esta función nos va a venir muy a más de uno seguro Risa, ya que devuelve el último día del mes de la fecha que introduzcamos. La síntasis es la siguiente: EOMONTH(Fecha, Mes)

-- Mes actual
Select EOMONTH(GetDate())
-- Mes anterior
Select EOMONTH(GetDate(),-1)
-- Mes siguiente
Select EOMONTH(GetDate(),1)
EOMONTH

Nota con las fracciones y la precisión. Si pasáis una fracción mayor a la que establezcáis en la precisión os va dar un error como el siguiente:

ErrorPrecision

Y con esto, terminamos las funciones de fecha y hora pero no con el resto de funciones Guiño.

Espero que os sea de interés,

Un Saludo!

[SQL Server] Performance Dashboard Reports for SQL Server 2012

Desde hace casi ya un mes tenemos disponibles una serie de customs reports que nos va a ayudar a ver la actividad de nuestro servidor. Muy orientados a ver cuellos de botella en nuestro SQL Server, estos reports podrán ayudarnos a resolver entre otros lo siguiente:

  • Cuellos de botella en CPU (que queries nos están consumiendo más CPU)
  • Cuellos de Boterlla para IO (que queries usan más IO)
  • Recomendaciones de índices generados por el propio optimizador de consultas (índices que faltan por ejemplo)
  • Bloqueos
  • Latch contention

Todos estos Reports no hacen más que mostrarnos la información que ya podemos obtener nosotros mismos desde las SQL Server Dynamic Management Views.

No es necesaria la instalación de SQL Server Reporting Services para poder ver los Reports.

Podemos descargarlos desde aquí: http://www.microsoft.com/en-us/download/details.aspx?id=29063 y una vez terminada la descarga, ejecutamos el .msi y seguimos el asistente que nos instalará los reports.
Podemos elegir la ubicación que por defecto nos lo deja en: <drive>:\Program Files\Microsoft SQL Server\110\Tools\Performance Dashboard\

Properties_Custom_ReportsUna vez instalado el paquete, nos vamos al a carpeta donde nos ha colocado los informes y buscamos el script setup.sql y lo ejecutamos.

Una vez ejecutado tan solo tenemos que abrir el Microsoft SQL Server Management Studio y hacer botón derecho en el nodo principal.
Seleccionamos Reports y luego Custom Reports para buscar los reports que ya hemos descargado y que se encontrarán en la ruta que le hayamos indicado o la que trae por defecto (más arriba podéis verla). Abrimos el que viene con el nombre performance_dashboard_main.rdl y listo. Podremos ver algo como lo siguiente:

 

performance_dashboard_main

Por último, si quieres ver que se cuece bajo estos reports, tan solo tienes que abrirlos en un proyecto de Reporting Services Guiño.

Espero que os sea de interés.

Saludos!

[WebCast] .NET Framework en Mac y Linux. Conoce Mono (I)

El próximo martes 8 de mayo, Second Nug os invita a sacar vuestros desarrollos .NET por la ventana de Windows, para conocer las posibilidades que nos ofrece el proyecto Mono a la hora de explorar otras plataformas: Mac y Linux.

Conoce el proyecto Mono, aprende a crear aplicaciones portables con tus conocimientos en .NET y a crear un entorno de desarrollo adecuado a tal efecto. Por un rato en SNUG hacemos una excursión fuera de nuestro querido Windows, de la mano del mejor guía para la ocasión, Lluis Sánchez miembro del equipo de desarrollo del propio proyecto Mono desde hace 10 años.

Url Registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032511982&Culture=es-ES

foro_mono

Además, todos los eventos anteriores de este año así como sus materiales están aquí disponibles:

- Eventos Desarrollo
Y dispones de nuestro Histórico de Eventos, con los eventos desde 2008 a 2011:

Esperamos veros allí Guiño

Un Saludo

[SSIS] Extracción desde Oracle con parámetros

Este caso que voy a explicar lo he utilizado con Oracle pero también os puede servir para obtener los datos desde una base de datos no SQL Server, y digo ‘no SQL Server’ porque para este es más fácil hacerlo sin liarla tanto Sonrisa.

Vamos a exponer el escenario para que entendamos bien que es lo que quiero hacer:

La idea es la extracción de datos desde Oracle de una determinada fecha en adelante y/o los datos que cambiaron en la tabla de la que traigo los datos. 
¿Cómo lo traigo? Pues me pillo un componente Data Flow Task y dentro de este uso un OLE DB Source al que conectarme (el resto hasta el destino según vuestras necesidades).

Primer intento. En el OLE DB Source elijo la conexión a Oracle en Data access mode selecciono SQL Command y escribo la siguiente sentencia:

Select [MisCampos] From MiTabla Where Fecha_Registro >= ?

Si el origen fuese un SQL Server ahora podría seleccionar parameters y asignar alguna variable que tuviese por ahí y listo, pero como es una fuente diferente no puede ser así.

Solución:

  1. Creamos dos variables, una que contenga el SQL (de tipo string)  y la otra la fecha. 
  2. Para la variable que contendrá el SQL no situamos en el panel de variables y pulsamos F4 para pasar a las propiedades de esta y cambiamos la propiedad EvaluateAsExpression a true. En la propiedad Expression montamos la siguiente consulta:

    “Select [MisCampos] From MiTabla Where Fecha_Registro” + @[User:MiVariableFecha]
  3. En el OLE DB Source seleccionamos el origen de datos, en data access mode seleccionamos sql command from variable y a continuación seleccionamos la variable sql (o como la llamemos).

Con esto estaría todo listo en la práctica, pero hay algunas consideraciones a tener en cuenta y que te pueden dar algún quebradero de cabeza.

  • Si la variable SQL que tenemos hay parámetros, hay que tener en cuenta que si la/s variable/s son diferentes a string tendrás que hacer una conversión sino no te funcionará y al probar la expresión te producirá una excepción.
  • Si ya tienes montada la estructura desde el origen al destino, con conversiones, splits, merges y todo lo necesario para extraer tus datos directamente de una tabla sin parámetros y ahora quieres hacerlo de esta forma te puede pasar que el componente se quede ‘pillado’ y te de errores raros.
    • Solución 1. Lo montas de nuevo todo
    • Solución 2. Puedes probar a refrescar la variable quitando o agregando campos para ver si refresca.
  • Si tienes más transformaciones entre el origen y el destino, tendrás que abrir las que te aparezcan con errores y mapear los campos (suponiendo que en la variable que has creado nueva venga con los mismos nombres y no diferentes) o en su defecto quitar y ponerlos de nuevo.

Igual hay algún caso que se me escape o que no me haya pasado, así es que si quieres comentarlo adelante Guiño!!

Un Saludo

[Webcast] Descubriendo el mundo de la Caché

El próximo martes 10 de Abril veremos en Second Nug como las cachés son uno de los múltiples recursos con los que con cuentan los desarrolladores para poder mejorar el rendimiento de las aplicaciones. Conocerlas, saber cuándo utilizarlas y elegir la más adecuada para cada situación es un factor clave en todo desarrollo de software.

El objetivo de este sesión será realizar una visión lo más práctica posible a las diferentes tipos de caché con los que se pueden contar, entrando en detalles de diseño para indicar los casos en que su uso podría ser beneficioso.

Para lo cual tendremos a Ibon Landa, Software Development Team Lead en Plain Concepts y MVP de Windows Azure, que nos introducirá a este interesante y útil mundo del uso de la caché.

Url Registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032507055&Culture=es-AR

foro_caches

Además, todos los eventos anteriores de este año así como sus materiales están aquí disponibles:

- Eventos Desarrollo
Y dispones de nuestro Histórico de Eventos, con los eventos desde 2008 a 2011:

Esperamos veros allí Guiño

Un Saludo

[Reporting Services] Volver atrás a toque de Javascript

Una de las características muy interesante de los controles de Reporting Services es la propiedad action, en ella (como ya he escrito en algún otro artículo) podemos indicarle que acción queremos realizar cuando el usuario pulsa sobre este.

Una de ellas es la de ir a una url, que no solo acepta url sino también javascript. Después de estar dándole vueltas a un informe que navegaba por niveles con muchos parámetros seleccionables, se me ocurrió que lo ideal para varios de ellos sería un volver hacia atrás.

Para ello buscando que javascript podía ayudarme con ello encontré el siguiente: ="BLOCKED SCRIPThistory.back(1)".

Este Javascript básicamente hace lo que quiero, la función de ir atrás del navegador, así es que problema resuelto.

Espero que se de vuestro interés,

Un Saludo

[Reporting Services] Parámetros Multivalues en URL

Hace un tiempo escribí un artículo sobre como crear un pop-up  desde la propiedad Action que llevan los controles en Reporting Services. Para este ejemplo se quería lanzar una ventana cuando se pulsase sobre el valor.

Si nos fijamos bien, vamos construyendo la url y hay una sección para añadir parámetros que funciona tal que así: &Parametro=ValorDelParametro. Hasta ahí bien, ¿pero que pasa si es un parámetro multivalue? Pues que tendremos que ponerlo de la siguiente forma: &Parametro=ValorDelParametro1 […] &Parametro=ValorDelParametroN

Como no sabemos cuantos parámetros vienen del filtro o que parámetros va a ha seleccionar el usuario, esto lo tenemos que hacer dinámicamente. Para ello nos valdremos de la función Join(“Conjunto de datos”, “Delimintador”).

Nos quedaría lo siguiente: “&MiParametro=” Join(Parameters!MiParametro.Value,”&MiParametro=”) y con esto tendremos el siguiente trozo de la url.

Espero que os sea de utilidad.

Un Saludo

[SQL Server 2012] Información de las certificaciones

sql2012

Con la nueva salida de SQL Server hace unos días en su versión RTM vienen nuevas certificaciones con él. La información es la siguiente:

  • Hay dos nuevos roles o niveles: Data Platform certification (DP) y Business Intelligence certification (BI).
  • El anterior database developer y database administrator son unidos dentro de Data Platform certification
  • Para obtener una certificación hay que pasar correctamente 5 exámenes.
  • Dichas certificaciones estarán disponibles en Junio de 2012
  • Para actualizarse a las nuevas certificaciones tan solo tendremos que pasar 3 exámenes (tendremos más información a partir de mediados de abril)
  • Cada nivel o rol de certificación deberá de ser actualizado (volver a presentarse) cada 3 años. Más información aquí: http://www.microsoft.com/learning/en/us/certification/exam-prep.aspx# Esto significa que en nuestros títulos de certificación no irá el número de versión debido a esta re-certificación.
  • Hay una nueva serie de libros llamados de referencia del examen, que se asignan directamente a los objetivos en el examen. Algunos exámenes tendrán kits de capacitación y otros tendrán referencias de exámenes

Los 7 exámenes que tendrá SQL Server 2012 serán los siguientes:

  • Querying Microsoft SQL Server 2012 (70-461) [BI and DP] (info) (course)
  • Administering Microsoft SQL Server 2012 Databases (70-462) [BI and DP] (info) (course)
  • Implementing a Data Warehouse with Microsoft SQL Server 2012 (70-463) [BI and DP] (info) (course)
  • Developing Microsoft SQL Server 2012 Databases (70-464) [DP] (info) (course)
  • Designing Database Solutions for Microsoft SQL Server 2012 (70-465) [DP] (info)
  • Implementing Data Models and Reports with Microsoft SQL Server 2012 (70-466) [BI] (info) (course)
  • Designing Business Intelligence Solutions with Microsoft SQL Server 2012 (70-467) [BI] (info)

Cada examen que hagas tendrás que indicar si quieres que sea de BI o DP.

Más info:

Learning resources from Microsoft
Frequently Asked Questions

Referencia: http://www.jamesserra.com/archive/2012/03/sql-server-2012-new-certification-info/

Un Saludo

[SSRS] CustomAttributes in Series Chart: PieLabelStyle Property

Buenas, cuando estamos trabajando con gráficas en Reporting Services es importante tener claro que el usuario tiene que ver la información muy clara. Estando montando una gráfica de tipo shape resulta que cuando los valores son muy pequeños frente a uno muy grande, se juntan todos y no se aprecia el valor que se está pintando.

menu_properties_grafica

Pues bien para mejorar esta visualización nos situamos en la gráfica, y en las propiedades de chart series buscamos CustomAttributes y expandimos para ver el conjunto de propiedades que tiene este para cambiar el valor de PieLabelSytle a Outside

Con esto nuestra gráfica mostrará los valores fuera de esta con una rayita tal como podemos ver en la siguiente imagen:

Grafica

Espero que se a de vuestro interés,

Un Saludo

[WebCast] Lo que nos quedó por contar sobre XML (II)

En Febrero pudimos disfrutar de un evento dedicado a XML (eXtensible Markup Language) que se nos quedó corto de tiempo, por eso el próximo martes 20 de Marzo Second Nug tratará los conceptos de XML que no dio tiempo a tocar.

Para este segundo evento se quedaron muchos temas interesantes de los que hablar: transformaciones XML con XSLT, ADO.NET y XML, serialización, SOAP y WSDL, XML Web Services, XML en Sql Server, y como no, Linq para XML.

No te pierdas este evento de Javier Alia, Senior Consultant en Avanade con una larga experiencia trabajando en proyectos de integración y con distintas versiones de Biztalk.

Url Registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032506426&Culture=es-ES

foro_xml_parte2

Además, todos los eventos anteriores de este año así como sus materiales están aqui disponibles:

- Eventos Desarrollo
Y dispones de nuestro Histórico de Eventos, con los eventos desde 2008 a 2011:

Esperamos veros allí Guiño

Un Saludo

[WebCast] Que te lo cuente tu aplicación. Descubre System.Diagnostics

El próximo martes 6 de marzo, en Second Nug te ayudamos a descubrir una forma en que la aplicación puede contarte sus problemas.

System.Diagnostics es un namespace vital en .NET que a menudo es desconocido por los desarrolladores. En este espacio de nombre encontramos todo lo necesario para hacer que nuestra aplicación nos hable sobre su estado de salud. Incluye y nos permite usar mecanismos que nos ayuden a saber qué está ocurriendo en nuestra aplicación cuando las cosas no van tan bien.

Conocer Diagnostics es una manera de incorporar el concepto de “design for operations” a nuestras aplicaciones sin necesidad de utilizar librerías ajenas al Framework de .NET. No te pierdas este evento de Rodrigo Corral, MVP de Visual Studio ALM, y ALM Team Lead and Software Architect en Plain Concepts.

UrlRegistro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032504839&Culture=es-AR

foro_diagnostics

Además, todos los eventos anteriores de este año así como sus materiales están aqui disponibles:

- Eventos Desarrollo
Y dispones de nuestro Histórico de Eventos, con los eventos desde 2008 a 2011:

Esperamos veros allí Guiño

Un Saludo

Instalar .net framework 3.5 de nuevo al ejecutar ReportBuilder en IE9
Esto es lo que me estaba pidiendo al intentar usar ReportBuilder 3.0 en Reporting Services 2008 R2 con IE9.

InstalarFx

Pues bien, esto se soluciona muy fácilmente Sonrisa. Con tan solo activar la vista de compatibilidad de IE9 tendremos solucionado “el problema”.

Para hacer esto, tan solo os tenéis que ir al menú tools de IE9 y activar Compatibility View y listo

Un Saludo

Comprimir con Winrar en SSIS

Estos días he estado liado con una tarea de Integration Services (SSIS) que entre otras cosas, en uno de sus flujos necesitaba comprimir unaarchivo antes de enviarlo via mail (por eso de que pese menos Guiño).

De entre todas las opciones disponibles al final me quedé con esta por práctica y por tiempo, pero hay algunas más, como crearte tu propio componente que lo haga o hacerlo con script.

Para realizar dicha tarea necesité el componente Execute Process Task Editor que trae BIDS para los proyectos de SSIS.

Para configurarlo tendremos que rellenar las siguientes propiedades:

Pestaña General. Aquí un nombre y una descripción de lo que hacemos será suficiente (es opcional)

Pestaña Process. De esta ventana me quedo con tres propiedades principales:

  • Executable. Ruta del archivo que vamos a utilizar para comprimir.
  • Arguments. Aquí le indicaremos los argumentos que necesitamos para que se ejecute la herramienta a utilizar (en este caso Winrar) correctamente.
  • WindowsStyle. De esta propiedad use hidden para ocultar la ventana ms-dos que genera la aplicación mientras se comprime el archivo.

La pestaña expressions no me hizo falta para este ejemplo.

Sobre winrar, decir que la ruta para la propiedad Executable suele estar en Program Files\Winrar\Rar.exe (unrar.exe descomprime). En Arguments escribimos lo siguiente:

a –ep m5 “rutaDestino\archivo.zip” “RutaDondeEstanTusArchivos”

El comando a nos indica que vamos a comprimir, el –ep nos crea el archivo sin carpetas ni rutas y m5 es el nivel de compresión que va desde 0 (el más bajo) hasta 5 (el más alto).

Comprimir

Hacerlo de esta manero tiene sus pro y sus contras. Por una lado tenemos una forma de comprimir fácil y rápida, además, no solo funciona con winrar sino con más aplicaciones de compresión. Pero por otro lado, debes de tener instalado en el servidor una herramienta de compresión.

Ya es cuestión de las necesidades que tengáis si hacerlo así o de alguna de las otras formas

Espero que os sea de interes.

Un Saludo

[WebCast] Como hacer el paso a producción: Automatización de Despliegues

El próximo martes 21 de Febrero, Second Nug nos mostrará cómo podemos automatizar al máximo los despliegues de nuestras aplicaciones y otras tareas relacionadas. Con este evento pretendemos que aprendas a minimizar el tiempo, esfuerzo y riesgo dedicado a este tipo de actividades repetitivas e inevitables en cualquier proyecto de desarrollo.

Veremos en acción todo el arsenal de herramientas que tenemos disponibles en entornos Microsoft para hacernos más fácil la automatización: MSBuild y Team Build, Power Shell, proyectos de base de datos, WebDeployment Toolkit, etc. Para ello contaremos con Jose Luis Soria, ALM TeamLead de Plain Concepts y Professional Scrum Trainer.

Url Registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032504085&Culture=es-ES

foro_despliegues

Además, todos los eventos anteriores de este año así como sus materiales están aqui disponibles:

- Eventos Desarrollo
Y dispones de nuestro Histórico de Eventos, con los eventos desde 2008 a 2011:

Esperamos veros allí Guiño

Un Saludo

[WebCast] Todo lo que deberías saber sobre XML

El próximo martes 7 de Febrero, Second Nug trata uno de los temas de programación que casi nunca faltan en nuestros desarrollos: XML (eXtensible Markup Language).

Hablaremos de todo o casi todo, desde qué es XML, su gramática, transformaciones con XSLT, XPath, el DOM con su parser, los readers y los writers, su utilización en Web Services (SOAP, WSDL), hasta XML en SQL Server y Linq para XML. Todos estos conceptos irán acompañados de un gran número de ejemplos donde se irá poniendo en práctica todo lo aprendido.

No te pierdas este evento que nos dará Javier Alia, Senior Consultant en Avanade con una larga experiencia trabajando en proyectos de integración y con distintas versiones de Biztalk.

Url Registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032504099&Culture=es-ES

foro_xml_2

Además, todos los eventos anteriores de este año así como sus materiales están aqui disponibles:

- Eventos Desarrollo
Y dispones de nuestro Histórico de Eventos, con los eventos desde 2008 a 2011:

Esperamos veros allí Guiño

Un Saludo

Posted: 1/2/2012 15:23 por Fran Díaz | con 1 comment(s)
Archivado en: ,,,
[SSRS] Modificar el tamaño del texto en un ChartLegend

Cuando creas una gráfica en Reporting Services 2008 R2 y este crea una leyenda que puedes utilizar si quieres. Por defecto viene con un tamaño predeterminado que puede servir o no según que caso. En mi caso necesitaba tener dicha leyenda en modo columnas, es decir una debajo de la otra porque el texto es muy grande para tenerlas todas en la misma fila.

Como ahora vienen todo más modular, es decir, cada elemento de la gráfica tiene sus propiedades (ya no viene todo en una misma ventana de propiedades como en la versión de 2005), para hacer que por ejemplo el texto de cada item de nuestra leyenda entre en una línea, tan sólo hay que situarse en la leyenda e ir a sus propiedades (F4) y buscar la propiedad TextWrapThreshold y establecerla a 0. Con esto conseguimos el efecto deseado.

TextWrapThreshold

Espero que os sea de utilidad Sonrisa.

Un Saludo

¿Te unes al lanzamiento virtual de SQL Server 2012 el 7 de Marzo?

SQLServerEvent

El próximo 7 de marzo puedes unirte al lanzamiento de SQL Server 2012. Más de 30 sesiones para aprender sobre las nuevas capacidades de este nuevo producto.

Tienes toda la info sobre este lanzamiento en: http://www.sqlserverlaunch.com/ww/Home

La agenda aquí: http://www.sqlserverlaunch.com/ww/agenda

Y por supuesto el registro: http://www.sqlserverlaunch.com/ww/Register

Ya falta ná Risa!

Un Saludo

Más artículos Página siguiente >