tag:blogger.com,1999:blog-55220666690801324842024-03-15T04:17:51.560-04:00Rachael's ThoughtsI am a BI and Analytics professional trying to learn something new every day. I am also a wife, mother and community member in the Greater Boston area, all of these are other areas where I learn something new all the time.
For those who will read old posts, my original plan was to document a series of hikes with my family - especially with my daughter. We never did all of the 4,000 footers in NH, but we've had many wonderful hikes since I originally setup this blog 8 years ago.
Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-5522066669080132484.post-85199203529374241142020-03-22T17:23:00.001-04:002020-03-22T18:55:59.540-04:00PBITest<span style="font-size: large;">Testing embedding Power BI</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: x-small;">This is the first test:</span><br />
<span style="font-size: x-small;"><a href="http://test/" target="_blank">Put the link here</a></span>Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-4457918798187106202017-04-04T16:25:00.004-04:002017-04-04T17:03:34.105-04:00Moving to SEI<h2>
In Motion!<div class="separator" style="clear: both; text-align: center;">
</div>
</h2>
It's a happy announcement: <br />
I joined SEI's Boston Group this week to become part of this strong local consulting firm and its fabulous culture that operates in a variety of industries and areas of specialization with IT.<br />
<br />
It wasn't easy to leave my friends and respected colleagues at <a href="http://pragmaticworks.com/" target="_blank">Pragmatic Works,</a> and I look forward to working with them again in the future.<br />
<br />
Here on my blog I will continue to share what I learn. I fully expect to be learning at least as fast this year than I did last, so hold on here we go!<br />
<br />
<a href="http://sei.com/" target="_blank">If you are curious about what I like about SEI, you should see the new website they've rolled out just in time for my arrival! sei.com</a><br />
<br />
<a href="http://www.sei.com/capabilities/" target="_blank">If you are looking for any IT assistance, please check out our capabilities.</a><br />
<br />Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com9tag:blogger.com,1999:blog-5522066669080132484.post-53064424088270608542017-03-24T19:13:00.000-04:002017-03-24T19:13:57.331-04:00Power BI Gotchas<h3 style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
Answers to some common questions and frustrations for new users of Power BI.</h3>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
I'd like to help
save you some time banging your head and searching the internet by pointing out
some of the issues I've run into when working with clients over the last year.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<h3 style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<b>Data loading and
preparation:</b></h3>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
There are many
articles and blogs about the technical aspects of loading data into Power BI so
I won't cover that here in great detail. However, I would like to call out some
basic data transformations and cleansing activities that can make a big
difference to the experience of report users.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
Once you have
loaded a table check the columns:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo1; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->1.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]--><b>Rename your data columns to use business
terminology in the field names. </b><o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
This isn't a
database, this is a reporting data model and your business users need to be
able to understand the names of the columns.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo2; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]--><b>2.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; font-weight: normal; line-height: normal;">
</span></b><!--[endif]--><b>Add units to your column names. <o:p></o:p></b></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
Again, the
objective here is to make the reports readable and easy to interpret. You don't
want your uses to wonder if you were summing minutes or seconds in the
reporting graphic.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo3; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->3.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]--><b>Remove unnecessary columns:</b><o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
Will the column be
used for reporting? Really think about this, will the users of your reports
NEED to see this column, slice or filter by it? If not, it doesn't belong in
your reporting data model.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo4; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->4.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Remove bad data, or unnecessary data records:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
Will the RECORDS in
your table all be reported on? Again, every record might not have valid data.
Check for this and remove records that are not going to provide good insight in
your reporting.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo5; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->5.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Remove unused records, even from date tables!<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
Are the records
part of the data set you need? Sometimes we load records that go all the way
back years before our reporting range. Unless those records contribute to the
value of information shown in the report, remove them. This is ESPECIALLY true
of the Date or Calendar tables - think about those extra records. This is much
more data than you need to be filtering through for your reports and interactive
visualizations.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo6; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->6.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Use data types wisely:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
Change data types
to be accurate for your business definition of the column. Sometimes colums will come in as whole numbers to Power BI because the sample used to define the
column "sees" only numbers in the first 1,000 rows for the preview.
If this is a text based column, your data load will error when you load the
rest of the data. <o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo7; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->7.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Use Trim if you think there might be leading or
training spaces in your data.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
Once you have
loaded the data there is still preparation to complete. A common question often
comes up right about now though, so let's talk about the </div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<h3 style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
Confusion between
Calculations and Measures:</h3>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
These are similar:
that the engine will calculate them for you, and both can be aggregated in your
reports and visualizations. <b>The key difference is that calculations are
values that are stored in each row of your table, and measures are not
calculated until used in the report context.</b></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo8; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->1.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Creating Calculations and Measures<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
Format your facts
as part of your data model setup:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
Often you will be
told to use custom calculations instead of the default summarization on your
columns.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo9; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->1.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->You will then know, and be able to define in a
data dictionary, exactly how the calculation was built.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo9; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->2.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->However, if you do use default summarization,
there will be a benefit when viewing reports: you will be able to use the
"View records" command to see what records were included in the
aggregate. This does not work for measures.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo10; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->2.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Sometimes you need to create a new column as part
of each row:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
For example, you
might want to calculate Amount as a Quantity * Price - that is a calculated
column<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo11; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->1.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->The "context" of the calculation is the
row - always<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo11; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->2.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Created on data load and stored just like other
columns loaded by Power Query<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo12; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->3.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Sometimes you want to show calculation results
that change as we interact with our reports:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
You might need to
know the maximum Amount which is max(Quantity * Price), but when reviewed
across all rows for orders placed within the current Year it will give a
different answer than when viewed for all orders within a given City.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo13; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->1.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->In this case the "context" is all of
the rows that are being evaluated, and which rows will be determined by
"where" the measure is being used<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo14; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -83.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Used as a value in a chart by dates, it might be
the max Amount per Year, then you might drill down to max by Quarter and max by
Month <o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo14; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -83.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Used as a value in a Geographic map, it might be
the max Amount in the Region, then drill down to a given State or Province,
City, etc…<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
Reference: <a href="http://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/"><span style="color: blue;">http://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/</span></a><o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<h3 style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
Some other
important and sometimes confusing features:</h3>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<span style="text-indent: -0.25in;">1.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">Go through and format your facts as part of your
data model setup</span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo16; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Set default summarization.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo16; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Set the format to use for showing the fields<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
It is easier to do
all of these steps for all of your columns at one time so that your reports
look great from the start and you will know that the standard has been
implemented. It is still likely that you will need to return to update or fix
some which you can do a t any time.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->2.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Create Groups:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
You can categorize
your records automatically by creating groups that become a new column in your
table. "Other" as a category allows for new data values added in your
incoming data. Be sure to check overtime that you don't need to add a new
category though.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->3.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Create Hierarchies:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo17; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Creating a hierarchy is something people do <i>accidentally</i>
all of the time, then they worry about damaging their data model by deleting
them. Don't worry if you get an accidental hierarchy with an unintended
drag/drop of a column in the Fields list, just go ahead and delete that
hierarchy - your fields will stay as they were.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo17; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->To create an intentional hierarchy drag a lower
level field over to the highest level in the hierarchy and drop it there. There
will be a yellow dotted line shown where it will drop. Each other column added
to the "pile" will be added at the bottom. <o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo17; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>iii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->If necessary rearrange them by dragging them up
or down, or delete one using the "x" to the far right.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo17; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>iv.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Adding a Hierarchy to the axis of a visualization
will enable drop down.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo17; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>v.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->In the axis of a graph - you can remove levels of
hierarchy that are not desired for that graph without any effect on the
hierarchy.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->4.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Even if you set the format of your column, you
may need to set the visual scale on each individual visualization settings:
None, Thousands. Pay attention to this, it makes a big difference to
readability<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->5.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->You can now "See Data" AND "See
Records"<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo18; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->See Data will show the values that are in the
visualization - as a table.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo18; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->See Records will show the table records that
comprise the aggregations that are shown in the graph. Every record in it's
entirety.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo18; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>iii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->As mentioned above, "See Records" only
works with data elements (including calculated columns?) not with measures that
can be summarized<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo18; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>iv.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Trick - if you want a count as your visual value,
but your data doesn't have a uniquely identifying column to "count",
create a column that can be summarized for the counting (like
"Trips") and default it to the value of 1. You can then sum or count
the values in this column to know how many unique "trips".<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->6.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->If you create a visualization (a bar chart) and
the values are the same in every data point you have probably forgotten to
create your relationships. You can draw them on the Relationships tab, or us
the Manage Relationships dialog box from the Home ribbon bar.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->7.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->How to review your relationships:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
If you have many
tables and many relationships and want to review them all quickly, the dialog
box from Manage Relationships may be the better choice, as it is quickly
scanned for errors in column names, etc.…<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->8.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Single and "Both" direction filtering
make a big difference in some reports:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo19; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Single direction filtering enables the value from
one slicer or visual to affect the values on the related table. However,
filtering the second table by another value will not affect the values shown
from the slicer.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo19; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->The best way to visualize this is to see 2
slicers from two dimensional tables and when the dimensions are both single
direction, the two slicers will not affect each other. <o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo19; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>iii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->If the 2 dimensions are "Both"
direction filtering, then selecting a value from one will affect the values
shown from the other.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->9.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Drill down in charts<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo20; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->There are 3 drill down buttons on a chart that
contains hierarchies:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo20; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->The single down arrow button is a toggle to turn
drill down on, when on selecting a value in the chart will "drill
down" to the next level.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo20; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>iii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->The double arrow will drill down to the next
level, aggregating at that level ONLY:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level4 lfo21; mso-text-indent-alt: -.25in; tab-stops: list 2.0in; text-indent: -83.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Ex: if you go from showing 3 years of data down
to showing months, the values for each month will be the aggregate of all of
the month's values for every year, all together<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo21; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>iv.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->The forked arrow aggregates at the <i>combination
of</i> the level above and the new level:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level4 lfo22; mso-text-indent-alt: -.25in; tab-stops: list 2.0in; text-indent: -83.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Ex: if you go from showing 3 years down to
months, you will see the values for each month of every year.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->10.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->A Date table enables time calculations if certain
criteria are met: <o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo23; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->A date column must have a date data type<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo23; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->The date column must show a continuous value for
every date in the time period (ex: 1/1/2017, 1/2/2017, …)<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo23; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>iii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->For any time intelligence calculations to work:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level4 lfo24; mso-text-indent-alt: -.25in; tab-stops: list 2.0in; text-indent: -83.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Joins with the date table must be made on the
date column - NOT on a surrogate key.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level4 lfo24; mso-text-indent-alt: -.25in; tab-stops: list 2.0in; text-indent: -83.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->The <i>values </i>in the time calculation must
also be continuous. If you are aggregating ParallelPeriod values, you must be
doing it across a dataset that has a value for every date in the time period.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level2 lfo15; tab-stops: list 1.0in; text-indent: -.25in; vertical-align: middle;">
<!--[if !supportLists]-->11.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Why isn't my calculation working?<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo25; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Check your calc - of course, but if you don't
find anything<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 56.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level3 lfo25; mso-text-indent-alt: -.25in; tab-stops: list 1.5in; text-indent: -56.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Save some time by reviewing your:<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level4 lfo26; mso-text-indent-alt: -.25in; tab-stops: list 2.0in; text-indent: -83.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Page and Report filters<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level4 lfo26; mso-text-indent-alt: -.25in; tab-stops: list 2.0in; text-indent: -83.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Visualization filters<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 83.9pt; margin-right: 0in; margin-top: 0in; mso-list: l0 level4 lfo26; mso-text-indent-alt: -.25in; tab-stops: list 2.0in; text-indent: -83.9pt; vertical-align: middle;">
<!--[if !supportLists]--><span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span>iii.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;">
</span><!--[endif]-->Whether you have Relationship filtering in Single
or Both directions<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 29.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
These are some of
the "gotchas" that can waste your time when you create your reports
and can cause your users confusion when they use your reports.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
Are there others
that you've spent time resolving that you'd like to share?<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; margin-left: 2.9pt; margin-right: 0in; margin-top: 0in;">
</div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com3tag:blogger.com,1999:blog-5522066669080132484.post-90409693464434963922016-12-12T11:38:00.001-05:002016-12-12T11:59:45.156-05:00Reading SAS files from Power BI using R Script<div class="MsoNormal">
Recently I have been working to read SAS files (sas7bdat file format) in Power BI. SAS technical support and the Power BI community team have both worked with me to attempt to use the <a href="http://support.sas.com/downloads/browse.htm?cat=40" target="_blank">SAS Local Provider for OLE DB</a> which is the <u>only provider that does not require a SAS server</u>.<br />
<br />
We were able to use the SAS Local Data Provider 9.44 in Excel by using the Data Connection Wizard to access Data Link Properties and to read the sas7bdat data into Excel as a data source (see details on this at the bottom of this post).<br />
<br />
However, following similar steps in Power BI lead to an error message because "the SAS Local Provider for OLE DB does not 'like' the GetOleDbSchemaTable method. (quote from SAS Technical support):<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLkHecGWe_y-i-fDA3VzgLGm28X90vF3PuzEg4DZ_gxpP3oLwVs3TarXQVirCUBU5zIsKQOdZuJVmrk4QwHocwxsY2jDW3CHkfNlYSv3wR1TDgEizscaGlXy-rrw_KxJjKKL9WSfzMrQ8a/s1600/Error+Message.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="(Text of error: "The 'SAS Local Data Provider 9.44' provider is not registered on the local machine.")" border="0" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLkHecGWe_y-i-fDA3VzgLGm28X90vF3PuzEg4DZ_gxpP3oLwVs3TarXQVirCUBU5zIsKQOdZuJVmrk4QwHocwxsY2jDW3CHkfNlYSv3wR1TDgEizscaGlXy-rrw_KxJjKKL9WSfzMrQ8a/s400/Error+Message.png" title="" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Error Message<br />
Text of error: "The 'SAS Local Data Provider 9.44' provider is not registered on the local machine."</td></tr>
</tbody></table>
Now, this error seems actionable until you remember that we just used the provider to connect from Excel. This is due to the use of the GetOleDbSchemaTable method and we could not find a way to work around this problem in Power BI.<br />
<br />
I have submitted this as a support ticket to Microsof and I look forward to their response on how to get a supported connection to SAS files.<br />
<br />
<i>The next step is to find another way:</i></div>
<div class="MsoNormal">
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;">Loading
Data into the Dashboard file using R Script:</span><br />
<span style="font-size: 21.3333px;"><br /></span>
The best method I have found so far to read SAS files into Power BI is using R script:<br />
<a href="https://businessintelligist.com/2016/09/09/reading-sas-sas7bdat-files-in-power-bi/">https://businessintelligist.com/2016/09/09/reading-sas-sas7bdat-files-in-power-bi/</a><br />
<br />
1)<span class="Apple-tab-span" style="white-space: pre;"> </span>Locate your SAS Data set files (you can download a sample set in ZIP format from: <a href="http://www.principlesofeconometrics.com/sas.htm">http://www.principlesofeconometrics.com/sas.htm</a>)<br />
<br />
2)<span class="Apple-tab-span" style="white-space: pre;"> </span>Install R locally (I have been using R 3.3.2 from CRAN (<a href="https://cran.r-project.org/bin/windows/base/">https://cran.r-project.org/bin/windows/base/</a>)<br />
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"></span><br />
3)<span class="Apple-tab-span" style="white-space: pre;"> </span>Install Power BI Desktop locally:</div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzHVglMdmh3_fbNdXMKn18Qpamt6rLx2qWwVKiAdX_28iT6oKsVXx-PRTV7WdNGEz8VezKg7r0EaQ1bsCzWlpg0JQJ3VoHynMKV1A24YVvXzRAFz76FnbEz3D7GdoSrJgNhS3ohQY5yWdQ/s1600/Download+Power+BI+Desktop.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzHVglMdmh3_fbNdXMKn18Qpamt6rLx2qWwVKiAdX_28iT6oKsVXx-PRTV7WdNGEz8VezKg7r0EaQ1bsCzWlpg0JQJ3VoHynMKV1A24YVvXzRAFz76FnbEz3D7GdoSrJgNhS3ohQY5yWdQ/s400/Download+Power+BI+Desktop.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Download Power BI Desktop from http://app.powerbi.com</td></tr>
</tbody></table>
<br />
4)<span class="Apple-tab-span" style="white-space: pre;"> </span>Open Power BI, and first, set your version of R
in Options and Settings:
<br />
<div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->a.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Click
the “x” in the upper right corner of the splash dialog box to close it:<o:p></o:p></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvIfo_HofYgUfZiBhgB-YVOswkGJBt1CoyQCVdVBr-ou1DsfWjFnvSwZbH0qPdkvMW7Mc-fJbUDSSa2a5onftsOVqlEdiSCbg-EwzYXh0z_xj3ZpEcGabJDUu-8qI8lRNMLfS1E4nr048x/s1600/Power+BI+close.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvIfo_HofYgUfZiBhgB-YVOswkGJBt1CoyQCVdVBr-ou1DsfWjFnvSwZbH0qPdkvMW7Mc-fJbUDSSa2a5onftsOVqlEdiSCbg-EwzYXh0z_xj3ZpEcGabJDUu-8qI8lRNMLfS1E4nr048x/s400/Power+BI+close.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Close the Power BI Desktop dialog box</td></tr>
</tbody></table>
<!--[if !supportLists]-->b.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Select File -> Options and Settings ->Options -> R Scripting<br />
<!--[if !supportLists]-->c.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->You
should be able to select your installed R version from the Detected R home
directories list and Detected R IDEs<br />
5)<span class="Apple-tab-span" style="white-space: pre;"> </span>Now, setup the data source for your Power BI solution:
<br />
<div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->a.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Drop
down Get Data and select More… -> Other –> R Script, then the Connect
button<o:p></o:p></div>
<div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->b.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->The
Execute R Script dialog box provides an input location for the following script
which will set the working directory, access the library and read the file into Power BI:<o:p></o:p><br />
<script src="https://gist.github.com/anonymous/c8aee4e90dba2bba08d7a30e077c766f.js"></script><br />
<br /></div>
<div class="MsoListParagraph" style="margin-left: 1.5in;">
<br /></div>
<div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->c.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Click
OK to see the content of the SAS file, select the table(s) to load (multiple table files haven’t been tested by
me using R Script) <o:p></o:p></div>
<div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;">
<!--[if !supportLists]-->d.<span style="font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Select
to Load the data directly, or Edit to use the Query Editor to filter, clean,
reformat or otherwise transform the data for this and all future data loads.<o:p></o:p><br />
<span style="text-indent: -0.25in;"><br /></span></div>
<span style="text-indent: -0.25in;">6)</span><span style="font-size: 7pt; font-stretch: normal; line-height: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">Click Close & Apply when the data set is
complete and you are ready to use it in Power BI</span>
<br />
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraph" style="margin-left: 1.5in;">
<o:p> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJqKTe06Cqo_nBydfI77vQf9g0-ji0-Xdd_dYg9FkQ708TZrUy84R-IgyEvuq7Yb9f3n3KqQpNuF4RW2DaEdPdxcJdNPcoW7_S2F7T1sJ-vmLYE9YWkrl3QlmwmiG3HF1RWA0PCGQ83r_t/s1600/Airlines+graph.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJqKTe06Cqo_nBydfI77vQf9g0-ji0-Xdd_dYg9FkQ708TZrUy84R-IgyEvuq7Yb9f3n3KqQpNuF4RW2DaEdPdxcJdNPcoW7_S2F7T1sJ-vmLYE9YWkrl3QlmwmiG3HF1RWA0PCGQ83r_t/s400/Airlines+graph.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Graph using Airline data from SAS file</td></tr>
</tbody></table>
</o:p></div>
<div class="MsoNormal" style="margin-left: .25in;">
<!--[if gte vml 1]><v:shape
id="Picture_x0020_4" o:spid="_x0000_i1025" type="#_x0000_t75" style='width:645.75pt;
height:345pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/RACHAE~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;"><br /></span>
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;">Using
a faster library:<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #0d0d0d;">I have found some information that haven is
a faster library than sas7bdat, the sample files for SAS that I have access to are not sufficient to test this, but the haven library works very well:</span></div>
<div class="MsoNormal">
<a href="http://stackoverflow.com/questions/30006822/read-sas-sas7bdat-data-into-r">http://stackoverflow.com/questions/30006822/read-sas-sas7bdat-data-into-r</a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #0d0d0d; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: minor-fareast; mso-no-proof: yes; mso-themecolor: text1; mso-themetint: 242;">Using haven the script changes to reference
the haven library (<a href="https://cran.r-project.org/package=haven">https://cran.r-project.org/package=haven</a>)
and to use the read_sas function to read the SAS file from that library as you
can see in this sample to read another data file, USA:<o:p></o:p></span></div>
<div class="MsoListParagraph" style="margin-left: 1.5in;">
<span style="text-indent: -24px;"><script src="https://gist.github.com/anonymous/fffdde39fcb35ec4b04107b4e9912ed3.js"></script></span></div>
<div class="MsoNormal">
<span style="color: #0d0d0d; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: minor-fareast; mso-no-proof: yes; mso-themecolor: text1; mso-themetint: 242;">I am very interested to know what the
results are using production size and complex datasets, and am willing to
help in anyway that I can if you have questions about using this method.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 16.0pt; mso-bidi-font-size: 11.0pt;">Publishing
and Refresh of data:<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #0d0d0d; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: minor-fareast; mso-no-proof: yes; mso-themecolor: text1; mso-themetint: 242;">The Power BI solution can be published to <a href="http://app.powerbi.com/">http://app.Powerbi.com</a> using the Publish
button. The R Script has imported the dataset, so that will be published to the
Power BI Service along with the reports.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #0d0d0d; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: minor-fareast; mso-no-proof: yes; mso-themecolor: text1; mso-themetint: 242;">R Script as a data source does not yet support
refresh. There is a setting for refreshing data from Files, but that does not
work for R Script as a source, it is for CSV, etc…<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoListParagraph" style="margin-left: 1.5in;">
<br /></div>
<div class="MsoNormal">
<span style="color: #0d0d0d; mso-fareast-font-family: "Times New Roman"; mso-fareast-theme-font: minor-fareast; mso-no-proof: yes; mso-themecolor: text1; mso-themetint: 242;">Rachael<o:p></o:p></span></div>
Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com33tag:blogger.com,1999:blog-5522066669080132484.post-29512613026068324012016-10-11T20:41:00.007-04:002016-10-13T15:03:13.406-04:00Azure Cloud Based Analytics<h3 class="post-title entry-title" itemprop="name" style="background-color: #fefdfa; color: #d52a33; font-family: Georgia, Utopia, "Palatino Linotype", Palatino, serif; font-size: 22px; font-stretch: normal; font-weight: normal; line-height: normal; margin: 0px; position: relative;">
</h3>
<div style="background-color: #fefdfa; font-family: georgia, utopia, "palatino linotype", palatino, serif; font-size: 22px; font-stretch: normal; font-weight: normal; line-height: normal; margin: 0px; position: relative;">
<b style="font-family: arial, helvetica, sans-serif; font-size: 14px;"><a href="https://drive.google.com/open?id=0B5fNMvDO9OVwVjhUWUNSbFFnaUE" target="_blank">What are the benefits of moving our analytics to the cloud?</a> (link to presentation slides)</b></div>
<div style="background-color: #fefdfa; border-bottom: 1px solid transparent; font-stretch: normal; line-height: normal; margin: 0px; padding: 0.6em 0px 0.5em; position: relative;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: 14px;">The elements of analytics are the same whether on premises or in the cloud. Cloud based tools for analytics can provide a platform that is far more extensible, economical and powerful than traditional on-premise. This session will review some cloud analytics use cases and how the tools from Microsoft combine to create business insight and value.</span></div>
<div>
<div style="margin: 0in;">
<div style="font-family: calibri;">
<span style="font-family: "calibri";"><b>Azure Cloud Tools</b></span><br />
<span style="font-family: "calibri";">Microsoft Intelligence (edited, previously Cortana Intelligence Suite) is a powerful combination of cloud based tools that manage data, provide analysis capability and store or visualize results. Together these tools represent the six elements of data analytics.</span></div>
</div>
<div style="font-family: calibri;">
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
<div style="margin: 0px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_GosZ-u54qSnsfEi41BNLeJ1Tcc8teCKXBJxRHkTir4A2nitmhOXfzJKup3MJWuX4bvqIORQM9MMS9RfmV7ZEY0LUrefQZ7Lk0FCpcBGYlYBEoh7_bNb-svO3yV5b3KTwhes0kgmrUfhv/s1600/Cortana+Intelligence.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_GosZ-u54qSnsfEi41BNLeJ1Tcc8teCKXBJxRHkTir4A2nitmhOXfzJKup3MJWuX4bvqIORQM9MMS9RfmV7ZEY0LUrefQZ7Lk0FCpcBGYlYBEoh7_bNb-svO3yV5b3KTwhes0kgmrUfhv/s400/Cortana+Intelligence.png" width="400" /></a></div>
<span style="font-family: "calibri"; font-size: 12pt; vertical-align: baseline;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="font-family: calibri;">
<span style="font-family: "calibri"; font-size: 12pt; vertical-align: baseline;"></span><br /></div>
<div style="margin: 0px;">
<div style="font-family: calibri;">
The talk on Data Based analytics includes a demonstration of Data Lake, PolyBase, Azure SQL Data Warehouse, <a href="http://app.powerbi.com/" target="_blank">Power BI</a>, and <a href="http://studio.azureml.net/" target="_blank">Azure Machine Learning</a>. The links to Power BI and Azure ML will take you to the apps, each has a free account you can sign up and use for testing. I encourage you to sign up for the free offer for $200 in Azure Credits (United States based offer, at the time of this posting Oct. 11, 2016).<br />
<br /></div>
</div>
</div>
</div>
</div>
<div style="margin: 0in;">
<div style="font-family: calibri;">
<span style="font-family: "calibri";"><b>Analytics projects</b></span><br />
<span style="font-family: "calibri";"><a href="http://searchbusinessanalytics.techtarget.com/news/2240019778/Gartner-The-six-elements-of-cloud-analytics-and-SaaS-BI" target="_blank">According to Gartner analytics projects include 6 elements</a> and there are common challenges for each of these elements that must be addressed in any analytics project:</span><br />
<span style="font-family: "calibri";"><br /></span>
<span style="font-family: "calibri";"> 1. Data sources - volume alone and the need to move large data sets</span><br />
<span style="font-family: "calibri";"> 2. Data models - complexity of setup as they simulate business processes</span><br />
<span style="font-family: "calibri";"> 3. Processing applications - data cleansing, remediation of bad data</span><br />
<span style="font-family: "calibri";"> 4. Computing power - analysis requires considerable power</span><br />
<span style="font-family: "calibri";"> 5. Analytics models - design of experiments and management of the models, model complexity</span><br />
<span style="font-family: "calibri";"> 6. Sharing and storage of results - informative visualizations and results embedded in applications</span><br />
<span style="font-family: "calibri";"><br /></span>
<span style="font-family: "calibri";">Tools provided by cloud vendors provide assistance and in some cases, with far superior solutions to these issues.</span><br />
<span style="font-family: "calibri";">The Cloud analytics tools are designed to address the challenges we’ve been discussing:</span><br />
<span style="font-family: "calibri";"> 1) Scalability: Agility/ Flexibility</span><br />
<span style="font-family: "calibri";"> -large data sources –power them off when not in use</span><br />
<span style="font-family: "calibri";"> - heavy computing capability – pay only for what you use</span><br />
<span style="font-family: "calibri";"> - Stand up a new environment – pilot a new capability</span><br />
<span style="font-family: "calibri";"> - integrate data sources with multiple visualization and analytics environment</span><br />
<span style="font-family: "calibri";">2) Economy –</span><br />
<span style="font-family: "calibri";"> - less expensive to stand up than hardware and software,</span><br />
<span style="font-family: "calibri";"> - fewer skills necessary in house for implementation, configuration, integration, use,</span><br />
<span style="font-family: "calibri";"> - management and maintenance of systems</span><br />
<span style="font-family: "calibri";">3) Security</span><br />
<span style="font-family: "calibri";"> - Azure is designed for security from the ground up</span><br />
<span style="font-family: "calibri";"> - Microsoft spends $1B a year on security research – more than most security firms</span><br />
<span style="font-family: "calibri";"> - identity based security throughout the stack</span><br />
<span style="font-family: "calibri";"><br /></span>
<span style="font-family: "calibri";"> - protection for disaster recovery, regulatory specific platforms to address security needs</span><br />
<span style="font-family: "calibri";">4) Capability</span><br />
<span style="font-family: "calibri";"> - Integration with desktop tools for embedding visualizations, integrating predictive analytics</span><br />
<span style="font-family: "calibri";"> - Consumer technology style interfaces enable faster learning and require fewer skills than script based on premises tools</span><br />
<span style="font-family: "calibri";"> - Collaboration enabled by ties across Office 365 tools and Mobile capabilities</span><br />
<span style="font-family: "calibri";"> - Powerful servers can simply process far more data and analysis than most local servers</span><br />
<span style="font-family: "calibri";"><b><br /></b></span></div>
</div>
<div style="font-family: calibri;">
<div style="direction: ltr; font-family: calibri; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
<div style="margin: 0px;">
<span style="font-family: "calibri";"><b>How can my business benefit from analytics in the cloud?</b></span><br />
<span style="font-family: "calibri";">Data, provided and used as a valuable asset of the firm provides leverage employees apply to problem solving activities. Fact based trend prediction leads to insights that provide business value.</span><br />
<span style="font-family: "calibri";">Businesses taking advantage of the cloud to benefit from increased cloud computing power, the ability to handle large data sets and for the mobility provided by access to the analytics platform from any location.</span><br />
<div style="font-family: calibri;">
<br /></div>
</div>
</div>
<div style="font-family: calibri;">
<div style="font-family: calibri;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsC0_ibZXRv9JPXyBi0oxRG88RXXxRZ_Q3kEUhlP4qps7nhJzO1PIq-pux2c_QaYUlDyTqsS2_D8NR0R-Dd3PbQPukxLlZ6ygWinxOKPfzYulvQhyPovTwFciLeZQodRFs6RyTeZWi0hM5/s1600/Business+benefits.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsC0_ibZXRv9JPXyBi0oxRG88RXXxRZ_Q3kEUhlP4qps7nhJzO1PIq-pux2c_QaYUlDyTqsS2_D8NR0R-Dd3PbQPukxLlZ6ygWinxOKPfzYulvQhyPovTwFciLeZQodRFs6RyTeZWi0hM5/s400/Business+benefits.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
</div>
<div style="font-family: calibri;">
<div class="separator" style="clear: both; font-family: calibri; text-align: center;">
</div>
<div style="font-family: calibri;">
<br /></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";">Other articles that may help to answer this question are:</span></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";"><a href="https://www.kaggle.com/wiki/DataScienceUseCases" target="_blank">Kaggle Data Science Use Cases</a></span></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";"><a href="http://www.predictiveanalyticsworld.com/patimes/four-use-cases-for-healthcare-predictive-analytics-big-data-0422153/5218/" target="_blank">Four Use Cases for Healthcare Predictive Analytics, Big Data</a></span></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";"><a href="https://azure.microsoft.com/en-us/blog/azure-stream-analytics-innovative-use-cases-by-customers/" target="_blank">Innovative Azure Stream Analytics customer use cases</a></span></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";"><br /></span>
<span style="font-family: "calibri";"><b>Power BI is a great starting point for moving analytics to the cloud</b></span></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";">Power BI brings many customers their first exposure to cloud analytics. Companies find multiple benefits of collaboration between users, mobile access, and the experience of adopting a new way to use data. Workspaces provide secure areas to work together on Power BI solutions and are linked to Exchange groups and OneDrive folders where other collateral can be shared.</span></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";"><br /></span>
<span style="font-family: "calibri";"><b>Storage in the cloud </b></span></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";">Using Azure cloud based storage is relatively inexpensive, remotely accessible from anywhere, secure and in coming data is free (data moving out of your region is charged). Large data sets can be managed in Azure Blob Storage, Azure Data Lake, Azure SQL DW and Azure SQL Database.</span></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";"><b><br /></b></span>
<span style="font-family: "calibri";"><b>Predictive Analytics with Azure Machine Learning</b></span></div>
<div style="font-family: calibri;">
<span style="font-family: "calibri";">Azure ML provides a friendly tool for building machine learning experiments, cleaning and visualizing data. The environment provides familiar analytic tools for R and Python scripting, built in models for statistical analysis and a process for encapsulating trained models in web services as predictive experiments. Integration with Excel and other applications is simplified by the web service interface.</span></div>
<div style="font-family: calibri;">
<div style="font-family: calibri;">
<br /></div>
<div style="font-family: calibri;">
<b><u>Questions:</u></b></div>
<div style="font-family: calibri;">
<b>Q1) In the PolyBase example does modeling the data by casting columns hinder performance of the data load in the "Create Table As" (CTAS) statement?</b></div>
<div style="font-family: calibri;">
<i again="" against="" am="" an="" and="" answer.="" any="" dw="" get="" having="" i="" m="" my="" on="" one="" queries="" running="" still="" this="" to="" tomorrow="" tonight="" trouble="" try="" will="" working=""></i></div>
<div style="font-family: calibri;">
<i>(Original posting left this question unanswered, edited to add the answer below)</i><br />
In creating the External Table the columns must be of the same data type.<br />
<br />
However, when querying the external table to use CTAS to populate a SQL DW table I found that using cast to change the datatype of the column was <b><u>faster to complete the new table creation</u></b>. This was true for two cases, one where I converted in the input column varchar2(20) to an Int and another where I converted the input varchar(100) to a Date data type. I suspect this is due to the increased speed of input for Int and Date data types over varchars, but it indicates that the original query time isn't different.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHmReQCZlCDHRAohC0Bp-IeY6qKVMKyGnV2Ci3lGliFHyGLnT5N1uERGHH4AxE5G4uAWTspnVygpAPXaj3WnSUxaZRYWLnATWJuWagG3XSACAvYobzs3jmL5rjk__AE91yHZuju1DEcEWU/s1600/SpeedOfQuery.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="88" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHmReQCZlCDHRAohC0Bp-IeY6qKVMKyGnV2Ci3lGliFHyGLnT5N1uERGHH4AxE5G4uAWTspnVygpAPXaj3WnSUxaZRYWLnATWJuWagG3XSACAvYobzs3jmL5rjk__AE91yHZuju1DEcEWU/s320/SpeedOfQuery.png" width="320" /></a></div>
<br />
<i><br /></i></div>
<div style="font-family: calibri;">
<b>Q2) Is it simple to switch from cold to hot in Azure Blob Storage?</b></div>
<div style="font-family: calibri;">
<br /></div>
<span style="font-family: "calibri";">The Azure hot storage tier is optimized for storing data that is accessed frequently. The Azure cool storage tier is optimized for storing data that is infrequently accessed and long-lived. <a href="https://azure.microsoft.com/en-us/documentation/articles/storage-blob-storage-tiers/" target="_blank">- Microsoft documentation </a></span><br />
<span style="font-family: "calibri";">In regions where these settings have been enabled (not East yet), they can be changed in the Configuration blade of the Storage Account.</span><br />
<div style="font-family: calibri;">
<br /></div>
<div style="font-family: calibri;">
<b>Q3) When to use Data Lake in comparison to Blob Storage.</b></div>
<div style="font-family: calibri;">
<br /></div>
<div style="font-family: calibri;">
In the demo for this talk I read the NYC 2013 Taxi data from the 12 - 2+GB CSV files into Azure SQL DW using CTAS. At this time, Data Lake is still in preview, and we cannot yet use CTAS with Azure Data Lake. This forced me to use Azure Blob Storage.</div>
<div style="font-family: calibri;">
Additoinal differences are that Data Lake is optimized for parallel analytics workloads and for high throughput and IOPS. Where Blob Storage is not optimized for analytics but is designed to hold any type of file. Data Lake will hold unlimited data and Blob Storage is limited to 500TB. There are cost differences too, I recommend the <a href="https://azure.microsoft.com/en-us/pricing/calculator/?service=storage" target="_blank">Azure Pricing Calculator</a>.</div>
<div style="font-family: calibri;">
<br /></div>
<div style="font-family: calibri;">
I recommend the Microsoft article <a href="https://azure.microsoft.com/en-us/documentation/articles/data-lake-store-comparison-with-blob-storage/" target="_blank">Comparing Azure Data Lake Store and Azure Blob Storage</a> for details.</div>
<div style="font-family: calibri;">
<br /></div>
</div>
</div>
</div>
</div>
Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com467tag:blogger.com,1999:blog-5522066669080132484.post-29013168336804873082016-09-28T10:38:00.005-04:002016-09-29T09:04:33.592-04:00Performance Tips and Techniques for Power BI and Power Query (update)<h2>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://drive.google.com/open?id=0B5fNMvDO9OVwVERSc3lCQzhJMTg" target="_blank">Power BI Performance Tips and Techniques update:</a></span></h2>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Back in March of this year I created <a href="http://blog.pragmaticworks.com/power-bi-performance-tips-and-techniques" target="_blank">an article and a webinar for the Pragmatic Works Blog</a>.</span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">The original concepts still hold, Power BI and Excel Power Query are very powerful tools for building data models and sharing data discovery and visualizations. </span><span style="font-family: "arial" , "helvetica" , sans-serif;">As you move from initial prototyping to a more mature model you may find that performance can be bogged down if you don't manage the structure of your reporting information.</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span><a href="https://drive.google.com/open?id=0B5fNMvDO9OVwVERSc3lCQzhJMTg" style="font-family: arial, helvetica, sans-serif;" target="_blank">This talk provides Tips and Techniques to manage this information (link to updated slides).</a><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM03JDv1BQ2-kwFBSBK_w2HDe7Jj5XYzEVjUhgRn0cUm8YRHdg0wEsGVbkwwIB_5dUMuU67wpsuaTBfj4bH04ZMbkQyP57PqY0lNMTkBtqXVrT_xPOpSJ95ljmTT-zTJUi8HfEZyggQivI/s1600/Slicer+delays.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM03JDv1BQ2-kwFBSBK_w2HDe7Jj5XYzEVjUhgRn0cUm8YRHdg0wEsGVbkwwIB_5dUMuU67wpsuaTBfj4bH04ZMbkQyP57PqY0lNMTkBtqXVrT_xPOpSJ95ljmTT-zTJUi8HfEZyggQivI/s400/Slicer+delays.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Since the original webinar I have presented this topic at a few user groups and SQL Saturdays and was asked some very good questions.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">I'd like to answer these questions here, and to <a href="https://drive.google.com/open?id=0B5fNMvDO9OVwVERSc3lCQzhJMTg" target="_blank">update the slide deck as well.</a></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">1) In Providence at the BI User Group I was asked: What happens in Kasper de Jonge's Memory Usage Tool macro when there is a join between two queries loaded into the model?</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2B5JO_94YnNDCnEN9KJqLs9b1qA3x1O7L3osZJKj0xIVYDYnnfXa8850XcVyCrVJcNzXF4L9WMe9AUh8d13dUSp6t0jikL-Vwn4oSTH5VMFPLHzLN6_4rXv0EzxArQiVj4bu6BpV2Ifyj/s1600/Joined+Tables.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2B5JO_94YnNDCnEN9KJqLs9b1qA3x1O7L3osZJKj0xIVYDYnnfXa8850XcVyCrVJcNzXF4L9WMe9AUh8d13dUSp6t0jikL-Vwn4oSTH5VMFPLHzLN6_4rXv0EzxArQiVj4bu6BpV2Ifyj/s400/Joined+Tables.png" width="400" /></a></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">If the join is done in the data load, the data model contains only one table, as in the example discussed in the original presentation.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">If there is a relationship created between two tables loaded in to memory, the joined tables are both shown in the pivot tables that result from the macro, and how much memory taken by each column is shown as a datatype and total for the column.</span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">2) In NYC at the Power BI User Group a member asked: Does the HierarchySlicer cause performance problems?</span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">To test this, I used a data table with nearly 14M rows linked to a Date table. Power BI connected via direct query to SQL Server 2016. </span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKBOIiWL0iiCg3OxR27AohfeG-ZU2-zQkYDh3nemQwX-SX-3BT_CiLZNkzuAR-ftqj5AKO4Ks-q54wwKCNJsD2l8_jm15Uqo5Abn3_LLhaVJ1QDaeSErRewN4SbnJESSbTf4VQ_RGyZU3/s1600/Hierarchy+slicer+test.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="327" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKBOIiWL0iiCg3OxR27AohfeG-ZU2-zQkYDh3nemQwX-SX-3BT_CiLZNkzuAR-ftqj5AKO4Ks-q54wwKCNJsD2l8_jm15Uqo5Abn3_LLhaVJ1QDaeSErRewN4SbnJESSbTf4VQ_RGyZU3/s400/Hierarchy+slicer+test.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">The Hierarchy Slicer (HierarchySlicer.0.7.9.pbiviz) at Year / Month on the Date table compared to a "flat" YearMonthName non hierarchical slicer. In this case, each new slicer selection took about 2 seconds to repopulate the summary table to the left. The two took the same amount of time, <i>I did not see a difference in performance.</i></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">3) At SQL Saturday in Dallas this question came up: Is the SSAS formula engine still single threaded in Power BI on the portal as it is on the desktop? The SSAS engine is the same in Power BI on app.powerBI.com as it is on your local drive. There would not be an improvement on calculations caused by multi-threading, although the local machine may or may not have more resources to dedicate to the formula engine thread.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Thank you all for the great questions, please comment on others questions or if you have more information!</span></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com14tag:blogger.com,1999:blog-5522066669080132484.post-22223822217307751212016-07-08T11:19:00.004-04:002016-07-08T11:24:11.391-04:00World Class Data Organizations and SQL Server 2016<br />
World Class Data Organizations (WCDO) intentionally invest in and build their data cultures to create business value. These businesses integrate data into daily activities beyond report or dashboard reviews. Employees know what data elements represent, how to access them, and how to use them to create new insights.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0HCyyS6ZqvhXfUlD2uPKvjsOTAf_oH7iiPS2IGnqAqrx3i8g21Lb90KRTU73pQhr93wcYLtC7M53_-nNv0mYp1N1HkVvwKjn3HYbg-Kso7HPp28-ccYmtR95hMAFk1IEuGIOdxdwU-ghJ/s1600/Data+Asset+to+Insight+Loop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0HCyyS6ZqvhXfUlD2uPKvjsOTAf_oH7iiPS2IGnqAqrx3i8g21Lb90KRTU73pQhr93wcYLtC7M53_-nNv0mYp1N1HkVvwKjn3HYbg-Kso7HPp28-ccYmtR95hMAFk1IEuGIOdxdwU-ghJ/s320/Data+Asset+to+Insight+Loop.png" width="320" /></a></div>
<br />
<br />
<a href="https://drive.google.com/open?id=0B5fNMvDO9OVwR1I2WTZIT2R2ZFk" target="_blank">WCDO and SQL Server 2016 (pdf)</a> presents the primary characteristics and activities of WCDO's and expands on some of the features of SQL Server 2016 designed to enable those activities.<br />
<br />
This is the slide deck presented on June 30, 2016, and the beginning of a series of presentations I will deliver on this topic.Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com48tag:blogger.com,1999:blog-5522066669080132484.post-78139271438443897162016-06-11T17:04:00.002-04:002016-06-11T17:40:35.660-04:00Power BI Best Practices - TacticsI've been asked to present Power BI best practices to a client on Monday. This two post series is part reference to great articles and partly my own insights on the topic, some gained by painful experience. <a href="http://www.rachaelmartino.com/2016/06/power-bi-best-practices-strategy.html" target="_blank">Part one addresses BI project strategy</a>, and this is part two on tactics:<br />
<br />
<u>#1 Dashboards are "a single place to monitor the current state of the data".</u><br />
<a href="https://powerbi.microsoft.com/en-us/documentation/powerbi-service-tips-for-designing-a-great-dashboard/" target="_blank">Microsoft support</a> has tips for great dashboards and points out some design techniques that are important to keep in mind:<br />
<ul>
<li>Readers will drill down for detailed information, the dashboard should provide high level information, showing what performance indicators require the user's attention.</li>
<li>Make the most important information the biggest on the page and provide context, including units. For example: show a KPI visual with trend and current value.</li>
<li>Put the most important items in the upper corner where your users will start reading.</li>
<li>Consider the visualization and select those that tell the story in the data.</li>
<li>The <a href="https://powerbi.microsoft.com/en-us/documentation/powerbi-service-tips-for-designing-a-great-dashboard/" target="_blank">Microsoft support article includes a great group of references</a> on design including writings of Stephen Few and Edward Tufte.</li>
<li><a href="http://pragmaticworks.com/Training/Details/Webinar-1789" target="_blank">Dustin Ryan points out a nice technique of using visualization elements as navigation (at time 47:23 in the video)</a> as they interact with other visuals in a report.</li>
</ul>
<u>#2 Design for the user's reporting needs.</u><br />
Like <a href="http://pragmaticworks.com/Training/Details/Build-Your-BI-House-with-a-Blueprint-Structuring-Your-Data-Warehouse-for-BI" target="_blank">Delora Bradish's</a> exhortation to always consider reporting when designing your data warehouse, your data model should provide friendly table and column names that reflect familiar business terms well understood by the system's users.<br />
<br />
Include only necessary data and hide any information that might be used for creating the data model or calculations but not shown (like key
values) in reports.<br />
<br />
<u>#3 Design your data model to support self-service.</u><br />
<a href="https://www.sqlbi.com/articles/data-import-best-practices-in-power-bi/" target="_blank">From Marco Russo</a> we are guided to take advantage of data views to stabilize our data loading process:<br />
<ul>
<li>Use views for your data sources to avoid dependence on table structures</li>
<li>Create a view schema in the database that consists only of the views for each
table to be imported</li>
<li>Each view should only contain the columns necessary for reporting from the data model</li>
<li>Use meaningful names that will make sense to your users</li>
</ul>
Double check relationships in your data model to ensure that self service reporting will return valid data.<br />
<br />
Carefully specify check data types and how or whether fields should be summarized.<br />
<br />
Separate unrelated data into multiple tables to clarify reporting.<br />
<br />
Use star schema when possible, as snowflakes can limit scalability. Use snowflakes when lookup tables can provide usability improvements without performance implications.<br />
<br />
<u>#4 Consider security and data refresh early in the design of your project.</u><br />
Work with appropriate administrators, whether in Security or your DBA's, to build gateways for data refresh or direct query access from on premises data sources to the Power BI portal.<br />
<br />
Schedule refreshes to correspond with your data frequency, there is no reason to update data eight times a day if it is loaded weekly.<br />
<br />
<u>#5 Take advantage of Power BI Content Packs internally and to access services.</u><br />
Use organizational Content Packs to provide read-only pre-built solutions to your organization or other groups. Members of the group can copy these and personalize them as needed.<br />
<br />
Use Content Packs for services published for many common business services. <a href="https://app.powerbi.com/groups/me/getdata/services" target="_blank">Use this link to see available content packs from the Power BI portal.</a><br />
<br />
<u>#6 Configure your solution to maximize Q&A Natural Language capabilities.</u><br />
<a href="http://www.crmsearch.com/powerbi-best-practices.php" target="_blank">Chuck Schaeffer's CRM Search article</a> provides considerable information about designing for Q&A:<br />
<br />
<ul>
<li>"Datasets not represented with tiles are not considered, anticipate the types of question that may be asked and design the dashboard with tiles from datasets which may respond to sure questions".</li>
<li>Questions will join entities to provide answers (example sales and fiscal calendar to answer a question about "Last year's sales revenue").</li>
<li>Be sure to fix data types so that Q&A can correctly represent the answers.</li>
<li>Be sure to mark those that should not be aggregated with do not summarize.</li>
<li>Add data categories wherever possible.</li>
<li>Put your topics in their own datasets, break out each topic from a given entity.</li>
<li>Add synonyms to improve Natural Language capabilities of PBI on your data set.</li>
</ul>
<br />
<u>#7 Be wary of performance issues that might affect your data model's performance.</u><br />
<a href="http://blog.pragmaticworks.com/author/rachael-martino" target="_blank">These are a few </a><a href="http://blog.pragmaticworks.com/author/rachael-martino" target="_blank">tips </a><a href="http://blog.pragmaticworks.com/author/rachael-martino" target="_blank">from my blog entry on Pragmatic Work's site:</a><br />
Tall, narrow tables are faster than wide tables with many columns, especially if the columns are highly unique (columns that are highly unique are said to exhibit "high cardinality").<br />
<br />
Use integer keys for primary/foreign key relationships.<br />
<br />
Reduce uniqueness in columns by splitting date and time values, and by reducing the "granularity" of time to hours if that is required for reporting.<br />
<br />
Include only relevant data in the data model. One powerful example is not to include unnecessary dates in your Date<br />
<br />
Please comment on my choices, or add your own best practices to this growing list.<br />
<br />
<a href="http://www.rachaelmartino.com/2016/06/power-bi-best-practices-strategy.html" target="_blank">The first post in this short series addresses strategic concerns for developing BI projects.</a><br />
<br />Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com8tag:blogger.com,1999:blog-5522066669080132484.post-36070404513943634722016-06-11T17:04:00.001-04:002016-06-11T17:40:19.759-04:00Power BI Best Practices - StrategyI've been asked to present Power BI best practices to a client on Monday. This two post series is part reference to great articles and partly my own insights on the topic, some gained by painful experience. Part one, below, addresses BI project strategy and <a href="http://www.rachaelmartino.com/2016/06/power-bi-best-practices-tactics.html" target="_blank">part two covers tactics</a>:<br />
<br />
<u>#1 Find a significant business need and address it.</u><br />
To start out using best practices it is wise to begin with the operating environment. <b>The Business.</b><br />
Your BI solution is a system designed to address a business need, it is not a stand alone project. The opportunities for BI solutions are numerous. The <a href="http://http//www.computerweekly.com/opinion/Forrester-Best-practice-tips-for-business-intelligence-success" target="_blank">ComputerWorld Weekly article by Forrester in August of 2013</a> shows a chart that categorizes business needs from BI. This chart also shows that many, if not most BI programs miss on these outcomes. Don't forget to address these objectives as you design, build and implement your solutions.<br />
<br />
<div style="text-align: center;">
<img alt="Forrester BI best practice chart" src="http://cdn.ttgtmedia.com/rms/computerweekly/Forrester%20BI%20best%20practice%20chart.png" style="padding: 5px;" /></div>
<br />
<u>#2 Address the business opportunity where BI can make the most impact <b>with the least delay</b>.</u><br />
Find the need, then partner closely with sponsors, other stakeholders, and most closely with those who will use your system, to define and deliver success. Without these three levels of buy-in throughout the project you are at significant risk of delivering a product that doesn't fulfill expectations.<br />
<br />
Identify data sources <i>and their availability </i>to determine feasibility of this project. If there are significant challenges in data gathering or validation for this project - identify them, determine responsible parties in the business to resolve the issues (use your company's Data Governance organization or create one) and then either find other data or find other opportunities. Do not get bogged down by data issues, this can kill a BI project.<br />
<br />
<u>#3 Iterate to quickly deliver solutions to the business. </u><br />
Every week that you wait to deliver as you perfect or add features to the BI solution is a week that the business doesn't have visibility to their information. Produce the minimum viable product, test it thoroughly and validate the results, then get it to your business partners. Their feedback on the "incomplete" product will be invaluable as you continue to develop your solution and they will quickly benefit from your hard work.<br />
<u><br /></u>
<u>#4 Find a BI tool that best supports the business need, then design a solution that supports users.</u><br />
A <a href="http://www.cio.com/article/2464167/business-intelligence/9-common-bi-software-mistakes-and-how-to-avoid-them.html" target="_blank">2014 article on CIO.com "9 Common BI Software Mistakes"</a> calls out selecting a tool in isolation as one of the worst BI mistakes. Invest your time and money in a tool that will fit business requirements, work with the business to validate your selection. The overriding objective of any BI solution is to deliver a system that users find helpful. Then, build your solution with the user in mind.<br />
<br />
Do you have other strategic concerns that must be addressed when beginning BI projects? Please comment or share your thoughts.<br />
<br />
<a href="http://www.rachaelmartino.com/2016/06/power-bi-best-practices-tactics.html" target="_blank">The next post in this short series addresses tactical issues related to the development of a specific BI solution.</a>Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com2tag:blogger.com,1999:blog-5522066669080132484.post-13038309841882990032016-06-08T20:13:00.001-04:002016-06-08T20:13:25.029-04:00Power BI on Premises and Pyramid AnalyticsPower BI is a great tool and more than a few BI managers have told me that this tool has changed the way that they think about their BI environment. Unfortunately some of those managers also admit that they can't use it because their data cannot leave their network. I know that there is a whole conversation that we need to have about security, but for now, let's leave that aside and respect the customer's need to publish Power BI on premises.<br />
<br />
My customers are delighted to that there is a solution coming from Microsoft in SQL Server Reporting Services. The May announcements from Pyramid Analytics and Microsoft provided much hoped for news! The twist is that this current solution has been created by another reporting platform and that causes many questions. To the customer there are two systems already: Microsoft SQL Server reporting stack SSRS and Power BI, with the on premises solution adding the third: Pyramid Analytics.<br />
<br />
The information below may help you to decide whether Pyramid Analytic's BI Office is the right choice to get Power BI deployed inside your network.<br />
<br />
Kudos must go out to Pyramid Analytics for building a great solution that really solves a problem for many customers!<br />
<br />
<i>Images from the Pyramid Analytics video: Best-in-Class On-Premise Business Intelligence for Power BI from Pyramid Analytics</i>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJmWk9UckskS_Xv81SHwr6AVu1JTVNnLwje2LZmAzUgidlzWjsJaW8tMVN0H1r6dR-CzgLj0UuYrAvZxXy46V32YaK-3TviCwqG86DDYKcEjCkxegA-oscgmI92kQeQT0Xu6zjc-LLjgz7/s1600/Microsoft+and+Pyramid+Better+Together.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Microsoft and Pyramid Better Together" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJmWk9UckskS_Xv81SHwr6AVu1JTVNnLwje2LZmAzUgidlzWjsJaW8tMVN0H1r6dR-CzgLj0UuYrAvZxXy46V32YaK-3TviCwqG86DDYKcEjCkxegA-oscgmI92kQeQT0Xu6zjc-LLjgz7/s400/Microsoft+and+Pyramid+Better+Together.png" /></a></div>
<i>Conceptual slide, describing context for combing the systems.</i>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTRazZ7M6MaGcdbEVxtFj23cZFXHEMO-EOHa2VHji2aXnIZRFexBJAzhMq1PCdn1wUieexjvbo3g1ny7-6z2ZfWAjK2nlLrh9rNrFj77-3F8kTnxmga02uU1qUvVItK2n_Pq9bpsf9Gp-p/s1600/Power+BI+embedded+in+Pyramid+Analytics+Storyboard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Pyramid BI Office Storyboard with active embedded Power BI visualization" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTRazZ7M6MaGcdbEVxtFj23cZFXHEMO-EOHa2VHji2aXnIZRFexBJAzhMq1PCdn1wUieexjvbo3g1ny7-6z2ZfWAjK2nlLrh9rNrFj77-3F8kTnxmga02uU1qUvVItK2n_Pq9bpsf9Gp-p/s400/Power+BI+embedded+in+Pyramid+Analytics+Storyboard.png" /></a></div>
<i>Image of a Pyramid BI Office Storyboard with a slicer affecting all visualizations.</i>
<br />
<br />
<a href="https://pyramidanalytics.wistia.com/medias/jkyyn15yy5">This video posted by Pyramid Analytics shows the integration, not only to securely host the Power BI solution, but to integrate Power BI visualizations in to a Pyramid Storyboard (link).</a><br />
<br />
<a href="http://www.pyramidanalytics.com/pages/resources/od-webinars/best-in-class-on-premise-bi-power-bi-pyramid-analytics.aspx">
This video is a one hour interview of Jen Underwood, Impact Analytics and Peter Sprague, VP Product Marketing , Pyramid Analytics discussing this very topic and reviewing the capabilities of Pyramid's BI Office (link).
</a><br />
<br />
<a href="https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-may-update-feature-summary/http://">Announcement in the May update feature summary (link).</a>Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com43tag:blogger.com,1999:blog-5522066669080132484.post-91093999221111840752008-09-13T18:58:00.004-04:002008-09-14T16:38:22.307-04:00We're down!<a href="http://www.flickr.com/photos/rachaelm/sets/72157607287747740/"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://farm4.static.flickr.com/3289/2857388984_19214dc44f.jpg?v=0" border="0" alt="" /></a><br />The sun is behind the mountains, but the trail was not dark yet. We hit the end of the trail at 6:25, taking a total of 5 hrs and 15 minutes (no speed records broken here today!). There will be a lessons learned entry coming soon. <p>Now, back to the most beautiful campsite at Lafayette Campground with our first 4000+ ft peak in the bag!<br /><br /><br />(sent from the parking lot at Saco Lake, near the Webster-Jackson Trailhead)Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com1tag:blogger.com,1999:blog-5522066669080132484.post-20938191210283449902008-09-13T17:53:00.003-04:002008-09-14T16:37:55.062-04:00Timing againComing down as fast as we dare, but we're not speed demons!<br>We hit the 'split' at 5:45, leaving us with 1.2 mi to go.<br>We're racing the sun down!Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-19462793380605280462008-09-13T16:06:00.004-04:002008-09-14T16:38:55.078-04:00Summit of Mt Jackson!We reached the summit at 4pm.<br />(sent from the top of Mt Jackson)Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-81208379657970168782008-09-13T16:03:00.010-04:002008-09-14T16:39:11.361-04:00TimelineJust past the split between Webster and Jackson trails at 2:25. That is 1 hr and 15 min into our hike. 1.2 mi down w/ 1.4 to go to the top!<p>We plan to add 1.2 mi and do Webster too. Will it get dark before we get back to the car? Dark abt 6:30 here?<br />(sent from the trail on Mt Jackson)Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-86063265505616496972008-09-13T16:03:00.005-04:002008-09-14T16:26:23.129-04:00The Big Picture<a href="http://www.flickr.com/photos/rachaelm/2857387052/"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px;" src="http://farm4.static.flickr.com/3163/2857387052_4ddd41dbd0.jpg?v=0" border="0" alt="" /></a><br />"What is the point of climbing a mountain if you just focus on getting to the top and don't see any of the beautiful things along the trail?"<br /><br />This is what my daughter said as we started the climb on Mt. Jackson our first 4000'+ peak in New Hampshire.<br /><br />Of course she is absolutely correct and her mother thinks this must be a sign that she is intelligent enough to know to enjoy all aspects of life and not rush through to reach goal posts.<br /><br />However, this might just mean that she is happy to look around on today's hike, and that she thinks we won't make it to the top?<br /><br />Which are her weaknesses and objectives, and which are mine?Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-46623307827942605622008-09-13T08:30:00.002-04:002008-09-14T16:40:56.245-04:00Blue skys shinin' on meAs we pull away from the house the skys are blue. I know that 100s have been hurt or killed by Ike this weekend, but here the weather is lovely and we are ready for a great day on the trails.Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-38226791193750766652008-09-12T17:25:00.004-04:002008-09-12T17:32:37.951-04:00RAIN!?!Now, we have to decide how determined we are. There is rain scheduled for our first mountain's weekend. I think we'll skip camping tonight and decide in the morning whether the hike is a go.<br /><br />This is pretty disappointing, not in the least because we had our favorite campsite in Franconia Notch reserved (and we NEVER get that site!)<br /><br />My daughter is fine - she wanted to attend the High School football game anyway. This may be a sign. There will always be alternatives to heading out for a weekend of camping and hiking - hopefully she will grow to consider this as much fun, albeit in a very different way, as teenage social activities. Inviting friends (hers and mine?) along might be our answer!Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-30386557228765103512008-09-07T16:42:00.013-04:002008-09-07T17:28:03.015-04:00Our preparation<span style="BORDER-RIGHT: 1px; BORDER-TOP: 1px; BORDER-LEFT: 1px; BORDER-BOTTOM: 1px"> <a target="_new" href="http://maps.google.com/maps?f=d&hl=en&geocode=&saddr=50+hampshire+st,+cambridge,+MA&daddr=longfellow+bridge,+boston,+MA+to:42.356197,-71.07708+to:harvard+bridge,+cambridge,+MA+to:50+Hampshire+St,+Cambridge,+MA+02139&mra=dpe&mrcr=1&mrsp=2&sz=14&via=2&dirflg=w&doflg=ptm&sll=42.356261,-71.086779&sspn=0.030508,0.052872&ie=UTF8&ll=42.360129,-71.080856&spn=0.022008,0.038624&z=14"><br /><br /><img src="http://lh4.ggpht.com/rachael.martino/SMREDigRFiI/AAAAAAAAACY/9jcdSFXO1fU/s400/WalkMap.PNG" /><br /></a></span><br /><br />In order to get in shape and toughen up mentally for hours of hiking my daughter and I both will need to excercise regularly and spend some hours in our hiking boots.<br /><br />I love to get out of the office in the middle of the day, and away from my desk, but I find it very challenging to make my self break from work. However this walk is so gorgeous that I look forward to it all morning! <a target="_new" style="COLOR: #0000ff; TEXT-ALIGN: left" href="http://maps.google.com/maps?f=d&hl=en&geocode=&saddr=50+hampshire+st,+cambridge,+MA&daddr=longfellow+bridge,+boston,+MA+to:42.356197,-71.07708+to:harvard+bridge,+cambridge,+MA+to:50+Hampshire+St,+Cambridge,+MA+02139&mra=dpe&mrcr=1&mrsp=2&sz=14&via=2&dirflg=w&doflg=ptm&sll=42.356261,-71.086779&sspn=0.030508,0.052872&ie=UTF8&ll=42.356261,-71.086779&spn=0.030508,0.052872&source=embed"><span style="font-size:85%;">(View Larger Google Map)</span></a></small> The walk through MIT and along the Charles River on the Esplanade is relaxing and beautiful.<br /><br />My daughter is walking to school and planning on joining the cross country team. Cross country should get her in shape pretty fast!Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-19991710898374028322008-09-07T16:15:00.003-04:002008-09-07T16:21:08.787-04:00Boy ScoutsKathy Martin has created a fantastic site for our local <a href="http://www.troop304.org/">Boy Scout Troop 304</a>. Thank you Kathy!Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-8461473754000952142008-09-07T15:56:00.003-04:002008-09-07T16:14:22.123-04:00Venture Crew for my daughter?Today we had lunch with the Bonings, a very active family in MANY ways. The lunch was a thank you to my husband Chris for his help with their oldest son's Eagle project for Boy Scouts. Our wonderful dim sum brunch at Mary Chungs in Cambridge was suplemented with talk of their recent advetures with the co-ed Venture Crew 304 trip to Philmont, NM last month. All four members of the Boning family went on this trip <a href="http://www.flickr.com/photos/29807693@N02/sets/72157606894493529/show/">(check out the pictures!)</a> and had a wonderful time. My son also spent over two fantastic weeks at Philmont this summer with the Boy Scouts Troop 304.<br /><br />Since <a href="http://www.troop304.org/Venture_Crew_304_flier.pdf">Venturers are for teenagers (pdf)</a> of 14 or older, my daughter won't be able to join until this summer. Hopefully we will be able to attend some of their trips later this (academic) year. She would very much enjoy the outdoor activies of this organization.<br /><br />All of this means that, if we are lucky, there may be a Philmont trip in our future. (Yes, I AM assuming that she will want me along - she better 'cause I'm going!) This is very intimiating! I have seen the maps and heard the stories - this is some serious high altitude hiking (up to over 11,000 feet). My daughter and I really do need to get into shape before we try something like this. Gradually increasing the intesity of our NH 4000+ peak hikes will help, but we need to really train if we get a chance to go to Philmont!Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-3048394550238522642008-09-02T17:30:00.002-04:002008-09-02T17:37:54.898-04:00Breaking in the boots - prep for the first hike!REI's Labor Day sale was my friend this year. My new <a href="http://www.rei.com/product/740568">boots were on sale</a>, but because they are last year's model, not because of the annual clearance. But we also got some great deals on clothing that I'll be wearing around the trails and around the house.<br /><br />Our first hike is on the calendar! We'll be heading up to "bag" Mt. Jackson on the weekend of September 12-14, the camping in our favorite notch area campground <a href="http://www.accuweather.com/forecast.asp?partner=accuweather&traveler=1&zipChg=1&zipcode=03251&metric=0">should be lovely</a>.<br /><br />I am breaking in my new boots so that in 2 weeks they will be comfortable on the trails. This is <a href="http://www.hike-nh.com/trips/jack_web">not a long climb coming up, and is listed as moderate</a>, but I am so happy with this weather that the extra walks along the esplanade in Boston and in the Blue Hills down in Milton are a joy.Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-60898390707122324582008-08-30T17:15:00.000-04:002008-09-01T09:16:06.806-04:00What is the goal, exactly?I will (this is my goal, if my daughter chooses to participate, it will make me VERY happy!) climb all of the 4000+ peaks in NH before I hit a very grand age threshold which will be arriving in about 7.5 years.<br /><br />My daughter is interested and enthusiastic about participating in this activity and she will be 21 in 7 and a half years when we are hoping to finish.<br /><br />Since there are 48 peaks (depending on your list - I'm sure I'll have much more to say about that later) that means hiking 6-7 peaks a summer season for the next 7 years. <br /><br />I do hope to get <a href="http://www.hike-nh.com/trips/jack_web/">one peak in this year</a> before the official end of the NH non-winter season marked by Columbus Day. I do not intend to hike every weekend, nor will I stay out in the winter - unless I decide later that I want to ;-).Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0tag:blogger.com,1999:blog-5522066669080132484.post-46089285781758140362008-08-30T17:05:00.000-04:002008-08-31T13:02:28.017-04:00Will she do it?I am not a fool. This isn't my first thirteen year old either. I realize that just becuase she said she wanted to do this last week doesn't mean she will want to do this now, or when I have travel plans arranged.<br /><br />However, I am heading out to buy boots, just in case.Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com1tag:blogger.com,1999:blog-5522066669080132484.post-91202111428733008022008-08-30T15:21:00.000-04:002008-08-30T17:11:00.085-04:00Why start blogging now?<a href="http://flickr.com/photos/rachaelm/2812190866/"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSyh3sdg5Z9Uin6dAxg2cizOeZeWI-Us0I7cGnOT1i1hvQOHyWxDuMgo_albfheB8lFQ7iv7t5cre4ugKMHcpfbqIwIOw6BC9C5qkiWD4Ng1dSXAwTuGsLjeJFC73ENelXRzYbYwEnQFTc/s320/RachaelAndKidsPolarCavesNH.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5240415704799500418" /></a><br /><div><strong>After all of these years, why start blogging now?</strong><br /><br />I am inspired. Something wonderful has happened, and I feel the need to share it with the world. Why else?<br /><br /><strong>What could be so wonderful?</strong><br /><br />Inspiration itself. This time I am grabbing hold and refusing to let go just because the dream seems untenable.<br /><br /><strong>What is your dream, you recently graduated from MIT with 2 SM degrees, is it some fantastic start up?</strong><br /><br />Something like that, only more important and with a higher likelihood of affecting the future. But with less risk of financial reward.<br /><br /><strong>What are you talking about? What is more important than entrepreneurialism?</strong><br /><br />Sorry for the entrepreneurial snipe, really! But you have to realize that I make this choice each and every day - my family is more important to me than anything, and I have a dream that could positively affect my family and <em>will</em> directly affect the quality of <em>my</em> life for better or worse. It is one of my usual crazy ideas (and there have been lots, ask anyone!), but this one is a bit less personal than most that I choose to pursue. Hence, the blog. I need your encouragement and assistance in attaining both the personal, and the family goal.<br /><br /><strong>What are you talking about - seriously stop being so annoyingly coy!</strong><br /><br />OK, here's the deal. I am the mother of two great teenagers, a 15 year old boy, and a 13 year old girl. The girl, on a recent vacation hike in the White Mountains of NH mentioned that<strong><em> she</em></strong> <strong><em>would like to summit all of the 4000+ foot peaks</em></strong> up there (you guessed it, we're from MA).<br /><br />This is an unprecedented opportunity for me! My girl is fabulous, generous, fascinating and talented, but despite her Junior Black Belt, she has not lived up to her inherent athletic ability to-date. Mom (me) is not terribly athletic either, but does have a bit of stamina left from 3 years of college rowing and a few triathlons so very long ago.<br /><br />My son is heavily involved with a great Boy Scout Troop (Minuteman Council Troop 304!) that takes him all over for great camping and hiking trips, and he spent the early part of this month at Philmont hiking about 65 miles at high altitude. This is wonderful for him, but my daughter and I would like to do more ourselves.<br /><br /><em>So, I am jumping on my daughter's expressed interest.</em> I am aware of how long a 13 year old's attention span is, but I am setting my own goals along side hers, and I hope that helping her to achieve this goal will teach her about setting big goals in life and attaining them, no matter the difficulties involved.<br /><br />But, I also anticipate hiking until exhaustion and camping in the chilly mountain air for years to come. This is the most personal of goals, to spend those hours with my daughter - without Internet distractions for either us - over all of those weekends , a mother's selfish dream. </div><br /><br /><div></div>Rachaelhttp://www.blogger.com/profile/07554184294026829646noreply@blogger.com0