<?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>ARCS TM1 Blog</title>
	<atom:link href="http://www.arcssolutions.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.arcssolutions.com/blog</link>
	<description>TM1 Insights from ARCS Solutions</description>
	<lastBuildDate>Mon, 09 Aug 2010 22:20:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Report Bursting</title>
		<link>http://www.arcssolutions.com/blog/?p=101</link>
		<comments>http://www.arcssolutions.com/blog/?p=101#comments</comments>
		<pubDate>Mon, 28 Jun 2010 21:21:54 +0000</pubDate>
		<dc:creator>rstevenson</dc:creator>
				<category><![CDATA[MDX Examples]]></category>
		<category><![CDATA[TM1 Development]]></category>

		<guid isPermaLink="false">http://www.arcssolutions.com/blog/?p=101</guid>
		<description><![CDATA[We are going to use the mdx “Subset” functionality which generates a subset base on the knowing the starting element and the amount of members from a group set. { Subset ( { group set}, first element, amount of elements ) } Before going deeper in this subset it will be necessary to address another [...]]]></description>
			<content:encoded><![CDATA[<p>We are going to use the mdx “Subset” functionality which generates a subset base on the knowing the starting element and the amount of members from a group set.</p>
<p style="text-align: center;"><strong>{ Subset ( { group set}, first element, amount of elements ) }</strong></p>
<p>Before going deeper in this subset it will be necessary to address another specification, if the dynamic subset is going to be user specific we will need to get values from the “}ElementAttributes_}Clients” cube. For that reason we will need to add three elements in this cube: “Selected Element, Pagination Step, Amount Elements”.</p>
<p><strong>{ group set}</strong> :</p>
<p><span style="color: #008000;">{TM1FILTERBYPATTERN( {TM1SUBSETALL( [Journal] )} ,<br />
LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;(<br />
 [}Clients].["+USERNAME+"]<br />
, [}ElementAttributes_}Clients].[Selected Element])&#8221;))}</span></p>
<p>This group set gets the string value from the “}ElementAttributes_}Clients” cube, and filters by level, which means that in this example the group set will have the 0 level element members from the “Selected Element” .</p>
<p><strong>First Element:<br />
</strong><span style="color: #008000;">( LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Pagination Step])&#8221;) *<br />
LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Amount Elements])&#8221;) ) -<br />
LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Amount Elements])&#8221;)</span></p>
<p>The “First element” in the subset will be created mathematically getting values from the “}ElementAttributes_}Clients” cube. In this case:</p>
<p><span style="color: #008000;">( LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Pagination Step])&#8221;) *</span><br />
1 *<br />
<span style="color: #008000;">LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Amount Elements])&#8221;) ) -</span><br />
3 -<br />
<span style="color: #008000;">LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Amount Elements])&#8221;)<br />
</span>3<br />
(1*3) – 3 = 0</p>
<p>Which means that the first element in this case will be 0.<br />
The idea is that the pagination step will drive the subset through this concept:<br />
( Pagination Step * Amount Elements ) – Amount Elements  =    First Element<br />
( 1 * 3  )  - 3   = 0<br />
( 2 * 3  )  &#8211;  3   =  3<br />
( 3  * 3  )  - 3   =  6<br />
( 4  * 3  )  - 3   =  9<br />
…</p>
<p><strong>Amount of elements:</strong></p>
<p>The “Amount of elements” in the subset will be created mathematically getting values from the “}ElementAttributes_Clients” cube. In this case:</p>
<p><span style="color: #008000;">LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Amount Elements])&#8221;)</span></p>
<p>Which means that the amount of Elements for the subset will be 3 in this case.</p>
<p><strong>Full mdx Statement for mdxFilterSubset:</strong><br />
<span style="color: #008000;">{ SUBSET (<br />
/* SELECTED ELEMENT */<br />
{ TM1FILTERBYLEVEL ( {TM1DRILLDOWNMEMBER (<br />
{TM1FILTERBYPATTERN( {TM1SUBSETALL( [Journal] )} ,<br />
LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;(<br />
 [}Clients].["+USERNAME+"] , [}ElementAttributes_}Clients].[Selected Element])&#8221;))}, ALL , RECURSIVE ) } , 0 ) },<br />
/* Paginatation step */<br />
/* this parameter is just to know the starting point */<br />
( LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Pagination Step])&#8221;) *<br />
LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Amount Elements])&#8221;) ) -<br />
LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Amount Elements])&#8221;),<br />
/* Amount of Elements */<br />
LOOKUPCUBE (&#8220;}ElementAttributes_}Clients&#8221;,&#8221;([}Clients].["+USERNAME+"] ,[}ElementAttributes_}Clients].[Amount Elements])&#8221;)<br />
)}</span></p>
<p><span style="color: #008000;"> </span></p>
<p><span style="color: #000000;"><strong>WebSheet</strong></span></p>
<p><span style="color: #000000;">Finally we will add some cells in the websheet to be able to input the values in the “}ElementAttributes_}Clients” cube. For example to input values for the “Selected Element” we will write:<br />
<span style="color: #008000;">=DBR(rngServer&amp;&#8221;}ElementAttributes_}Clients&#8221;,rngUser,&#8221;Selected Element&#8221;)</span><br />
Where rngServer is the cell with the server name and rngUSer is the cell with the user name.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arcssolutions.com/blog/?feed=rss2&#038;p=101</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TM1 Max Connections</title>
		<link>http://www.arcssolutions.com/blog/?p=98</link>
		<comments>http://www.arcssolutions.com/blog/?p=98#comments</comments>
		<pubDate>Mon, 14 Jun 2010 18:36:32 +0000</pubDate>
		<dc:creator>rstevenson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.arcssolutions.com/blog/?p=98</guid>
		<description><![CDATA[When working with Cognos 8 and TM1 if you have several database connections within Framework manager C8 asks for credentials.  When entering credentials you are unable to login to TM1.  The reason for this is the Max Connections are set below the number of TM1 database connections within Cognos.  To resolve this issue set the [...]]]></description>
			<content:encoded><![CDATA[<p>When working with Cognos 8 and TM1 if you have several database connections within Framework manager C8 asks for credentials.  When entering credentials you are unable to login to TM1.  The reason for this is the Max Connections are set below the number of TM1 database connections within Cognos.  To resolve this issue set the administrator or client setup in Framework Manager for you TM1 DB connections to 100 or more.  This number should be greater than the number of cubes in your C8 model.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arcssolutions.com/blog/?feed=rss2&#038;p=98</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MDX based subset in TM1</title>
		<link>http://www.arcssolutions.com/blog/?p=13</link>
		<comments>http://www.arcssolutions.com/blog/?p=13#comments</comments>
		<pubDate>Fri, 14 May 2010 18:11:07 +0000</pubDate>
		<dc:creator>rstevenson</dc:creator>
				<category><![CDATA[Cognos 8]]></category>
		<category><![CDATA[MDX Examples]]></category>
		<category><![CDATA[TM1 Development]]></category>

		<guid isPermaLink="false">http://www.arcssolutions.com/blog/?p=13</guid>
		<description><![CDATA[Considering the Month dimension as we see below: + Year + 1 Quarter        Jan        Feb        Mar + 2 Qarter        Apr        May        Jun + 3 Quarter        Jul        Aug        Sep + 4 Quarter        Oct        Nov        Dec ANCESTORS In this case we  see the [...]]]></description>
			<content:encoded><![CDATA[<p>Considering the Month dimension as we see below:</p>
<p>+ Year<br />
+ 1 Quarter<br />
       Jan<br />
       Feb<br />
       Mar<br />
+ 2 Qarter<br />
       Apr<br />
       May<br />
       Jun<br />
+ 3 Quarter<br />
       Jul<br />
       Aug<br />
       Sep<br />
+ 4 Quarter<br />
       Oct<br />
       Nov<br />
       Dec</p>
<p><strong>ANCESTORS</strong></p>
<p>In this case we  see the immediate ancestors of Feb.</p>
<p>{ ANCESTORS ([dimension].[member], ancestor level ) }</p>
<p><strong><em>{ ANCESTORS ( [month].[Feb], 1 )) }</em></strong></p>
<p>Subset member: </p>
<p>1 Quarter </p>
<p><strong><em>{ ANCESTORS ( [month].[Feb], 2 )) }</em></strong></p>
<p>Subset member: </p>
<p>Year</p>
<p><strong>BOTTOMCOUNT</strong></p>
<p>This example filters the Bottom 5 Order element values. Which Means:</p>
<p>Feb =&gt; 0, Dec =&gt; 0, Apr =&gt; 0,  Aug =&gt; 0, Jun =&gt; 0</p>
<p><strong><em>{ Order( {BottomCount( {TM1SubsetAll( [month] )}, 5.000000, [Filter].([Filter].[Order]))}, [Filter].([Filter].[Order]), BASC) }</em></strong></p>
<p>Subset members: </p>
<p>Feb, Dec,  Apr,  Aug , Jun </p>
<p><strong>CHILDREN</strong></p>
<p>In this example we see the immediate children of the selected member.</p>
<p>{dimension.[member].CHILDREN}</p>
<p><em><strong>{ month[1 Quarter].CHILDREN }</strong></em></p>
<p>Subset members:</p>
<p>Jan, Feb, Mar</p>
<p><strong>COMMENTS</strong></p>
<p>You can use <span style="color: #003366;">//</span> or <span style="color: #003366;">&#8211; </span>at the end of a mdx statement to comment its own mdx statements.<br />
You also can use <span style="color: #003366;">/*</span><span style="color: #003366;"> Comment */</span> prior or during a line. In this example the comments are in blue fond.</p>
<p><strong><em><span style="color: #003366;">/* This filter elements whose name starts with alphabet values falling in a range. */</span><br />
{Filter ( {TM1SUBSETALL( [month] )}, <span style="color: #003366;">/* select all elements to filter */</span><br />
{TM1SUBSETALL( [month] )}.CURRENTMEMBER.NAME &gt; &#8220;A&#8221; AND<br />
{TM1SUBSETALL( [month] )}.CURRENTMEMBER.NAME &lt; &#8220;J&#8221;<br />
)} <span style="color: #003366;">&#8211; End of Filter</span><br />
<span style="color: #003366;">// another comment example</span></em></strong></p>
<p><strong><em><span style="color: #003366;"> </span></em></strong><strong>&lt;set&gt;.CURRENTMEMBER </strong></p>
<p>According to the Analysis Services Books Online, &#8220;returns the current member along a dimension during iteration.&#8221; In this example we can see how to filter elements whose name starts with alphabet values falling in a range.</p>
<p><strong><em>{Filter ( {TM1SUBSETALL( [month] )},<br />
{TM1SUBSETALL( [month] )}.CURRENTMEMBER.NAME &gt; &#8220;A&#8221; AND<br />
{TM1SUBSETALL( [month] )}.CURRENTMEMBER.NAME &lt; &#8220;J&#8221;<br />
)}</em></strong></p>
<p>Subset members: </p>
<p>Feb, Apr, Aug, Dec</p>
<p><strong>DESCENDANTS</strong></p>
<p>Displays the selected member and children.</p>
<p>{DESCENDANTS (dimension.[member])}</p>
<p><strong><em>{DESCENDANTS ( month.[1 Quarter])}</em></strong></p>
<p>Subset members:</p>
<p>1 Quarter, Jan, Feb, Mar</p>
<p><strong>DRILLDOWNMEMBER</strong></p>
<p>Displays the immediate children level of the selected member.</p>
<p>{DRILLDOWNLEVEL ({[dimension].[member]})}</p>
<p><em><strong>{DRILLDOWNLEVEL ({[month].[Year]})}</strong></em></p>
<p>Subset members:</p>
<p>Year, 1 Quarter, 2 Quarter, 3 Quarter, 4 Quarter</p>
<p><strong>EXCEPT</strong></p>
<p>Displays all the elements except the selected member</p>
<p>{EXCEPT ({From}, {[dimension].[member to except]})}</p>
<p><strong><em>{EXCEPT ( { LASTPERIODS  (6, [month].[Jun]) } , {[month].[Feb]} ) }</em></strong></p>
<p>Subset members:</p>
<p>Jan, Mar, Apr, Apr, May, Jun</p>
<p><strong>FILTER</strong></p>
<p>{ Filter ( [members to filter], [cube].([dimension].[member] , [dimension].[member] ) = Condition )}</p>
<p><strong><em>{FILTER ( {TM1SUBSETALL( [month] )}, [Filter].([Filter].[Filter])=1)}</em></strong></p>
<p>Subset members:</p>
<p>Jan, Mar, Apr, Apr, May, Jun, Jul, Sep (the member with the value 1 in the Filter cube)</p>
<p>Another example we can see how to filter elements whose name starts with alphabet values falling in a range.</p>
<p><strong><em>{Filter ( {TM1SUBSETALL( [month] )}, <br />
{TM1SUBSETALL( [month] )}.CURRENTMEMBER.NAME &gt; &#8220;A&#8221; AND<br />
{TM1SUBSETALL( [month] )}.CURRENTMEMBER.NAME &lt; &#8220;J&#8221;<br />
)}</em></strong></p>
<p>Subset members:</p>
<p>Feb, Apr, Aug, Dec</p>
<p><strong>FIRSTCHILD &amp; LASTCHILD</strong></p>
<p>FIRSTCHILD: Returns the First Child of the selected Member.</p>
<p>{dimension.[member].FIRSTCHILD}</p>
<p><strong><em>{month.[1 Quarter].FIRSTCHILD }</em></strong></p>
<p>Subset members:</p>
<p>Jan</p>
<p>LASTCHILD: Returns the Last Child of the selected Member.</p>
<p>{dimension.[member].LASTCHILD}</p>
<p><strong><em>{month.[1 Quarter].LASTCHILD }</em></strong></p>
<p>Subset members:</p>
<p>Mar</p>
<p><strong>FIRSTSIBLING &amp; LASTSIBLING</strong></p>
<p>FIRSTSIBLING: Returns the First Sibling in the same group set that shares a parent.</p>
<p>{ [dimension].[member].FIRSTSIBLING }</p>
<p><strong><em>{ [month].[Feb].FIRSTSIBLING }</em></strong></p>
<p>Subset members:</p>
<p>Jan</p>
<p><strong><em>{ [month].[Dec].FIRSTSIBLING }</em></strong></p>
<p>Subset members:</p>
<p>Oct</p>
<p>LASTSIBLING: Returns the Last Sibling in the same group set that shares a parent.</p>
<p>{ [dimension].[member].LASTSIBLING }</p>
<p><strong><em>{ [month].[Feb].LASTSIBLING }</em></strong></p>
<p>Subset members:</p>
<p>Mar</p>
<p><strong>HEAD</strong></p>
<p>Returns the first element inside the group set.</p>
<p>{ HEAD (Group Set ) }</p>
<p><strong><em>{ HEAD ( {month.[1 Quarter].CHILDREN } )} </em></strong></p>
<p>Subset members:</p>
<p>Jan</p>
<p><strong>TAIL</strong></p>
<p>Tail returns the final member of the group set.</p>
<p>{TAIL ( Group set ) }</p>
<p><strong><em>{ TAIL {( { month.[1 Quarter].CHILDREN } )} </em></strong></p>
<p>Subset member:</p>
<p>Mar</p>
<p><strong>HIERARCHIZE</strong></p>
<p>This function reorganizes the selected set under a hierarchy.</p>
<p><em><strong>{HIERARCHIZE ({TM1FILTERBYPATTERN ( {TM1SUBSETALL( [month] )}, &#8220;*e*&#8221; ) }) }<br />
</strong></em></p>
<p>Subset members:</p>
<p>Year, 1 Quarter, Feb, 2 Quarter, 3 Quarter, Sep, 4 Quarter, Dec</p>
<p><strong>INTERSECT </strong></p>
<p>Intersect returns only the elements that appear in both sets.</p>
<p>{INTERSECT ({Group Set 1}, {Groups Set 2})}</p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">LASTPERIODS ( 6, [month].[Jun])}<span style="mso-tab-count: 1;">         </span>{month.[1 Quarter].Children}</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;">Jan<span style="mso-tab-count: 5;">                                                       </span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Feb</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Mar<span style="mso-tab-count: 5;">                                                             </span>Mar</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Apr</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">May</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">Jun</span></p>
<p><strong><em>{ INTERSECT ( { LASTPERIODS (6, [month].[Jun]) }, { TAIL ( {month.[1 Quarter].CHILDREN } )} )}</em></strong></p>
<p>Subset member:</p>
<p>Mar</p>
<p><strong>LAG &amp; LEAD</strong></p>
<p>Lead (n) is the same as Lag (-n) they only return a single member.</p>
<p>{[dimension].[member].LAG(n) }</p>
<p><strong><em>{ [month].[Mar].LAG(2) }</em></strong><br />
 <br />
Subset member:</p>
<p>Jan</p>
<p>{ [dimension].[member].LEAD(n) }</p>
<p><strong><em> { [month].[Feb].LEAD(2) }</em></strong></p>
<p>Subset Member:</p>
<p>Apr</p>
<p><strong>LASTPERIODS</strong></p>
<p>turns the n elements preceding and including the selected member.</p>
<p>{ LASTPERIODS (n , [dimension].[member] ) }</p>
<p><strong><em>{ LASTPERIODS(6, [month].[Jun]) }</em></strong></p>
<p>Subset members:</p>
<p>Jan, Feb, Mar, Apr, May, Jun</p>
<p><strong>LOOKUPCUBE</strong></p>
<p>This example shows how to Look Up the zSetup cube to get the desire value to Filter By Patter,</p>
<p><em><strong>{ TM1FILTERBYPATTERN ( {TM1SUBSETALL( [month] )},<br />
LOOKUPCUBE (&#8220;zSetup&#8221;, &#8220;([SetupMeasures].[CurrentMonth], [Setup].[String])&#8221;))}<br />
</strong></em></p>
<p>Subset member:</p>
<p>Value in zSetup =&gt; Aug.</p>
<p><strong>NEXTMEMBER &amp; PREVMEMBER</strong></p>
<p>Similar to LAG or LEAD but it only moves along 1 element</p>
<p>{[dimension].[member].NextMember }</p>
<p><strong><em>{ [month].[Feb].NextMember }</em></strong></p>
<p>Subset Member:</p>
<p>Mar</p>
<p>{ [dimension].[Member].PrevMember }</p>
<p><strong><em>{ [month].[Feb].PrevMember }</em></strong></p>
<p>Subset Member:</p>
<p>Jan</p>
<p><strong>ORDER</strong></p>
<p>Order the subset base in a reference to another cube, in this example we just order the months which values are higher than 0.</p>
<p>{ Order ( selected dimension members , cube dimension reference , BASC – BDESC }</p>
<p><em><strong>{ Order ( Filter ( {TM1SUBSETALL( [month] )} ,[Filter].([Filter].[Order]) &lt;&gt; 0 ), [Filter].([Filter].[Order]) , BASC) }</strong></em></p>
<p><strong>PARENT</strong></p>
<p>Parent Function displays the parent of the selected member.</p>
<p>{ dimension.[member].PARENT }</p>
<p><em><strong>{ month.[May].PARENT }</strong></em></p>
<p>Subset member:</p>
<p>2 Quarter</p>
<p><em><strong>SIBLINGS</strong></em></p>
<p>These functions displays the siblings or the elements at the same level of the selected member it is really similar to TM1FilterByLevel.</p>
<p>{ dimension.[member].Siblings } </p>
<p><em><strong>{month.[1 Quarter].SIBLINGS }</strong></em></p>
<p>{[dimension].[member].Level.Members}</p>
<p><em><strong>{[month].[1 Quarter].Level.Members}</strong></em></p>
<p>Subset member:</p>
<p>1 Quarter, 2 Quarter, 3 Quarter, 4 Quarter<br />
  <br />
<strong>SUBSET</strong></p>
<p>Subset functions generates a subset base in the first element and the an amount of members from a group set, in this example it will show all the elements starting on February and counting 10 elements more until November,</p>
<p>{ SUBSET ( {group}, first element, amount of elements ) }</p>
<p><strong><em>{SUBSET ( {TM1FILTERBYLEVEL (TM1SUBSETALL ( [month] ) , 0)}, 1, 5)}</em></strong></p>
<p>Subset members:</p>
<p>Feb, Mar, Apr, May, Jun</p>
<p><strong>TM1FILTERBYLEVEL</strong></p>
<p>This function shows all the elements by filter by level in a determinate group.</p>
<p>{ TM1FILTERBYLEVEL ({Group}, n,n…)}</p>
<p><strong><em>{ TM1FILTERBYLEVEL ({TM1DRILLDOWNMEMBER ({[month].[Year]}, ALL, RECURSIVE) }, 1, 2)}</em></strong></p>
<p>Subset members:</p>
<p>Year, 1 Quarter, 2 Quarter, 3 Quarter, 4 Quarter</p>
<p><strong>TM1FILTERBYPATTERN</strong></p>
<p>This function returns the pattern matching the set.</p>
<p><strong><em>TM1FILTERBYPATTERN ( {TM1SUBSETALL( [month] )}, &#8220;Ju*&#8221;)}</em></strong></p>
<p>Subset members:</p>
<p>Jun, Jul</p>
<p><strong>TM1DRILLDOWNMEMBER</strong></p>
<p>This function is equal to the function Descendants.</p>
<p><strong><em>{TM1DRILLDOWNMEMBER ({Descendants(month.[1 Quarter])}, ALL, RECURSIVE) }</em></strong></p>
<p>equal</p>
<p><strong><em>{ DESCENDANTS ( month.[1 Quarter])}</em></strong></p>
<p>Subset members:</p>
<p>1 Quarter, Jan, Feb, Mar.</p>
<p><strong>TM1SORT</strong></p>
<p>This function sorts &lt;set&gt; alphabetically</p>
<p><strong><em>TM1SORT ( { LASTPERIODS (6, [month].[Jun]) } , ASC ) }</em></strong></p>
<p>Subset members:</p>
<p>Apr, Feb, Jan, Jun, Mar, May.</p>
<p><strong>TM1SORTBYINDEX </strong></p>
<p>This function sorts &lt;set&gt; by the index value of the members.</p>
<p>TM1SORTBYINDEX (&lt;set&gt;, ASC|DESC)</p>
<p><strong><em>{ TM1SORTBYINDEX ( { LASTPERIODS (6, [month].[Jun]) } , DESC ) }</em></strong><br />
  <br />
<strong>TM1SUBSETALL</strong></p>
<p>This function returns all the elements of the dimension.</p>
<p>{TM1SUBSETALL ( [dimension] )}</p>
<p><strong><em>{TM1SUBSETALL ( [month] )} </em></strong></p>
<p><strong>TM1SUBSETTOSET </strong></p>
<p>Returns the member(s) of pre-existing month subset, there is also another way to write return a subset.</p>
<p>{TM1SUBSETTOSET ( [dimension] , “Subset name” ) or [dimension].[subset name]</p>
<p><strong><em>{ TM1SUBSETTOSET ([month] , &#8220;Union&#8221;) }  equal to [month].[Union]</em></strong></p>
<p>In this case Union subset members are “Jan” and “Mar”.</p>
<p><strong>TOPCOUNT</strong></p>
<p>This example filters the Top 5 Order element values. That means:</p>
<p>Sep =&gt; 5, Nov =&gt; 6, 4 Quarter =&gt; 6, 3 Quarter =&gt; 9, Year =&gt; 21</p>
<p><em><strong>{ ORDER( {TOPCOUNT( {TM1SUBSETALL( [month] )}, 5.000000, [Filter].([Filter].[Order]))}, [Filter].([Filter].[Order]), BASC) }</strong></em></p>
<p><strong>UNION</strong></p>
<p>Union joins two sets together returning the values from both sets.</p>
<p>{UNION ({Group 1}, {Group 2 } ) }</p>
<p><strong><em>{UNION ( {HEAD (TM1SUBSETALL( [month] ))} , { TAIL ( {month.[1 Quarter].Children} )} )}</em></strong></p>
<p>Subset members:</p>
<p>Jan, Mar</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arcssolutions.com/blog/?feed=rss2&#038;p=13</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install TM1Web on IIS 7</title>
		<link>http://www.arcssolutions.com/blog/?p=6</link>
		<comments>http://www.arcssolutions.com/blog/?p=6#comments</comments>
		<pubDate>Wed, 24 Feb 2010 16:21:26 +0000</pubDate>
		<dc:creator>achaves</dc:creator>
				<category><![CDATA[TM1 Users]]></category>

		<guid isPermaLink="false">http://ant.arvixe.com/~arcs/blog/?p=6</guid>
		<description><![CDATA[The supported environment matrix for TM1 (through 9.4 MR1 FP2) does not include support for IIS 7.   In most cases, attempting to install TM1Web to an IIS 7 web server will fail altogether.   The reason for this is that TM1Web relies on the IIS metabase &#8211; the centralized configuration store used by IIS 5 and [...]]]></description>
			<content:encoded><![CDATA[<p><strong>T</strong>he supported environment matrix for TM1 (through 9.4 MR1 FP2) does not include support for IIS 7.   In most cases, attempting to install TM1Web to an IIS 7 web server will fail altogether.   The reason for this is that TM1Web relies on the IIS metabase &#8211; the centralized configuration store used by IIS 5 and IIS 6.   With IIS 7, the metabase has been replaced by a new delegated configuration system based on a hierarchy of distributed XML configuration files.</p>
<p>In order to successfully install and configure TM1Web to work on IIS7, the Metabase Compatibility component of IIS 7.0 needs to be installed on the machine. This component is not installed by default.  On Windows Server® 2008 builds, you can use the Server Manager tool (Start-&gt;Administrative Tools-&gt;Server Manager), and check the &#8220;IIS 6.0 Management Compatibility&#8221; component to install it.  For Windows XP, Vista, or Server 2003 you can use the Microsoft Web Platform Installer &#8211; a free tool available on the Microsoft IIS site    [url]http://www.microsoft.com/web/downloads/platform.aspx[/url]    Install and launch the Web Platform Installer, and select the &#8220;Web Platform&#8221; tab.  Next to the &#8220;Web Server&#8221; item, click &#8220;Customize&#8221; to display the available IIS configuration options.   Scroll to the group of items labeled &#8220;Computability&#8221;, place a check in the box beside &#8220;IIS Metabase Compatability&#8221;, and click the Install button.</p>
<p>Once the Metabase Compatibility feature is enabled, you should be able to complete the install of TM1Web on your IIS7 machine.  Once TM1Web is installed, there&#8217;s one additional configuration step.  Start the Internet Information Services (IIS) Manager (typically available via Control Panel -&gt; Administrative Tools).  Browse the folders in the left pane and select the item TM1Web (typically found under &#8220;Machine Name&#8221; -&gt; Sites -&gt; Default Web Site).   In the right panel, click the icon for &#8220;Default Document&#8221;. Add an entry &#8220;TM1WebLogin.aspx&#8221; if it is not already defined.  You may need to restart the default web site.</p>
<p>Verify that TM1Web is working properly by browsing to http://yoursite/TM1Web<br />
The TM1Web login screen should appear.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arcssolutions.com/blog/?feed=rss2&#038;p=6</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ARCS Solutions Launches Blog</title>
		<link>http://www.arcssolutions.com/blog/?p=3</link>
		<comments>http://www.arcssolutions.com/blog/?p=3#comments</comments>
		<pubDate>Mon, 29 Jun 2009 19:07:46 +0000</pubDate>
		<dc:creator>rstevenson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ant.arvixe.com/~arcs/blog/?p=3</guid>
		<description><![CDATA[Welcome!   The ARCS team is pleased to launch our all new blog.  With over a quater century of combined experience delivering Business Performance Management (BPM) solutions that employ leading edge technologies such as IBM Cognos TM1 and Cognos8, our goal for this blog is to share the accumulated  knowledge, best practices and insights with the [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome!   The ARCS team is pleased to launch our all new blog.  With over a quater century of combined experience delivering Business Performance Management (BPM) solutions that employ leading edge technologies such as IBM Cognos TM1 and Cognos8, our goal for this blog is to share the accumulated  knowledge, best practices and insights with the online community.  Your comments on any article published to this blog are both welcomed and appreciated.</p>
<p>For interactive and threaded discussions pertaining to TM1,  C8, Executive Viewer, and other IBM Cognos Business Intelligence software, please visit our all new <a href="http://www.arcssolutions.com/forum">ARCS Solutions Forum. </a> </p>
<p>Thanks for visiting.  Please check back often.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arcssolutions.com/blog/?feed=rss2&#038;p=3</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

