<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Tomislav Piasevoli - BI Blog</title>
	<atom:link href="http://tomislav.piasevoli.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://tomislav.piasevoli.com</link>
	<description>Business Intelligence on Microsoft platform</description>
	<lastBuildDate>Sun, 29 Jan 2012 00:55:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Comment on Row number by Paul Turley</title>
		<link>http://tomislav.piasevoli.com/2009/01/19/row-number/comment-page-1/#comment-6595</link>
		<dc:creator>Paul Turley</dc:creator>
		<pubDate>Sun, 29 Jan 2012 00:55:50 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=9978#comment-6595</guid>
		<description>Hey, Tomislav
I was just trying to figure out how to add ranking values for a report parameter query for a client project.  I was delighted when your name appeared at the top of the Bing search.  Thanks for saving me time.  Hope to see you soon.
Thanks, Paul</description>
		<content:encoded><![CDATA[<p>Hey, Tomislav<br />
I was just trying to figure out how to add ranking values for a report parameter query for a client project.  I was delighted when your name appeared at the top of the Bing search.  Thanks for saving me time.  Hope to see you soon.<br />
Thanks, Paul</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My 3rd Microsoft MVP award by Link Resource # 41 : Jan 06 &#8211; Jan 13 &#171; Dactylonomy of Web Resource</title>
		<link>http://tomislav.piasevoli.com/2011/10/04/my-3rd-microsoft-mvp-award/comment-page-1/#comment-6406</link>
		<dc:creator>Link Resource # 41 : Jan 06 &#8211; Jan 13 &#171; Dactylonomy of Web Resource</dc:creator>
		<pubDate>Fri, 13 Jan 2012 05:01:28 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=10170#comment-6406</guid>
		<description>[...] My 3rd Microsoft MVP award [...]</description>
		<content:encoded><![CDATA[<p>[...] My 3rd Microsoft MVP award [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My 3rd Microsoft MVP award by Link Resource # 38: Dec 27 &#8211; Dec 30 &#171; Dactylonomy of Web Resource</title>
		<link>http://tomislav.piasevoli.com/2011/10/04/my-3rd-microsoft-mvp-award/comment-page-1/#comment-6246</link>
		<dc:creator>Link Resource # 38: Dec 27 &#8211; Dec 30 &#171; Dactylonomy of Web Resource</dc:creator>
		<pubDate>Thu, 29 Dec 2011 14:56:25 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=10170#comment-6246</guid>
		<description>[...] My 3rd Microsoft MVP award [...]</description>
		<content:encoded><![CDATA[<p>[...] My 3rd Microsoft MVP award [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Calculating universal percentage in OWC by Cooperman</title>
		<link>http://tomislav.piasevoli.com/2009/09/23/calculating-universal-percentage-in-owc/comment-page-1/#comment-6175</link>
		<dc:creator>Cooperman</dc:creator>
		<pubDate>Thu, 22 Dec 2011 13:53:47 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=9989#comment-6175</guid>
		<description>Fantastic bit of code.  Will save me hours.
Many thanks</description>
		<content:encoded><![CDATA[<p>Fantastic bit of code.  Will save me hours.<br />
Many thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My 3rd Microsoft MVP award by Link Resource # 35: Dec 11 &#8211; Dec 14 &#171; Dactylonomy of Web Resource</title>
		<link>http://tomislav.piasevoli.com/2011/10/04/my-3rd-microsoft-mvp-award/comment-page-1/#comment-6082</link>
		<dc:creator>Link Resource # 35: Dec 11 &#8211; Dec 14 &#171; Dactylonomy of Web Resource</dc:creator>
		<pubDate>Tue, 13 Dec 2011 14:47:20 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=10170#comment-6082</guid>
		<description>[...] My 3rd Microsoft MVP award [...]</description>
		<content:encoded><![CDATA[<p>[...] My 3rd Microsoft MVP award [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Implementing histograms in OLAP by Mark</title>
		<link>http://tomislav.piasevoli.com/2009/07/24/implementing-histograms-in-olap/comment-page-1/#comment-5940</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Fri, 02 Dec 2011 23:43:30 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=9984#comment-5940</guid>
		<description>This is exactly what I intended, and your explaination makes perfect sense!  I hope it helps others as well.</description>
		<content:encoded><![CDATA[<p>This is exactly what I intended, and your explaination makes perfect sense!  I hope it helps others as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Implementing histograms in OLAP by Tomislav Piasevoli</title>
		<link>http://tomislav.piasevoli.com/2009/07/24/implementing-histograms-in-olap/comment-page-1/#comment-5939</link>
		<dc:creator>Tomislav Piasevoli</dc:creator>
		<pubDate>Fri, 02 Dec 2011 23:30:49 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=9984#comment-5939</guid>
		<description>OK, now I think I understand it better. And see where the problem is - calculations are mixed.
The first measure in your query (Transaction Fq) is generally done right except for one thing - the Txn Count measure should be defined as a calculated measure that returns the YTD value of the number of events for a particular customer. On the other hand, we have a measure like that, it&#039;s the Freq YTD measure. But inside that measure you should use the Txn Count measure. You see, simply change those measures inside existing calculated measures and switch the order of calculated measures (because the latter will now refer to the former one). And I think the solution should work as required now.
Explanation. The logic of the Transaction Fq measure says that for each interval we want to count the number of customers that had the same number of monthly events/transactions up to that date. In your example, in the first month there will be only 5 customers because the other 5 will have 2 as their count of events YTD, so they will match the second interval.
Here are the new definitions, to make it easy for you:

&lt;code&gt;
WITH

MEMBER [Measures].[Count YTD] AS
Sum ( ytd(), [Measures].[Txn Count] )

MEMBER [Measures].[Transaction Fq] AS
Sum(EXISTING [Dim Customer].[Customer ID].[Customer ID].MEMBERS,
iif( [DM Interval].[Interval].CurrentMember.MemberValue =
[Measures].[Count YTD], 1 ,null
)
)
&lt;/code&gt;

One more thing. If you won&#039;t slice by other attributes of your customer dimension, you can omit the EXISTING keyword and gain on some speed perhaps.

Hope it helps this time.</description>
		<content:encoded><![CDATA[<p>OK, now I think I understand it better. And see where the problem is &#8211; calculations are mixed.<br />
The first measure in your query (Transaction Fq) is generally done right except for one thing &#8211; the Txn Count measure should be defined as a calculated measure that returns the YTD value of the number of events for a particular customer. On the other hand, we have a measure like that, it&#8217;s the Freq YTD measure. But inside that measure you should use the Txn Count measure. You see, simply change those measures inside existing calculated measures and switch the order of calculated measures (because the latter will now refer to the former one). And I think the solution should work as required now.<br />
Explanation. The logic of the Transaction Fq measure says that for each interval we want to count the number of customers that had the same number of monthly events/transactions up to that date. In your example, in the first month there will be only 5 customers because the other 5 will have 2 as their count of events YTD, so they will match the second interval.<br />
Here are the new definitions, to make it easy for you:</p>
<p><code><br />
WITH</p>
<p>MEMBER [Measures].[Count YTD] AS<br />
Sum ( ytd(), [Measures].[Txn Count] )</p>
<p>MEMBER [Measures].[Transaction Fq] AS<br />
Sum(EXISTING [Dim Customer].[Customer ID].[Customer ID].MEMBERS,<br />
iif( [DM Interval].[Interval].CurrentMember.MemberValue =<br />
[Measures].[Count YTD], 1 ,null<br />
)<br />
)<br />
</code></p>
<p>One more thing. If you won&#8217;t slice by other attributes of your customer dimension, you can omit the EXISTING keyword and gain on some speed perhaps.</p>
<p>Hope it helps this time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Implementing histograms in OLAP by Mark</title>
		<link>http://tomislav.piasevoli.com/2009/07/24/implementing-histograms-in-olap/comment-page-1/#comment-5938</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Fri, 02 Dec 2011 22:50:48 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=9984#comment-5938</guid>
		<description>Yes and no, Let me share my mdx. (I took it out of the cube calculation for testing).

What I really want is the frequency of the events from the beginning of the year through the month.

So if 10 events happened for 10 customers in the first month. The 1 frequency would should 10 for that month, but if in the next month 5 of those same customers had another event, the next month would show 5 for frequency 1 and 5 for frequency 2.


&lt;code&gt;
with MEMBER [Measures].[Transaction Fq] AS
 Sum(EXISTING [Dim Customer].[Customer ID].[Customer ID].MEMBERS,
        iif( [DM Interval].[Interval].CurrentMember.MemberValue =
              [Measures].[Txn Count], 1 ,null
            )
      )
MEMBER [Measures].[Freq YTD] AS
Sum ( ytd(),[Measures].[Transaction FQ] )    
      
select {[Measures].[Freq YTD],[Measures].[Transaction Fq]}  on 0,
NON EMPTY [Dim Date].[TxnDate].[Month] * [DM Interval].[Interval].Children ON 1
FROM
[Cube]
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Yes and no, Let me share my mdx. (I took it out of the cube calculation for testing).</p>
<p>What I really want is the frequency of the events from the beginning of the year through the month.</p>
<p>So if 10 events happened for 10 customers in the first month. The 1 frequency would should 10 for that month, but if in the next month 5 of those same customers had another event, the next month would show 5 for frequency 1 and 5 for frequency 2.</p>
<p><code><br />
with MEMBER [Measures].[Transaction Fq] AS<br />
 Sum(EXISTING [Dim Customer].[Customer ID].[Customer ID].MEMBERS,<br />
        iif( [DM Interval].[Interval].CurrentMember.MemberValue =<br />
              [Measures].[Txn Count], 1 ,null<br />
            )<br />
      )<br />
MEMBER [Measures].[Freq YTD] AS<br />
Sum ( ytd(),[Measures].[Transaction FQ] )    </p>
<p>select {[Measures].[Freq YTD],[Measures].[Transaction Fq]}  on 0,<br />
NON EMPTY [Dim Date].[TxnDate].[Month] * [DM Interval].[Interval].Children ON 1<br />
FROM<br />
[Cube]<br />
</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Implementing histograms in OLAP by Tomislav Piasevoli</title>
		<link>http://tomislav.piasevoli.com/2009/07/24/implementing-histograms-in-olap/comment-page-1/#comment-5937</link>
		<dc:creator>Tomislav Piasevoli</dc:creator>
		<pubDate>Fri, 02 Dec 2011 22:13:20 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=9984#comment-5937</guid>
		<description>Yes, everything points to FE. OK, we&#039;ll deal with that later, let&#039;s get the correct formula first and then we&#039;ll try to optimize it.
I&#039;m waiting to hear more about whether moving YTD function deeper in calculation helps (that is, in the other measure). If not, please explain the required calculation behavior again.</description>
		<content:encoded><![CDATA[<p>Yes, everything points to FE. OK, we&#8217;ll deal with that later, let&#8217;s get the correct formula first and then we&#8217;ll try to optimize it.<br />
I&#8217;m waiting to hear more about whether moving YTD function deeper in calculation helps (that is, in the other measure). If not, please explain the required calculation behavior again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Implementing histograms in OLAP by Mark</title>
		<link>http://tomislav.piasevoli.com/2009/07/24/implementing-histograms-in-olap/comment-page-1/#comment-5932</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Fri, 02 Dec 2011 15:29:13 +0000</pubDate>
		<guid isPermaLink="false">http://tomislav.piasevoli.com/?p=9984#comment-5932</guid>
		<description>Interestingly, I tried the approch in your book (which I will plug as the best MDX learning tool I have come across to date) and performance was still not so good.  I am fairly certain the query is getting held up in the forumla engine, since I see a profiler event for Query Dimension from cache and 1 CPU goes to 100% utilization.

I did not think of adding the YTD in the calculated member, but am experimenting with that now.</description>
		<content:encoded><![CDATA[<p>Interestingly, I tried the approch in your book (which I will plug as the best MDX learning tool I have come across to date) and performance was still not so good.  I am fairly certain the query is getting held up in the forumla engine, since I see a profiler event for Query Dimension from cache and 1 CPU goes to 100% utilization.</p>
<p>I did not think of adding the YTD in the calculated member, but am experimenting with that now.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

