<?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>PowerPivotGeek &#187; Engine</title>
	<atom:link href="http://powerpivotgeek.com/category/engine/feed/" rel="self" type="application/rss+xml" />
	<link>http://powerpivotgeek.com</link>
	<description>An adventure in managed self-service computing</description>
	<lastBuildDate>Wed, 19 Jan 2011 23:04:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How much data can I load into PowerPivot?</title>
		<link>http://powerpivotgeek.com/2010/08/22/how-much-data-can-i-load-into-powerpivot/</link>
		<comments>http://powerpivotgeek.com/2010/08/22/how-much-data-can-i-load-into-powerpivot/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 05:17:54 +0000</pubDate>
		<dc:creator>powerpivotgeek</dc:creator>
				<category><![CDATA[Engine]]></category>

		<guid isPermaLink="false">http://powerpivotgeek.com/2010/08/22/how-much-data-can-i-load-into-powerpivot/</guid>
		<description><![CDATA[<p>Recently a question has come up on one of the forums about the number of rows that PowerPivot can load. Clearly PowerPivot can hold a lot – just look at our demos. Millions and millions . . ah . . but how many millions?</p>
<p>The key geek ‘magic’ is the Vertipaq engine. The in-memory Vertipaq engine [...]]]></description>
			<content:encoded><![CDATA[<p>Recently a question has come up on one of the forums about the number of rows that PowerPivot can load. Clearly PowerPivot can hold a lot – just look at our demos. Millions and millions . . ah . . but how many millions?</p>
<p>The key geek ‘magic’ is the Vertipaq engine. The in-memory Vertipaq engine has an extensive array of techniques that it uses for compressing and manipulating the data. Being an in-memory database system means that the more data that we can get in . . the more data we can scan . . the more kinds of applications that we can solve. So compression is a HUGE deal for us.</p>
<p>But folks always want to know the limit. So here goes . . .</p>
<p>it turns out that, as a geek, this is actually a very complicated topic. Our compression algorithms and operations are very dependent on data patterns, data types used and the way the data is organized. So I cannot give you a hard and fast ‘rule-of-thumb’. But what I can tell you is that there is no row limit within the Engine itself. As some may have found out in our early CTP testing last year, the in-memory database can grow to be quite large and we had lots of concerns over that at the time. </p>
<p>There are three areas of practical issues that will likely come up:</p>
<ol>
<li>Even with all of our compression, once you start talking about millions and millions of rows of data, then the resulting .xlsx files will be big. And big files take a long time to move across the network and load into SharePoint. For example, in my demos, I use the Contoso sample database (<a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=868662dc-187a-4a85-b611-b7df7dc909fc" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=868662dc-187a-4a85-b611-b7df7dc909fc">http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=868662dc-187a-4a85-b611-b7df7dc909fc</a>). The Sales table in the database is roughly 4 million rows. The resulting Excel workbook is 120MB. While this seems small by database standards, it is a HUGE workbook by Excel standards. On a single machine, this file takes about a minute to upload to SharePoint –&gt; which likely means that it takes minutes and minutes to upload/download across the public Internet. So one of the things that may limit the number of rows that you can insert into a workbook is your ability to upload/download the data to SharePoint. </li>
<li>Another issue that you will likely run into is that the maximum number of rows that you can load will be limited by the ‘bit-ness’ of your desktop hardware architecture. Remember . . . the PowerPivot add-in runs as an extension of Excel and the PowerPivot Vertipaq in-memory engine loads within the same process space. As 32-bit Excel is limited to a 2GB virtual address space. Once you start adding up all of the uses of that VA, you will find that the largest PowerPivot workbook that you can create on a 32-bit machine is something like 500-700MB. Excel, all of the add-ins, the in-memory database itself and all of the rest just takes up lots and lots of space. Once you run out of VA, you will get an error that looks like this:<br />
<blockquote>
<p>Memory error: Allocation failure : Not enough storage is available to process the command. The Operation has been cancelled.</p>
</blockquote>
<p>and you have hit the ceiling. However, if you tried loading your data on a 64-bit machine, you don’t run into virtual address limits and the in-memory database can grow and grow and grow . . . 64-bit Excel (running on a 64-bit OS) can create a workbook up to 2GB (3-4 times what you can with 32-bit Excel). Maybe it is time to get a new workstation <img src='http://powerpivotgeek.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  (sic) ?? </p>
</li>
<li>Finally, the PowerPivot add-in has a provision that attempts to limit the size of the workbook to be manageable <u>with SharePoint</u>. Since SharePoint has a 2GB maximum file upload size – and our typical “in-memory to workbook” compression runs about 2:1, the add-in won’t allow you to save a workbook if the in-memory is larger than 4GB. We do this to protect the user so he or she does not inadvertently create a workbook that is too large to be uploaded to SharePoint. A user is still limited by the maximum file upload setting (for example, the default maximum size is 200MB in the “New Server” installation), but at least they know that if they got the SharePoint administrator’s approval, their workbook could be loaded. Without this 4GB “Save” limitation, there would be no way that SharePoint could load the file. </li>
</ol>
<p>My basic advice is to give it a try and load up your data. You will be amazed at the amount of data that can be loaded into a PowerPivot database. But like most things in life, if you push too hard, ultimately you will find that you have a limit.</p>
<p>Need more advice? Post a comment with your configuration and let’s talk about it . . .</p>
<p>Enjoy!</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fpowerpivotgeek.com%2F2010%2F08%2F22%2Fhow-much-data-can-i-load-into-powerpivot%2F&amp;linkname=How%20much%20data%20can%20I%20load%20into%20PowerPivot%3F"><img src="http://powerpivotgeek.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://powerpivotgeek.com/2010/08/22/how-much-data-can-i-load-into-powerpivot/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Querying data within the PowerPivot Excel client add-in</title>
		<link>http://powerpivotgeek.com/2010/04/27/querying-data-within-the-powerpivot-excel-client-add-in/</link>
		<comments>http://powerpivotgeek.com/2010/04/27/querying-data-within-the-powerpivot-excel-client-add-in/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 19:48:28 +0000</pubDate>
		<dc:creator>powerpivotgeek</dc:creator>
				<category><![CDATA[Client]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[Sample Code]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://powerpivotgeek.com/2010/04/27/querying-data-within-the-powerpivot-excel-client-add-in/</guid>
		<description><![CDATA[<p>Recently we have been seeing some users complain about how the PowerPivot Excel client add-in deals with queries. There are three limitations that you need deal with when working with SQL (TSQL, PL/SQL, or whatever) and stored procedures:</p>

The result set must have a name associated with each column. If you are not returning the column [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we have been seeing some users complain about how the PowerPivot Excel client add-in deals with queries. There are three limitations that you need deal with when working with SQL (TSQL, PL/SQL, or whatever) and stored procedures:</p>
<ol>
<li>The result set must have a name associated with each column. If you are not returning the column name, then you must assign an SQL alias to the column. Some query tools allow you to work with ordinal numbers for the columns; some query tools assign a name based on the ordinal (e.g. COLUMN_42); some query tools use a combination of the two. The add-in (and the SSAS engine) does not not – it directly binds to the column name.</li>
<li>You cannot have duplicate column names. Each column name must be unique.</li>
<li>You cannot return multiple rowsets. The client add-in only deals with a single rowset. Some tools allow you to return multiple rowsets but only deal with first one; or the last one. In the client add-in, you must have only a single return rowset. If you are entering queries via SQL then this is typically not a problem – but it has serious complications if you are using stored procedures. If you don’t use “SET NOCOUNT ON” at the beginning of your stored procedure, then a rowset is returned for each SELECT expression, even if that expression is just setting a variable. Thus you must have a “SET NOCOUNT NO” at the start of your stored procedure or the stored procedures are likely to fail with the client add-in.</li>
</ol>
<p>I am just sharing the love here . . . the end result is that you might not be able to use all of your existing queries and stored procedures with the PowerPivot Excel client add-in. Being for-warned is for-armed.</p>
<p>And &#8220;Oh&#8230;&#8221; another possibility issue that you might run into is support for variant datatype. The rowset previewer can handle variant data &#8212; but the Engine cannot.</p>
<p>Enjoy.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fpowerpivotgeek.com%2F2010%2F04%2F27%2Fquerying-data-within-the-powerpivot-excel-client-add-in%2F&amp;linkname=Querying%20data%20within%20the%20PowerPivot%20Excel%20client%20add-in"><img src="http://powerpivotgeek.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://powerpivotgeek.com/2010/04/27/querying-data-within-the-powerpivot-excel-client-add-in/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

