<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PortalSQL &#187; Analisys Services</title>
	<atom:link href="http://portalsql.com/index.php/category/analisys-services/feed/" rel="self" type="application/rss+xml" />
	<link>http://portalsql.com</link>
	<description>Compartiendo conocimiento SQL</description>
	<lastBuildDate>Sun, 18 Jul 2010 18:53:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Viendo productos sin venta en los Ãºltimo X meses con MDX</title>
		<link>http://portalsql.com/index.php/2010/07/viendo-productos-sin-venta-en-los-ultimo-x-meses-con-mdx/</link>
		<comments>http://portalsql.com/index.php/2010/07/viendo-productos-sin-venta-en-los-ultimo-x-meses-con-mdx/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 18:53:19 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>
		<category><![CDATA[MDX]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=280</guid>
		<description><![CDATA[Haca unos dias, un amigo, y alumno de un curso de MDX que impartÃ­ lanzaba esa pregunta en los post, Â¿como saber los artÃ­culos que no han tenido venta en los Ãºltimos tres meses. Para eso hace falta saber que dia es hoy, aunque en realidad, me parece que es mejor olvidarse de que dia [...]]]></description>
			<content:encoded><![CDATA[<p>Haca unos dias, un amigo, y alumno de un curso de MDX que impartÃ­ lanzaba esa pregunta en los post, Â¿como saber los artÃ­culos que no han tenido venta en los Ãºltimos tres meses. Para eso hace falta saber que dia es hoy, aunque en realidad, me parece que es mejor olvidarse de que dia es hoy y hacerlo genÃ©rico. Vamos a ver como podriamos hacer eso.</p>
<p>Bueno, vamos a ir por partes.. lo primero que vamos a hacer es ver como calcular el dÃ­a de hoy.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p280code9'); return false;">View Code</a> X-SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2809"><td class="code" id="p280code9"><pre class="x-sql" style="font-family:monospace;">with member hoy
as
 now()
select hoy on 0
from [Adventure Works]</pre></td></tr></table></div>

<p>despues vamos a ver como sacar el conjunto de articulos conÂ ventas en un mes.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p280code10'); return false;">View Code</a> X-SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p28010"><td class="code" id="p280code10"><pre class="x-sql" style="font-family:monospace;">select  exists([Product].[Product].product*[Date].[Calendar].[Month].members,,
		  &quot;Internet Sales&quot;)
  on 1,
        {Measures.[Internet Sales Amount]} on 0
from  [Adventure Works];</pre></td></tr></table></div>

<p>el conjunto que forman los meses yÂ  losÂ productos que han tenido ventas es lo que nos devuelve la clasula deÂ arriba.</p>
<p>Ahora vamos a calcular los que noÂ han tenido ventas en absoluto, para ello simplemente hacemos una resta de conjuntos, es decir, todos los productos menos los que han tenido ventas</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p280code11'); return false;">View Code</a> X-SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p28011"><td class="code" id="p280code11"><pre class="x-sql" style="font-family:monospace;">select  [Product].[Product].product*[Date].[Calendar].[Month].members-
exists([Product].[Product].product*[Date].[Calendar].[Month].members,,
		  &quot;Internet Sales&quot;)
  on 1,
        {Measures.[Internet Sales Amount]} on 0
from  [Adventure Works];</pre></td></tr></table></div>


<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p280code12'); return false;">View Code</a> X-SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p28012"><td class="code" id="p280code12"><pre class="x-sql" style="font-family:monospace;">Â </pre></td></tr></table></div>

<p>De esta forma tenemos los articulos sin ventas en un mes concreto, porque son aquellos que no tienen datos en el grupo de medidas Internet Sales, para el mes en cuestion. El problema viene porque ahora necesitamos saber los que no tienen ventas en los Ãºltimos tres meses. Para poder usar Exist, necesitariamos tener un grupo especial que tuviese en el mes actual las ventas de los Ãºltimos tres meses para cada producto y comprobar su existencia. El resultado serÃ­a rÃ¡pido, pero parece que quedarÃ­a bastante engorroso de hacer, ademÃ¡s implica cambios en el ETL y eso siempre quiere decir, mucho tiempo, muchas pruebas. AsÃ­ pues dejamos esta via solamente para el caso de que el rendimiento no se corresponda con el necesario. En otro caso pasamos al plan B y usamos el mÃ©todo filter.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p280code13'); return false;">View Code</a> X-SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p28013"><td class="code" id="p280code13"><pre class="x-sql" style="font-family:monospace;">	select
	filter ( [Product].[Product].product*
				[Date].[Calendar].[Month].members  ,
				 sum(([Date].[Calendar].currentmember.lag(3):[Date].[Calendar].currentmember),Measures.[Internet Sales Amount])&amp;gt;0) on 1,
				Measures.[Internet Sales Amount] on 0
	from  [Adventure Works];</pre></td></tr></table></div>

<p>si nos fijamos he usado la clÃ¡usula Sum para el filter, esto penalizarÃ¡ rendimiento, sin duda,.. considerad hacer esta medida fÃ­sica aun si es en el mismo grupo de medidas para mejorar el rendimiento. AÃºn este ejemplo nos estÃ¡ mostrando los que si tienen ventas en los Ãºltimos 3 meses.. veamos los que no&#8230; creo que se vÃ© facil, si has llegado hasta aquÃ­ <img src='http://portalsql.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p280code14'); return false;">View Code</a> X-SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p28014"><td class="code" id="p280code14"><pre class="x-sql" style="font-family:monospace;">	select [Product].[Product].product*[Date].[Calendar].[Month].members -
	filter ( [Product].[Product].product*
				[Date].[Calendar].[Month].members  ,
				 sum(([Date].[Calendar].currentmember.lag(3):[Date].[Calendar].currentmember),Measures.[Internet Sales Amount])&amp;gt;0) on 1,
				Measures.[Internet Sales Amount] on 0
	from  [Adventure Works]</pre></td></tr></table></div>

<p>Esta consulta tardÃ³ casi 15 segundos (una barvaridad) en mi portatil contra adventure works, si la personalizamos a un Ãºnico mes.. tardarÃ¡ mucho menos, claro.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p280code15'); return false;">View Code</a> X-SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p28015"><td class="code" id="p280code15"><pre class="x-sql" style="font-family:monospace;">	select [Product].[Product].product-
	filter ( [Product].[Product].product
				,
				 sum(([Date].[Calendar].currentmember.lag(3):[Date].[Calendar].currentmember),Measures.[Internet Sales Amount])&amp;gt;0) on 1,
				Measures.[Internet Sales Amount] on 0
	from  [Adventure Works]
	 where
	[Date].[Calendar].[Month].&amp;amp;[2004]&amp;amp;[7]</pre></td></tr></table></div>

<p>y si ahora lo enlazamos con el now que veiamos al principio.. (ojo , no funcionarÃ¡ a menos que le pongas el reloj al server a un valor que de un miembro vÃ¡lido) AdemÃ¡s ojo con usar STRTOMEMBER, que puede dar tambiÃ©n problemas de rendimiento, no en este ejemplo.. pero si en general</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p280code16'); return false;">View Code</a> X-SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p28016"><td class="code" id="p280code16"><pre class="x-sql" style="font-family:monospace;">with member ahora as
    &quot;[Date].[Calendar].[Month].&amp;amp;[&quot; +cstr(year(now()))+ &quot;]&amp;amp;[&quot;+cstr(month(now()))+&quot;]&quot;
	select [Product].[Product].product-
	filter ( [Product].[Product].product
				,
				 sum(([Date].[Calendar].currentmember.lag(3):[Date].[Calendar].currentmember),Measures.[Internet Sales Amount])&amp;gt;0) on 1,
				Measures.[Internet Sales Amount] on 0
	from  [Adventure Works]
	 where
	strtomember(ahora)</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/07/viendo-productos-sin-venta-en-los-ultimo-x-meses-con-mdx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Training Kit R2 listo en la web</title>
		<link>http://portalsql.com/index.php/2010/06/training-kit-r2-listo-en-la-web/</link>
		<comments>http://portalsql.com/index.php/2010/06/training-kit-r2-listo-en-la-web/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 16:52:53 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=277</guid>
		<description><![CDATA[Algunos de mis compaÃ±eros en Solid han trabajado duro en esto, pero ya estÃ¡ listo para descarga en: http://go.microsoft.com/?linkid=9710868
esto lo dejo en inglÃ©s porque el video estarÃ¡ en inglÃ©s  
Or if you just want to see whatâ€™s in it, you can preview training kit content online in the SQL Server 2008 R2 Learning Center [...]]]></description>
			<content:encoded><![CDATA[<p>Algunos de mis compaÃ±eros en Solid han trabajado duro en esto, pero ya estÃ¡ listo para descarga en: <a href="http://go.microsoft.com/?linkid=9710868">http://go.microsoft.com/?linkid=9710868</a></p>
<p>esto lo dejo en inglÃ©s porque el video estarÃ¡ en inglÃ©s <img src='http://portalsql.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Or if you just want to see whatâ€™s in it, you can preview training kit content online in the SQL Server 2008 R2 Learning Center on Channel 9 at <a href="http://channel9.msdn.com/learn/courses/SQL2008R2TrainingKit">http://channel9.msdn.com/learn/courses/SQL2008R2TrainingKit</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/06/training-kit-r2-listo-en-la-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi charla ayer en SecondNug, estÃ¡ lista.</title>
		<link>http://portalsql.com/index.php/2010/06/mi-charla-ayer-en-secondnug-esta-lista/</link>
		<comments>http://portalsql.com/index.php/2010/06/mi-charla-ayer-en-secondnug-esta-lista/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 09:19:34 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>
		<category><![CDATA[Noticias]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=275</guid>
		<description><![CDATA[Te la puedes descargar de la web del grupoÂ  y si lo que quieres es Ãºnicamente verla,Â  puedes ir a esta otra direcciÃ³n.
Ayer al final la demo la truquÃ© un poquito, seguramente muchos no lo notarÃ­an si no lo dijera.. pero no se trata de dejar medias verdades. Durante el dÃ­a de hoy o maÃ±ana [...]]]></description>
			<content:encoded><![CDATA[<p>Te la puedes descargar de <a href="http://www.secondnug.com" target="_blank">la web del grupo</a>Â  y si lo que quieres es Ãºnicamente verla,Â  puedes ir a esta otra <a href="https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=es-ES&amp;EventID=1032452549&amp;CountryCode=ES" target="_blank">direcciÃ³n</a>.</p>
<p>Ayer al final la demo la truquÃ© un poquito, seguramente muchos no lo notarÃ­an si no lo dijera.. pero no se trata de dejar medias verdades. Durante el dÃ­a de hoy o maÃ±ana intentarÃ© grabar un video sobre como configurar el proactive Caching y lo mostrarÃ© en una demo en video <img src='http://portalsql.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/06/mi-charla-ayer-en-secondnug-esta-lista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Charla en Second Nug el 1 de Junio</title>
		<link>http://portalsql.com/index.php/2010/05/charla-en-second-nug-el-1-de-junio/</link>
		<comments>http://portalsql.com/index.php/2010/05/charla-en-second-nug-el-1-de-junio/#comments</comments>
		<pubDate>Wed, 19 May 2010 09:30:01 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=268</guid>
		<description><![CDATA[El proximo 1 de Junio estarÃ© dando una charla en directo sobre Analisys Services. La charla es On-Line en Second-Nug, uno de los grupos de usuarios on-line mÃ¡s activos y con mayor presencia. Mis compaÃ±eros de Solid Quality, Eladio y Salva ya han estado hablando de TSQL y SSIS y ahora me toca aÂ  mi [...]]]></description>
			<content:encoded><![CDATA[<p>El proximo 1 de Junio estarÃ© dando una charla en directo sobre Analisys Services. La charla es On-Line en Second-Nug, uno de los grupos de usuarios on-line mÃ¡s activos y con mayor presencia. Mis compaÃ±eros de Solid Quality, Eladio y Salva ya han estado hablando de TSQL y SSIS y ahora me toca aÂ  mi hablar de Analisys Services y de las diferencias entre el modelo tradicional y otro tipo de aproximaciones a proyectos multidimensionales.</p>
<p>Espero que os resulte de interes</p>
<p><a href="http://www.secondnug.com/EventosDesarrollo/tabid/57/Default.aspx">http://www.secondnug.com/EventosDesarrollo/tabid/57/Default.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/05/charla-en-second-nug-el-1-de-junio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pruebas unitarias en proyectos multidimensionales</title>
		<link>http://portalsql.com/index.php/2010/04/pruebas-unitarias-en-proyectos-multidimensionales/</link>
		<comments>http://portalsql.com/index.php/2010/04/pruebas-unitarias-en-proyectos-multidimensionales/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 10:27:20 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=251</guid>
		<description><![CDATA[Mi compaÃ±ero en SolidQ Italia, Davide Mauri ha desarrollado un proyecto que me parece muy positivo.Â  Este es el mensaje que ha puesto Davide.
Y aquÃ­ puedes llegar al proyecto
A project that allow the execution of Unit Testing against a database (Relational or Multidimensional).
It uses NUnit (http://www.nunit.org/) )as unit-testing framework and does not require DBA or [...]]]></description>
			<content:encoded><![CDATA[<p>Mi compaÃ±ero en SolidQ Italia, Davide Mauri ha desarrollado un proyecto que me parece muy positivo.Â  Este es el mensaje que ha puesto Davide.</p>
<p><a href="http://queryunit.codeplex.com/">Y aquÃ­ puedes llegar al proyecto</a></p>
<p>A project that allow the execution of Unit Testing against a database (Relational or Multidimensional).<br />
It uses NUnit (<a href="http://www.nunit.org/">http://www.nunit.org/</a>) )as unit-testing framework and does not require DBA or BI Developer to know anything about .NET: just write your SQL or MDX queries and test them. QueryUnit will take care of automatically create the assembly that will test your query for you, using NVelocity (<a href="http://nvelocity.codeplex.com/">http://nvelocity.codeplex.com/</a>) to generate .NET classes and the CodeDom engine to compile them at runtime.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/04/QueryUnitPOC0006.png"><img class="aligncenter size-large wp-image-252" title="QueryUnitPOC0006" src="http://portalsql.com/wp-content/uploads/2010/04/QueryUnitPOC0006-1024x659.png" alt="" width="1024" height="659" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/04/pruebas-unitarias-en-proyectos-multidimensionales/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GuÃ­a de Rendimiento para Analisys Services 2008</title>
		<link>http://portalsql.com/index.php/2010/03/guia-de-rendimiento-para-analisys-services-2008/</link>
		<comments>http://portalsql.com/index.php/2010/03/guia-de-rendimiento-para-analisys-services-2008/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 08:31:54 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>

		<guid isPermaLink="false">http://portalsql.com/index.php/2010/03/guia-de-rendimiento-para-analisys-services-2008/</guid>
		<description><![CDATA[La descarga que tenÃ©is aquÃ­ es una guÃ­a prÃ¡ctica de rendimiento en Analisys Services 2008.
Espero que la disfruteis
]]></description>
			<content:encoded><![CDATA[<p>La descarga que tenÃ©is aquÃ­ es una guÃ­a <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3be0488d-e7aa-4078-a050-ae39912d2e43&#038;displaylang=en">prÃ¡ctica de rendimiento </a>en Analisys Services 2008.</p>
<p>Espero que la disfruteis</p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/03/guia-de-rendimiento-para-analisys-services-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perspectivas en Analisys Services, Â¿lo que las vistas al Engine?</title>
		<link>http://portalsql.com/index.php/2010/02/perspectivas-en-analisys-services-%c2%bflo-que-las-vistas-al-engine/</link>
		<comments>http://portalsql.com/index.php/2010/02/perspectivas-en-analisys-services-%c2%bflo-que-las-vistas-al-engine/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 11:53:15 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=197</guid>
		<description><![CDATA[IntroducciÃ³n
Las perspectivas podrÃ­an ser lo mÃ¡s parecido a lo que las vistasÂ  son a relacional, Sin embargo no es ni siquiera una buena comparaciÃ³n. Como casi siempre que se intentan buscar analogÃ­as Relacional vs Multidimensional las comparaciones son imprecisas incompletas y no solo no ayudan a entender el segundo sino que quizÃ¡ limitan una visiÃ³n [...]]]></description>
			<content:encoded><![CDATA[<h1>IntroducciÃ³n</h1>
<p>Las perspectivas podrÃ­an ser lo mÃ¡s parecido a lo que las vistasÂ  son a relacional, Sin embargo no es ni siquiera una buena comparaciÃ³n. Como casi siempre que se intentan buscar analogÃ­as Relacional vs Multidimensional las comparaciones son imprecisas incompletas y no solo no ayudan a entender el segundo sino que quizÃ¡ limitan una visiÃ³n que ha de ser mÃ¡s amplia. De ahÃ­ el tÃ­tulo de este post, no, no son lo que las vistas al Engine, porque son simplemente otra cosa, aunque de alguna forma no es descabellado asemejarlas.</p>
<p>Â¿Entonces que son las perspectivas? Las perspectivas son una forma de mostrar un subconjunto de atributos, dimensiones, medidas como si fuesen un nuevo cubo, pero ojo, no son un mecanismo de seguridad, es decir, limitan lo que se vÃ© basicamente para que usuarios menos abezados no se lÃ­en, pero no implica en ningun caso que se limite el acceso al cubo del que son base.</p>
<p>La creaciÃ³n de perspectivas es realmente sencilla, muy muy sencilla. En nuestro proyecto de Analisys services iremos a la pestaÃ±a perspectivas como puede verse en la siguiente imagen.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/02/perspectivas.jpg"><img class="aligncenter size-full wp-image-198" title="perspectivas" src="http://portalsql.com/wp-content/uploads/2010/02/perspectivas.jpg" alt="" width="1032" height="97" /></a></p>
<p>Elegimos esa pestaÃ±a y creamos una nueva perspectiva. AhÃ­ nos aparece una lista con todos los objetos de nuestro cubo.Â  Simplementemarcamos con checks los objetosÂ  que quermos que se vean o dejamos desmarcados los que no queremos que aparezcan, insisto que esto no es un mecanismo de seguridad.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/02/nuevaperspectiva.jpg"><img class="aligncenter size-medium wp-image-199" title="nuevaperspectiva" src="http://portalsql.com/wp-content/uploads/2010/02/nuevaperspectiva-300x104.jpg" alt="" width="300" height="104" /></a></p>
<p>Una vez creadas y desplegado el cubo los usuarios perciben las perpestivas como si fuesen un nuevo cubo. Cuando nos conectamos desde un cliente observaremos algo asÃ­</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/02/conectar.jpg"><img class="aligncenter size-full wp-image-200" title="conectar" src="http://portalsql.com/wp-content/uploads/2010/02/conectar.jpg" alt="" width="519" height="381" /></a></p>
<p>Como podeis ver se ven como si fuesen un cubo mas, pero aparece el literal perspectiva.Â  En cualquier caso se persibe igual que si fuese un cubo.</p>
<p>En otros post veremos como limitar acceso por seguridad.</p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/perspectivas-en-analisys-services-%c2%bflo-que-las-vistas-al-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ciclo de WebCast sobre SQL Server 2008 R2 (AKA Kilimanjaro)</title>
		<link>http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/</link>
		<comments>http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 16:09:34 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/</guid>
		<description><![CDATA[Creo que  un ciclo de conferencias tan interesante y tan elaborado merecen un link mas largo, explicando que encontrar en cada uno de ellos etc.. lo haremos espero con tiempo. De momento, aquÃ­ teneis el link
Ciclo de WebCast sobre SQL Server 2008 R2 en castellano
]]></description>
			<content:encoded><![CDATA[<p>Creo que  un ciclo de conferencias tan interesante y tan elaborado merecen un link mas largo, explicando que encontrar en cada uno de ellos etc.. lo haremos espero con tiempo. De momento, aquÃ­ teneis el link<br />
<a href="http://www.microsoft.com/spain/technet/jornadas/webcasts/webcasts_ant.aspx?id=9">Ciclo de WebCast sobre SQL Server 2008 R2 en castellano</a></p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/02/ciclo-de-webcast-sobre-sql-server-2008-r2-aka-kilimanjaro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creando una dimensiÃ³n tiempo en Analisys Services 2/2</title>
		<link>http://portalsql.com/index.php/2010/01/creando-una-dimension-tiempo-en-analisys-services-22/</link>
		<comments>http://portalsql.com/index.php/2010/01/creando-una-dimension-tiempo-en-analisys-services-22/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 12:13:44 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=132</guid>
		<description><![CDATA[En el artÃ­culo anteriorÂ de la serie vimos omo Â crear la primera parte de la dimensiÃ³n tiempo. En este momento tenemos ya constrido nuestro DataSource View y vamos a ver como se construye nuestra dimensiÃ³n tiempo desde el punto de vista de Analisys Services. Para ello empezamos con nuestro BIDS (Bussiness Intelligence Development Studio) abierto con [...]]]></description>
			<content:encoded><![CDATA[<p>En el artÃ­culo <a href="http://portalsql.com/index.php/2010/01/creando-una-dimension-tiempo-en-analisys-services-data-source-y-data-source-view/">anterior</a>Â de la serie vimos omo Â crear la primera parte de la dimensiÃ³n tiempo. En este momento tenemos ya constrido nuestro DataSource View y vamos a ver como se construye nuestra dimensiÃ³n tiempo desde el punto de vista de Analisys Services. Para ello empezamos con nuestro BIDS (Bussiness Intelligence Development Studio) abierto con el proyecto tal y como lo tenÃ­amos al final del artÃ­culo anterior.</p>
<p>Cabe destacar que estamos haciendo este proyecto con SQL Server 2008, cambia algo con respecto de 2005, asÃ­ que no es de extraÃ±ar que los menÃºs no sean exactamente los mismos, aunque si que lo es el concepto y la forma de hacerlo.</p>
<address>Para comenzar pulsaremos sobre el apartado dimensiones con el botÃ³n derecho, eligiendo la opciÃ³n Nueva dimensiÃ³n, en ese instante nos aparecerÃ¡ el asistente para la creaciÃ³n de dimensiones, y tras saltarnos si procede la pÃ¡gina de bienvenida, elegiremos la opciÃ³n &#8220;Use an existing table&#8221;, Usar una tabla existente. (Aunque hay opciones para crear una tabla de tiempo en el origen de datos o en el servidor, y que estas opciones puedan resultar muy atractivas a simple vista, nosotros vamos a usar la forma mÃ¡al deÂ  crear todo lo relacionado con la dimensiÃ³n tiempo, porque nuestro objetivo es entenderlo. AdemÃ¡s, al menos yo, siempre uso el mecanÃ­smo que estoy describiendo, porque no me aporta un trabajo extra y si me da un control muy importante sobre como funciona la dimensiÃ³n tiempo.<br />
</address>
<p>Â<br />
<a href="http://portalsql.com/wp-content/uploads/2010/01/metodocrea.gif"><img class="alignnone size-full wp-image-138" title="metodocrea" src="http://portalsql.com/wp-content/uploads/2010/01/metodocrea.gif" alt="" width="451" height="411" /></a></p>
<p>En el siguiente paso del asistente tenemos que seleccionar en que objeto del Data Source View nos basamos para crear la dimensiÃ³n, adicionalmente hay que decir cual es la clave primaria de ese objeto (en nuestro caso es fÃ¡cil, puesto que la infiere del model) y que columna contiene el descriptor de esa clave (name column). Elegiremos el campo Fecha como name column mientras mantenemos FechaKey como la clave primaria de esta dimensiÃ³n.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/01/paso-2.gif"><img class="alignnone size-full wp-image-139" title="paso 2" src="http://portalsql.com/wp-content/uploads/2010/01/paso-2.gif" alt="" width="438" height="400" /></a></p>
<p>En el siguiente paso del asistente es cuando realmente tenemos que definir que estamos hablando de una dimensiÃ³n de tipo tiempo. Esto cambia con respecto a 2005, en el que habÃ­a un wizard que nos preguntaba directamente cual era el campo que contenÃ­a el dato para mes, semana, dia, trimestre, etc.. En el asistente aparece un campo para definir el tipo de atributo, y es ahÃ­ donde concretamos cual es la naturaleza de cada uno de los campos,Â  por ejemplo, en la siguiente figura podemos ver como hemos especificado para Fecha Key que se trata de un atributo de tipo date, es decir, es la fecha propiamente dicha. TambiÃ©n aprovecharemos este paso para ajustar los nombres que no acaben de gustarnos, (por ejemplo quitarÃ© Fecha Key y lo traducirÃ© por fecha.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/01/Atributofecha.gif"><img class="alignnone size-full wp-image-140" title="Atributofecha" src="http://portalsql.com/wp-content/uploads/2010/01/Atributofecha.gif" alt="" width="685" height="246" /></a></p>
<p>Una vez que hemos elegido todos los atributos podemos continuar con el asistente, en la imagen que teneis a continuaciÃ³n podeis ver como he hecho los siguiente cambios:</p>
<ul>
<li>He renombrado Fecha Key por fecha yÂ Mes Key por mes</li>
<li>HeÂ especificado que el tipo de atributo es Date para la fecha</li>
<li>Year para el aÃ±o</li>
<li>Month para el mes</li>
<li>Week para la semana</li>
<li>Day Of year para el dia del aÃ±o</li>
<li>Day of Month para el dia del mes</li>
<li>Day of Week para el dia de la semana</li>
</ul>
<p>Despues de esto simplemente se termina el asistente en el que nos dice que vaÂ  crear la dimensiÃ³n tiempo como puede verse a continuaciÃ³n.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/01/dimtiemporeciencreada.gif"><img class="alignnone size-full wp-image-141" title="dimtiemporeciencreada" src="http://portalsql.com/wp-content/uploads/2010/01/dimtiemporeciencreada.gif" alt="" width="640" height="224" /></a></p>
<p>Esta dimensiÃ³n tiempo, ya funcionarÃ­a, pero no es aÃºn ni demasiado navegable (no tiene jerarquÃ­as) ni mucho menos optima, porque las relaciones entre atributos tampoco estÃ¡n especificadas. Esto si es un cambio importante en SQL Server 2008, la relaciÃ³n entre atributos cuenta ahora con una pestaÃ±a especÃ­fica, que lo hace mÃ¡s visual. El estado inicial de estas relaciones entre atributos es el que puede verseÂ en la figura a continuaciÃ³n.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/01/Relacionesentreatributos.gif"><img class="alignnone size-full wp-image-142" title="Relacionesentreatributos" src="http://portalsql.com/wp-content/uploads/2010/01/Relacionesentreatributos.gif" alt="" width="674" height="447" /></a></p>
<p>Sin embargo, debemos especificar las relaciones reales de dependencia, ya que esas relaciones ayudarÃ¡n mucho al rendimiento, debido a que con estas relaciones establecidas, SQL Server Analisys Services puede inferir, que el resultado de un mes, es el resultado de sumar los dias (para operaciones aditivas). mientras que el resultado del aÃ±o es el resultado de sumar los meses. Si estas relaciones no son especificadas, esas conclusiones no pueden establecerse y por tanto se hace un uso suboptimo de los datos. En el grafico siguiente puede verse como establecemos estas relaciones de dependencia de forma adecuada.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/01/Relacionesentreatributosespecificada1.gif"><img class="alignnone size-medium wp-image-144" title="Relacionesentreatributosespecificada" src="http://portalsql.com/wp-content/uploads/2010/01/Relacionesentreatributosespecificada1-300x286.gif" alt="" width="300" height="286" /></a></p>
<p>Una parte importante, en la que muchas veces no nos fijamos es en el color de las flechitas del apartado Attibute Relasionships, el color mÃ¡s gris indica que la relaciÃ³n que existe entre esos atributos es una relaciÃ³n flexible, es decir que puede cambiar con el tiempo, por ejemplo en el caso del jefe del que depende una persona, es claro que puede cambiar con el tiempo, aunque sea una relaciÃ³n clara entre los atributos, sin embargo, en nuestro caso,Â  la relaciÃ³n Fecha-&gt;Mes y la RelaciÃ³n Mes-AÃ±o, estÃ¡n especificada como relaciones rÃ­gidas que quiere decir que el mes 2009-01 siempre serÃ¡ del aÃ±o 2009 y eso no va a cambiar (cosa que es bastante obvia).</p>
<p>Una vez que tenemos establecidas las relaciones solo nos falta aÃ±adirle a la dimensiÃ³n las jerarquias que nos sirvan para especificar el criterio por el que queremos que se navegue nuestra dimensiÃ³n. Para ello simplemente arrastrarÃ© los atributos hasta el apartado de jerarquÃ­as. Adicionalmente voy a ocultar el atributo aÃ±o, para no confundir a los usuarios, si lo dejo podrÃ¡n llegar al aÃ±o desde la jerarquia y desde el atributo, y en mi experiencia eso lia bastante a los usuarios. En la imagen siguiente podeis ver como quedan mis jerarquÃ­as.<br />
<a href="http://portalsql.com/wp-content/uploads/2010/01/jerarquias-creadas.gif"><img src="http://portalsql.com/wp-content/uploads/2010/01/jerarquias-creadas-300x97.gif" alt="" title="jerarquias creadas" width="300" height="97" class="alignnone size-medium wp-image-145" /></a></p>
<p>Podeis observar que no tengo ningÃºn warning ni ninguna flechita azul, esto es simplemente porque he seguido todos los patrones de buen diseÃ±o que SQL Server 2008 Analisys Services tiene especificados para una dimensiÃ³n como esta. Ahora simplemente vamos a ver un ejemplo de como navegarla, lo teneis en el siguiente grÃ¡fico.</p>
<p><a href="http://portalsql.com/wp-content/uploads/2010/01/navegandolajerarquia.gif"><img src="http://portalsql.com/wp-content/uploads/2010/01/navegandolajerarquia.gif" alt="" title="navegandolajerarquia" width="524" height="461" class="alignnone size-full wp-image-146" /></a></p>
<p>Por Ãºltimo, aunque esta serie de dos artÃ­culos acaba, en posteriores post, intentarÃ© hablar de como localizar esta dimensiÃ³n, especificando que para usuarios en inglÃ©s el nombre le aparezca en inglÃ©s, mientras que para usuarios en castellano los nombres aparezcan en castellano, esto es  January para los Ingleses, Enero para los hispanos.<br />
Esto serÃ¡ en otro post.<br />
Saludos Cordiales</p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/01/creando-una-dimension-tiempo-en-analisys-services-22/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mi charla sobre Analisys Services 2008 en el Codecamp de tarragona</title>
		<link>http://portalsql.com/index.php/2010/01/mi-charla-sobre-analisys-services-2008-en-el-codecamp-de-tarragona/</link>
		<comments>http://portalsql.com/index.php/2010/01/mi-charla-sobre-analisys-services-2008-en-el-codecamp-de-tarragona/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 13:00:52 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[Analisys Services]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=122</guid>
		<description><![CDATA[Me parece increible que yo diese esta charla y no saber que estaba grabada y publicada, gracias a mi amgigo Salvador Ramos y a un portal de bussiness intelligence me he enterado que estaba publicado. Yo no se dar una charla serio, los que me conoceis ya sabeis como soy, para los  demÃ¡s pues [...]]]></description>
			<content:encoded><![CDATA[<p>Me parece increible que yo diese esta charla y no saber que estaba grabada y publicada, gracias a mi amgigo Salvador Ramos y a un portal de bussiness intelligence me he enterado que estaba publicado. Yo no se dar una charla serio, los que me conoceis ya sabeis como soy, para los  demÃ¡s pues bueno, ya podeis verme y oirme.</p>
<p><embed src="http://blip.tv/play/AYG8tjEC" type="application/x-shockwave-flash" width="480" height="390" allowscriptaccess="always" allowfullscreen="true"></embed> </p>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/01/mi-charla-sobre-analisys-services-2008-en-el-codecamp-de-tarragona/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
