<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Analysis Services Stored Procedure Project</title><link>http://asstoredprocedures.codeplex.com/Project/ProjectRss.aspx</link><description>A set of stored procedures for Microsoft SQL Server Analysis Services.</description><item><title>Source code checked in, #55091</title><link>http://asstoredprocedures.codeplex.com/SourceControl/ListDownloadableCommits.aspx</link><description>Moving SQLQuery to it&amp;#39;s own project</description><author>dgosbell</author><pubDate>Fri, 19 Jun 2009 10:35:14 GMT</pubDate><guid isPermaLink="false">Source code checked in, #55091 20090619103514A</guid></item><item><title>Updated Wiki: SQLQuery</title><link>http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=SQLQuery&amp;version=3</link><description>&lt;div class="wikidoc"&gt;&lt;ul&gt;&lt;li&gt;ExecuteSQL *&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;This function allows for the execution of an arbitrary SQL query, probably most useful for calling from a rowset action.&lt;br /&gt;&lt;br /&gt;This routine would be a useful starting point for developing a custom rowset action, possibly integrating it with code from &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=FindCurrentMembers&amp;referringTitle=Home"&gt;FindCurrentMembers&lt;/a&gt; to generate some SQL based on the current context.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;ExecuteSQL( &lt;i&gt;connection string , SQL &lt;/i&gt; ) *&lt;/li&gt;&lt;/ul&gt;
The first parameter is the connection string to be used, any OLEDB provider can be used, the second parameter is the text of the SQL query.&lt;br /&gt;&lt;br /&gt;A user can execute any SQL statement for that their SQL login would normally have the rights to execute.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE:&lt;/b&gt; &lt;i&gt; This code has been placed in a separate assembly and it should be deployed with the default option of impersonating the current user. If you deploy with the option of impersonating the Service Account there is a risk that the SQL statements could be executed with elevated privileges depending on the rights that have been given to the service account. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
call SQLQuery.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;Create TABLE myTable (id int)&amp;quot;);
GO
call SQLQuery.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;INSERT INTO myTable VALUES(1)&amp;quot;);
GO
call SQLQuery.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;SELECT * FROM myTable&amp;quot;);
GO
call SQLQuery.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;DROP TABLE myTable&amp;quot;);
&lt;/pre&gt;&lt;/div&gt;</description><author>dgosbell</author><pubDate>Fri, 19 Jun 2009 09:55:44 GMT</pubDate><guid isPermaLink="false">Updated Wiki: SQLQuery 20090619095544A</guid></item><item><title>Updated Wiki: SQLQuery</title><link>http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=SQLQuery&amp;version=2</link><description>&lt;div class="wikidoc"&gt;&lt;ul&gt;&lt;li&gt;ExecuteSQL *&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;This function allows for the execution of an arbitrary SQL query, probably most useful for calling from a rowset action.&lt;br /&gt;&lt;br /&gt;This routine would be a useful starting point for developing a custom rowset action, possibly integrating it with code from &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=FindCurrentMembers&amp;referringTitle=Home"&gt;FindCurrentMembers&lt;/a&gt; to generate some SQL based on the current context.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;ExecuteSQL( &lt;i&gt;connection string , SQL &lt;/i&gt; ) *&lt;/li&gt;&lt;/ul&gt;
The first parameter is the connection string to be used, any OLEDB provider can be used, the second parameter is the text of the SQL query.&lt;br /&gt;&lt;br /&gt;A user can execute any SQL statement for that their SQL login would normally have the rights to execute.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE:&lt;/b&gt; &lt;i&gt; It is recommended that the assembly containing this routine is only ever deployed with the default option of impersonating the current user. If you deploy with the option of impersonating the Service Account there is a risk that the SQL statements could be executed with elevated privileges depending on the rights that have been given to the service account. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
call assp.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;Create TABLE myTable (id int)&amp;quot;);
GO
call assp.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;INSERT INTO myTable VALUES(1)&amp;quot;);
GO
call assp.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;SELECT * FROM myTable&amp;quot;);
GO
call assp.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;DROP TABLE myTable&amp;quot;);
&lt;/pre&gt;&lt;/div&gt;</description><author>dgosbell</author><pubDate>Thu, 18 Jun 2009 21:22:14 GMT</pubDate><guid isPermaLink="false">Updated Wiki: SQLQuery 20090618092214P</guid></item><item><title>Updated Wiki: SQLQuery</title><link>http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=SQLQuery&amp;version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h3&gt;ExecuteSQL&lt;/h3&gt;
This function allows for the execution of an arbitrary SQL query, probably most useful for calling from a rowset action.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
call assp.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;Create TABLE myTable (id int)&amp;quot;);
GO
call assp.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;INSERT INTO myTable VALUES(1)&amp;quot;);
GO
call assp.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;SELECT * FROM myTable&amp;quot;);
GO
call assp.ExecuteSql(
    &amp;quot;provider=sqlncli;server=localhost;database=AdventureWorksDW;trusted_connection=yes&amp;quot;
    ,&amp;quot;DROP TABLE myTable&amp;quot;);
&lt;/pre&gt;&lt;/div&gt;</description><author>dgosbell</author><pubDate>Thu, 18 Jun 2009 21:14:56 GMT</pubDate><guid isPermaLink="false">Updated Wiki: SQLQuery 20090618091456P</guid></item><item><title>Updated Wiki: Home</title><link>http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=Home&amp;version=35</link><description>&lt;div class="wikidoc"&gt;&lt;h4&gt;ASSP - Analysis Services Stored Procedure Project&lt;/h4&gt;The Analysis Services Stored Procedure project is a set of sample stored procedures for Analysis Services 2005 and 2008. These samples have been written in C# and sample MDX queries are included that demonstrate the use of the procedures against the Adventure Works DW sample database. It was developed by a group of community volunteers with 2 main aims in mind:
&lt;ol&gt;&lt;li&gt;To provide a set of useful extensions to Analysis Services 2005 and 2008.&lt;/li&gt;
&lt;li&gt;To provide a variety of example source code for people looking to write their own stored procedures.&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;The project currently contains the following samples:&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;th&gt; Class &lt;/th&gt;&lt;th&gt; &lt;a href="#Permissions"&gt;Permissions&lt;/a&gt; &lt;/th&gt;&lt;th&gt; &lt;a href="#Version"&gt;Version&lt;/a&gt; &lt;/th&gt;&lt;th&gt; Functions &lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=AsymmetricSet"&gt;AsymmetricSet&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.0 &lt;/td&gt;&lt;td&gt; AsymmetricSet &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=CellTimings"&gt;CellTimings&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.0 &lt;/td&gt;&lt;td&gt; TimeToCalculate &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=CubeInfo"&gt;CubeInfo&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; 1.0 &lt;/td&gt;&lt;td&gt; GetCubeLastProcessedDate &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=EfficientToDate"&gt;EfficientToDate&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.0 &lt;/td&gt;&lt;td&gt; GetEfficientPeriodsToDateSet, GetMostGranularHierarchyCurrentMember &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=FindCurrentMembers"&gt;FindCurrentMembers&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.0 &lt;/td&gt;&lt;td&gt; FindCurrentMember, FindCurrentMemberVerbose, FindCurrentType &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=Multiplication"&gt;Multiplication&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.0 &lt;/td&gt;&lt;td&gt; Multiply &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=StringFilters"&gt;StringFilters&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.0 &lt;/td&gt;&lt;td&gt; RegExFilter, Like &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=ListFunctions"&gt;ListFunctions&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; 1.1 &lt;/td&gt;&lt;td&gt; ListFunctions &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=SetOperations"&gt;SetOperations&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.1 &lt;/td&gt;&lt;td&gt; Order, ReverseSet, RandomSample, InverseHierarchility, AsymmetricDrillDown &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=SetOperations"&gt;SetOperations&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; Future &lt;/td&gt;&lt;td&gt; TopCountWithTies, BottomCountWithTies &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=Parallel"&gt;Parallel&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.1 &lt;/td&gt;&lt;td&gt; Parallel &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=LinkMember"&gt;LinkMember&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.1 &lt;/td&gt;&lt;td&gt; HierarchyLinkMember, LevelLinkMember&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=ClusterNaming"&gt;ClusterNaming&lt;/a&gt; &lt;/td&gt;&lt;td&gt;U &lt;/td&gt;&lt;td&gt; 1.1 &lt;/td&gt;&lt;td&gt; AutoNameClusters, DistinguishingCharacteristicsForClusters&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=Partition"&gt;Partition&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; 1.1 &lt;/td&gt;&lt;td&gt; CreatePartitions &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=Partition"&gt;Partition&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; Future &lt;/td&gt;&lt;td&gt; CreateDistinctCountPartitions, CreateStringDistinctCountPartitions &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=XmlaDiscover"&gt;XmlaDiscover&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; 1.1 &lt;/td&gt;&lt;td&gt; Discover, ClearCache, Cancel, DiscoverXmlMetaData&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=XmlaDiscover"&gt;XmlaDiscover&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt;1.2&lt;/td&gt;&lt;td&gt;DMV&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=MemoryUsage"&gt;MemoryUsage&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; 1.1 &lt;/td&gt;&lt;td&gt; SnapshotMemoryUsageTotals&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=DimensionHealthCheck"&gt;DimensionHealthCheck&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; 1.1 &lt;/td&gt;&lt;td&gt; ListDimensionErrors, ListDimensionsWithErrors&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=StrToSet"&gt;StrToSet&lt;/a&gt; &lt;/td&gt;&lt;td&gt; S &lt;/td&gt;&lt;td&gt; 1.2&lt;/td&gt;&lt;td&gt; KeysStrToSet, CompositeKeysStrToSet&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=PartitionHealthCheck"&gt;PartitionHealthCheck&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; 1.2&lt;/td&gt;&lt;td&gt; DiscoverPartitionSlices &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=FileSystemCache"&gt;FileSystemCache&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; Future &lt;/td&gt;&lt;td&gt; ClearFileSystemCache, GetFileSystemCacheBytes &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=SQLQuery"&gt;SQLQuery&lt;/a&gt; &lt;/td&gt;&lt;td&gt; U &lt;/td&gt;&lt;td&gt; Future &lt;/td&gt;&lt;td&gt; ExecuteSQL &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a name="Permissions"&gt;&lt;/a&gt; Permissions:&lt;/b&gt; denotes the minimum required permissions level for the function in the class to work. If you deploy the assembly with a lower permission level than that required by a given function, that function will simply throw a security exception when you attempt to execute it, all the other functions will execute normally. 
&lt;ul&gt;&lt;li&gt;S - Safe&lt;/li&gt;
&lt;li&gt;U - Unrestricted&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;b&gt;&lt;a name="Version"&gt;&lt;/a&gt; Version:&lt;/b&gt; denotes the initial release version for the class.&lt;br /&gt;&lt;br /&gt;For details on how to install the compiled release see the &lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=Installation%20Instructions"&gt;Installation Instructions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For a list of other resources and links see:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=Additional%20Resources"&gt;Additional Resources&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>dgosbell</author><pubDate>Thu, 18 Jun 2009 21:13:25 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090618091325P</guid></item><item><title>Source code checked in, #55028</title><link>http://asstoredprocedures.codeplex.com/SourceControl/ListDownloadableCommits.aspx</link><description>Removing &amp;#34;Readonly&amp;#61;1&amp;#34; from the connection string as it was having no effect</description><author>dgosbell</author><pubDate>Thu, 18 Jun 2009 21:10:48 GMT</pubDate><guid isPermaLink="false">Source code checked in, #55028 20090618091048P</guid></item><item><title>Source code checked in, #54985</title><link>http://asstoredprocedures.codeplex.com/SourceControl/ListDownloadableCommits.aspx</link><description>Adding SQLQuery class</description><author>dgosbell</author><pubDate>Thu, 18 Jun 2009 13:12:21 GMT</pubDate><guid isPermaLink="false">Source code checked in, #54985 20090618011221P</guid></item><item><title>Updated Wiki: Additional Resources</title><link>http://asstoredprocedures.codeplex.com/Wiki/View.aspx?title=Additional Resources&amp;version=11</link><description>&lt;div class="wikidoc"&gt;&lt;h4&gt;Additional Resources&lt;/h4&gt;
For instructions on creating and registering Analysis Services stored procedures, see the Books Online topic &lt;a href="http://msdn2.microsoft.com/en-us/library/ms175340.aspx" class="externalLink"&gt;Creating Stored Procedures&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For information on using stored procedures in conjunction with association rules data mining to perform social network analysis, see the &lt;a href="http://blogs.msdn.com/johnchancock/archive/2007/02/25/social-relationship-analysis-with-data-mining.aspx" class="externalLink"&gt;whitepaper&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and download the &lt;a href="http://www.johnchancock.net/downloads/Social Relationships and Data Mining.zip" class="externalLink"&gt;code&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by John C. Hancock.&lt;br /&gt;&lt;br /&gt;For several other data mining related stored procs, see Jamie MacLennan's &lt;a href="http://blogs.msdn.com/jamiemac/default.aspx" class="externalLink"&gt;blog&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and the &lt;a href="http://www.sqlserverdatamining.com" class="externalLink"&gt;sqlserverdatamining.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; site:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/jamiemac/archive/2007/03/02/tree-utilities-in-analysis-services-stored-procedures.aspx" class="externalLink"&gt;Here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; is one that's useful for finding the shortest or longest path to a leaf node in a decision tree.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/jamiemac/archive/2006/03/30/565142.aspx" class="externalLink"&gt;Here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; is one that builds the DMX CREATE MINING MODEL statement for an existing model.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sqlserverdatamining.com/ssdm/Default.aspx?tabid=61&amp;amp;Id=8" class="externalLink"&gt;Here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; is one that calculates the goodness of fit of a regression model.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sqlserverdatamining.com/ssdm/Default.aspx?tabid=61&amp;amp;Id=12" class="externalLink"&gt;Here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; is one that calculates covariance/correlation matrixes.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/jamiemac/archive/2008/02/03/dmx-queries-the-datasource-hole.aspx" class="externalLink"&gt;Here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; is one that creates a data source object.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sqlserverdatamining.com/ssdm/Default.aspx?tabid=102&amp;amp;Id=41" class="externalLink"&gt;Here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; is one that extracts information from a logistic regression model.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;For an example of how to use a config file to store settings for Analysis Services stored procs, see a &lt;a href="http://prologika.com/CS/blogs/blog/archive/2007/01/18/dealing-with-udm-configuration-settings.aspx" class="externalLink"&gt;blog entry&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Teo Lachev.&lt;br /&gt;&lt;br /&gt;For some performance tips and other sproc best practices, see a &lt;a href="http://sqljunkies.com/WebLog/mosha/archive/2007/04/19/stored_procs_best_practices.aspx" class="externalLink"&gt;blog entry&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Mosha Pasumansky.&lt;br /&gt;&lt;br /&gt;For information about debugging sprocs, see a &lt;a href="http://geekswithblogs.net/darrengosbell/archive/2007/05/22/Debugging-SSAS-.Net-Stored-Procedures.aspx" class="externalLink"&gt;blog entry&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Darren Gosbell.&lt;br /&gt;&lt;br /&gt;For some examples of returning images from a sproc, see Hilmar Buchta's blog &lt;a href="http://ms-olap.blogspot.com/2008/07/returning-image-from-ssas-stored.html" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://ms-olap.blogspot.com/2008/07/winloss-chart-as-dynamic-image-created.html" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and &lt;a href="http://ms-olap.blogspot.com/2008/07/some-more-samples-for-data-aware-images.html" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. He also has a post about &lt;a href="http://ms-olap.blogspot.com/2008/07/some-more-thoughts-on-quantiles.html" class="externalLink"&gt;quantiles&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and sproc performance.&lt;br /&gt;&lt;br /&gt;For an example of using C# to deploy an assembly to Analysis Services using the management API, see this &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sqlanalysisservices/thread/cf24c471-2efd-40f6-92df-06b18ffcaa2e" class="externalLink"&gt;forum thread&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. That thread also shows how to deploy a third-party DLL in addition to your assembly.&lt;br /&gt;&lt;br /&gt;For an example of a stored procedure which allows you to retrieve members with identical names, see this &lt;a href="http://ms-olap.blogspot.com/2009/05/accessing-duplicate-members-in.html" class="externalLink"&gt;blog post&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Hilmar Buchta.&lt;/div&gt;</description><author>furmangg</author><pubDate>Sat, 23 May 2009 17:12:20 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Additional Resources 20090523051220P</guid></item><item><title>New Post: Newbie</title><link>http://asstoredprocedures.codeplex.com/Thread/View.aspx?ThreadId=53767</link><description>&lt;div style="line-height: normal;"&gt;You can remove the source control if you are working on your own version of ASSP. These are only links back to the codeplex repository.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The references may be in a different place on your machine. If you open the references folder in the solution it should show you which ones can't be located. You can either add a reference path to the project properties to tell it where else to look for these references or you can remove the existing references and add new ones that point to the location on your machine. If you don't have a local instances of SSAS on your machine you may need to copy the msmgdsrv.dll file from your server.&lt;/div&gt;&lt;/div&gt;</description><author>dgosbell</author><pubDate>Mon, 20 Apr 2009 22:09:21 GMT</pubDate><guid isPermaLink="false">New Post: Newbie 20090420100921P</guid></item><item><title>New Post: Newbie</title><link>http://asstoredprocedures.codeplex.com/Thread/View.aspx?ThreadId=53767</link><description>&lt;div style="line-height: normal;"&gt;Hi&lt;br&gt;
&lt;br&gt;
I am trying out AS stored procedures but didnt get anywhere yet. The thing blocking me is seeing code work in Visual Studio.&lt;br&gt;
&lt;br&gt;
The material I am using is &lt;br&gt;
&lt;br&gt;
*) the project in here&lt;br&gt;
*) this link&lt;br&gt;
&lt;br&gt;
&lt;a href="http://cwebbbi.spaces.live.com/blog/cns!7B84B0F2C239489A!586.entry"&gt;http://cwebbbi.spaces.live.com/blog/cns!7B84B0F2C239489A!586.entry&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
and i want to end up doing this:&lt;br&gt;
&lt;br&gt;
&lt;a href="http://sqlblog.com/blogs/mosha/archive/2008/09/01/drillthrough-on-calculated-measures.aspx"&gt;http://sqlblog.com/blogs/mosha/archive/2008/09/01/drillthrough-on-calculated-measures.aspx&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Because that is usable on solution I am working on.&lt;br&gt;
&lt;br&gt;
However I have trouble gettin even the project in here to work on my machine. When I open the source project in VS it says &lt;br&gt;
&lt;br&gt;
&amp;quot;the source control provider associated with this solution could not be found. The projects will be treated as not under source&lt;br&gt;
control. Do you want to permanently remove the source control bindings from the projects ?&amp;quot;&lt;br&gt;
&lt;br&gt;
I say no to this but then when i try to rebuild it give me long error list. One of errors is this reference doesnt work.&lt;br&gt;
&lt;br&gt;
&amp;quot;Warning 2 Could not resolve this reference. Could not locate the assembly &amp;quot;msmgdsrv&amp;quot;. Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. ASSP&lt;br&gt;
&lt;br&gt;
Can someone help ?
&lt;/div&gt;</description><author>mivar</author><pubDate>Sun, 19 Apr 2009 15:02:47 GMT</pubDate><guid isPermaLink="false">New Post: Newbie 20090419030247P</guid></item><item><title>Closed Issue: Function RegExFilter parameter caseSensitive</title><link>http://asstoredprocedures.codeplex.com/WorkItem/View.aspx?WorkItemId=22097</link><description>Hello&amp;#33;&lt;br /&gt;Don&amp;#39;t work this parameter.&lt;br /&gt;On the function getCachedRegEx&amp;#160;statement &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Boolean caseSensitive &amp;#61; &amp;#40;opt &amp;#124; RegexOptions.IgnoreCase&amp;#41; &amp;#61;&amp;#61; RegexOptions.IgnoreCase&amp;#59; &lt;br /&gt;&lt;br /&gt;needed to replace&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Boolean caseSensitive &amp;#61; &amp;#40;opt &amp;#38; RegexOptions.IgnoreCase&amp;#41; &amp;#61;&amp;#61; RegexOptions.IgnoreCase&amp;#59;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best of regards&amp;#33;&lt;br /&gt;</description><author>dgosbell</author><pubDate>Sat, 18 Apr 2009 07:57:03 GMT</pubDate><guid isPermaLink="false">Closed Issue: Function RegExFilter parameter caseSensitive 20090418075703A</guid></item><item><title>Source code checked in, #49226</title><link>http://asstoredprocedures.codeplex.com/SourceControl/ListDownloadableCommits.aspx</link><description>fix for getCachedRegEx</description><author>dgosbell</author><pubDate>Sat, 18 Apr 2009 07:56:59 GMT</pubDate><guid isPermaLink="false">Source code checked in, #49226 20090418075659A</guid></item><item><title>New Post: Function RegExFilter parameter caseSensitive</title><link>http://asstoredprocedures.codeplex.com/Thread/View.aspx?ThreadId=53361</link><description>&lt;div style="line-height: normal;"&gt;This discussion has been copied to a work item. Click &lt;a href="http://asstoredprocedures.codeplex.com/WorkItem/View.aspx?WorkItemId=22097"&gt;here&lt;/a&gt; to go to the work item and continue the discussion.&lt;/div&gt;</description><author>dgosbell</author><pubDate>Sat, 18 Apr 2009 07:48:06 GMT</pubDate><guid isPermaLink="false">New Post: Function RegExFilter parameter caseSensitive 20090418074806A</guid></item><item><title>Created Issue: Function RegExFilter parameter caseSensitive</title><link>http://asstoredprocedures.codeplex.com/WorkItem/View.aspx?WorkItemId=22097</link><description>Hello&amp;#33;&lt;br /&gt;Don&amp;#39;t work this parameter.&lt;br /&gt;On the function getCachedRegEx&amp;#160;statement &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Boolean caseSensitive &amp;#61; &amp;#40;opt &amp;#124; RegexOptions.IgnoreCase&amp;#41; &amp;#61;&amp;#61; RegexOptions.IgnoreCase&amp;#59; &lt;br /&gt;&lt;br /&gt;needed to replace&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Boolean caseSensitive &amp;#61; &amp;#40;opt &amp;#38; RegexOptions.IgnoreCase&amp;#41; &amp;#61;&amp;#61; RegexOptions.IgnoreCase&amp;#59;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best of regards&amp;#33;&lt;br /&gt;</description><author>dgosbell</author><pubDate>Sat, 18 Apr 2009 07:48:05 GMT</pubDate><guid isPermaLink="false">Created Issue: Function RegExFilter parameter caseSensitive 20090418074805A</guid></item><item><title>New Post: Function RegExFilter parameter caseSensitive</title><link>http://asstoredprocedures.codeplex.com/Thread/View.aspx?ThreadId=53361</link><description>&lt;div style="line-height: normal;"&gt;Thanks Basilio, I have just checked in a fix for this. &lt;/div&gt;</description><author>dgosbell</author><pubDate>Sat, 18 Apr 2009 07:47:23 GMT</pubDate><guid isPermaLink="false">New Post: Function RegExFilter parameter caseSensitive 20090418074723A</guid></item><item><title>New Post: Function RegExFilter parameter caseSensitive</title><link>http://asstoredprocedures.codeplex.com/Thread/View.aspx?ThreadId=53361</link><description>&lt;div style="line-height: normal;"&gt;    Hello!&lt;br&gt;
Don't work this parameter.&lt;br&gt;
On the function &lt;span style="font-size:13px"&gt;getCachedRegEx statement &lt;span style="font-size:13px"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#2b91af;font-size:13px"&gt;Boolean&lt;/span&gt;&lt;span style="font-size:13px"&gt; caseSensitive = (opt&lt;span style="text-decoration:underline"&gt;&lt;strong&gt; |&lt;/strong&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:13px"&gt;RegexOptions&lt;/span&gt;&lt;span style="font-size:13px"&gt;.IgnoreCase) == &lt;/span&gt;&lt;span style="color:#2b91af;font-size:13px"&gt;RegexOptions&lt;/span&gt;&lt;span style="font-size:13px"&gt;.IgnoreCase; &lt;br&gt;
&lt;br&gt;
needed to replace&lt;br&gt;
&lt;br&gt;
&lt;span style="font-size:13px"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#2b91af;font-size:13px"&gt;Boolean&lt;/span&gt;&lt;span style="font-size:13px"&gt; caseSensitive = (opt &amp;amp; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:13px"&gt;RegexOptions&lt;/span&gt;&lt;span style="font-size:13px"&gt;.IgnoreCase) == &lt;/span&gt;&lt;span style="color:#2b91af;font-size:13px"&gt;RegexOptions&lt;/span&gt;&lt;span style="font-size:13px"&gt;.IgnoreCase;&lt;br&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Best of regards!&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;
&lt;/div&gt;</description><author>Basilio</author><pubDate>Wed, 15 Apr 2009 13:35:04 GMT</pubDate><guid isPermaLink="false">New Post: Function RegExFilter parameter caseSensitive 20090415013504P</guid></item><item><title>Commented Issue: Function GetMemberPropertyTableHTML</title><link>http://asstoredprocedures.codeplex.com/WorkItem/View.aspx?WorkItemId=21973</link><description>GOAL&lt;br /&gt;I&amp;#39;d like to add a cube action, which generates a HTML page containing all member property attribute names &amp;#40;&amp;#61;visible attribute relationships&amp;#41; and their values for a specific dimension member as a HTML table. &lt;br /&gt;&lt;br /&gt;APPROACH&lt;br /&gt;Therefore I&amp;#39;m looking for a function, which extracts the relationship attribute names and values for a specific dimension attribute &amp;#40;passed by parameter&amp;#41;&amp;#160;and then wraps the retrieved values with additional HTML-table tags &amp;#40;tr, td&amp;#59; or by prefix&amp;#47;suffix-parameter&amp;#41; and finally builds a concatenated string, which then can be used within the cube action definition.&amp;#160;The table body and header columns itself are defined in the calling action definition and therefore must not be part of the concatenated string.&lt;br /&gt;&lt;br /&gt;CHALLENGE&lt;br /&gt;The visible attribute relationships for a specific dimension member can be extracted as data table with the existing Discover function of this project. But moreover I&amp;#39;m looking for a way or even better a &amp;#40;new&amp;#63;&amp;#41; ASSP function, which also extracts the related attribute values and builds the desired concatenated HTML string on the top of it. &lt;br /&gt;In its most flexible version, the function would accept following parameters&amp;#58; 1&amp;#41; Catalog Name 2&amp;#41; Cube Name 3&amp;#41; Unique Dimension Member Name, and&lt;br /&gt;4&amp;#41; Format String which defines the attribute wrapping pattern &amp;#40;example&amp;#58; &amp;#39;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#35;&amp;#35;Name&amp;#35;&amp;#35;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;td&amp;#62;&amp;#35;&amp;#35;Value&amp;#35;&amp;#35;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#39;, &lt;br /&gt;where &amp;#35;&amp;#35;Name&amp;#35;&amp;#35; and &amp;#35;&amp;#35;Value&amp;#35;&amp;#35; is replaced with the existing member property attribute names&amp;#160;and values.&lt;br /&gt;&lt;br /&gt;As my skill focus is more on T-SQL and MDX rather than C&amp;#35; and its SSAS related object models, having a new ASSP function or working code sample would help most. I assume, that this function in its most flexible version &amp;#40;as suggested above&amp;#41;, would also be useful for other purposes within MDX scripts and&amp;#47;or queries. &lt;br /&gt;Based on the new function I could contribute MDX related usage examples to document the power of the resulting cube actions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for more info, see the discussion http&amp;#58;&amp;#47;&amp;#47;asstoredprocedures.codeplex.com&amp;#47;Thread&amp;#47;View.aspx&amp;#63;ThreadId&amp;#61;52516&lt;br /&gt;Comments: ** Comment from web user: dgosbell ** &lt;p&gt;I was just thinking about the method signature and I think all it needs is a member reference and the format string &amp;#40;as we could setup a default format string as an optional overload&amp;#41;. The catalog and cube would be implied by the context of the action.&lt;/p&gt;</description><author>dgosbell</author><pubDate>Tue, 14 Apr 2009 11:14:44 GMT</pubDate><guid isPermaLink="false">Commented Issue: Function GetMemberPropertyTableHTML 20090414111444A</guid></item><item><title>New Post: Function GetMemberPropertyTableHTML</title><link>http://asstoredprocedures.codeplex.com/Thread/View.aspx?ThreadId=52516</link><description>&lt;div style="line-height: normal;"&gt;This discussion has been copied to a work item. Click &lt;a href="http://asstoredprocedures.codeplex.com/WorkItem/View.aspx?WorkItemId=21973"&gt;here&lt;/a&gt; to go to the work item and continue the discussion.&lt;/div&gt;</description><author>furmangg</author><pubDate>Wed, 08 Apr 2009 19:26:36 GMT</pubDate><guid isPermaLink="false">New Post: Function GetMemberPropertyTableHTML 20090408072636P</guid></item><item><title>Created Issue: Function GetMemberPropertyTableHTML</title><link>http://asstoredprocedures.codeplex.com/WorkItem/View.aspx?WorkItemId=21973</link><description>GOAL&lt;br /&gt;I&amp;#39;d like to add a cube action, which generates a HTML page containing all member property attribute names &amp;#40;&amp;#61;visible attribute relationships&amp;#41; and their values for a specific dimension member as a HTML table. &lt;br /&gt;&lt;br /&gt;APPROACH&lt;br /&gt;Therefore I&amp;#39;m looking for a function, which extracts the relationship attribute names and values for a specific dimension attribute &amp;#40;passed by parameter&amp;#41;&amp;#160;and then wraps the retrieved values with additional HTML-table tags &amp;#40;tr, td&amp;#59; or by prefix&amp;#47;suffix-parameter&amp;#41; and finally builds a concatenated string, which then can be used within the cube action definition.&amp;#160;The table body and header columns itself are defined in the calling action definition and therefore must not be part of the concatenated string.&lt;br /&gt;&lt;br /&gt;CHALLENGE&lt;br /&gt;The visible attribute relationships for a specific dimension member can be extracted as data table with the existing Discover function of this project. But moreover I&amp;#39;m looking for a way or even better a &amp;#40;new&amp;#63;&amp;#41; ASSP function, which also extracts the related attribute values and builds the desired concatenated HTML string on the top of it. &lt;br /&gt;In its most flexible version, the function would accept following parameters&amp;#58; 1&amp;#41; Catalog Name 2&amp;#41; Cube Name 3&amp;#41; Unique Dimension Member Name, and&lt;br /&gt;4&amp;#41; Format String which defines the attribute wrapping pattern &amp;#40;example&amp;#58; &amp;#39;&amp;#60;tr&amp;#62;&amp;#60;td&amp;#62;&amp;#35;&amp;#35;Name&amp;#35;&amp;#35;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;td&amp;#62;&amp;#35;&amp;#35;Value&amp;#35;&amp;#35;&amp;#60;&amp;#47;td&amp;#62;&amp;#60;&amp;#47;tr&amp;#62;&amp;#39;, &lt;br /&gt;where &amp;#35;&amp;#35;Name&amp;#35;&amp;#35; and &amp;#35;&amp;#35;Value&amp;#35;&amp;#35; is replaced with the existing member property attribute names&amp;#160;and values.&lt;br /&gt;&lt;br /&gt;As my skill focus is more on T-SQL and MDX rather than C&amp;#35; and its SSAS related object models, having a new ASSP function or working code sample would help most. I assume, that this function in its most flexible version &amp;#40;as suggested above&amp;#41;, would also be useful for other purposes within MDX scripts and&amp;#47;or queries. &lt;br /&gt;Based on the new function I could contribute MDX related usage examples to document the power of the resulting cube actions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for more info, see the discussion http&amp;#58;&amp;#47;&amp;#47;asstoredprocedures.codeplex.com&amp;#47;Thread&amp;#47;View.aspx&amp;#63;ThreadId&amp;#61;52516&lt;br /&gt;</description><author>furmangg</author><pubDate>Wed, 08 Apr 2009 19:26:35 GMT</pubDate><guid isPermaLink="false">Created Issue: Function GetMemberPropertyTableHTML 20090408072635P</guid></item><item><title>New Post: Function GetMemberPropertyTableHTML</title><link>http://asstoredprocedures.codeplex.com/Thread/View.aspx?ThreadId=52516</link><description>&lt;div style="line-height: normal;"&gt;CLIENT TOOL&lt;br&gt;
The HTML actions are initiated thru ProClarity.&lt;br&gt;
It might be, that also following good front end tools support HTML-actions: &lt;br&gt;
Intelligencia (IT-Workplace), Cubeware Cockpit.&lt;br&gt;
There are many other tools as well. To get a comprehensive picture maybe other&lt;br&gt;
SSAS-specialists like Chris Webb and Mosha Pasumansky may provide some feedback. &lt;br&gt;
&lt;br&gt;
FUNCTION&lt;br&gt;
Moreover the function I'm looking for, could also be used to build a concatenated string,&lt;br&gt;
which then could be used to create specific calculated measures/members with text content.&lt;br&gt;
&lt;br&gt;
CONTRIBUTION&lt;br&gt;
I'm pleased to contribute code. But as mentioned, my focus is on the cube design and MDX-side and not in creating assemblies (unfortunately). Some impressions about enhanced cube design and functionality as implemented by our team can be derived from the slides on &lt;a href="http://www.aito.ch"&gt;www.aito.ch&lt;/a&gt; . If you or the community is interested in code logic and design behind specific features I can write some short articles. 
&lt;/div&gt;</description><author>michael_ibax</author><pubDate>Wed, 08 Apr 2009 06:51:06 GMT</pubDate><guid isPermaLink="false">New Post: Function GetMemberPropertyTableHTML 20090408065106A</guid></item></channel></rss>