{"id":68,"date":"2011-02-13T11:32:00","date_gmt":"2011-02-13T11:32:00","guid":{"rendered":"\/lisa\/post\/2011\/02\/13\/Whats-underneath-can-bite-hard.aspx"},"modified":"2011-02-13T11:32:00","modified_gmt":"2011-02-13T11:32:00","slug":"whats-underneath-can-bite-hard","status":"publish","type":"post","link":"https:\/\/spacefold.com\/lisa\/2011\/02\/13\/whats-underneath-can-bite-hard\/","title":{"rendered":"What&#8217;s underneath can bite hard"},"content":{"rendered":"<p>Here&#8217;s a cautionary reporting tale for you&#8230;<\/p>\n<p>A couple of weeks ago a colleague asked for help with an RDL.&nbsp; It was dog-slow, and there were about a hundred reasons for this, some fixable and some not.&nbsp; But, in addition to the need for optimization, it would occasionally fail for reasons that had nothing to do with timeouts, and couldn&#8217;t be reproduced in the Report Designer development environment.<\/p>\n<p>Remember our plan to get to know <a title=\"blog post on the importance of fundamental preparation\" href=\"\/lisa\/2011\/01\/29\/Preparing-a-Surface\/\">more than what&#8217;s on the surface<\/a>, from my last post?<\/p>\n<p>It took a while (embarrassing) but I finally took a look at the Reporting Server logs.&nbsp; One attendance percentage calculation had a very rare divide-by-zero condition. Occasionally, a kid had not attended even one day in the period.&nbsp;<\/p>\n<p>Duh. Once we finished slapping our heads, it was an easy fix.<\/p>\n<h2>Could happen to anybody right?&nbsp;<\/h2>\n<p>Sure, Anybody who thinks that Reporting is somehow immune to the requirements to follow sound development practices &#8212; in this case, bounds checking. (FWIW, you&#8217;d be amazed at how many Anybodies think Reporting is somehow alien to &#8220;real&#8221; development best practices.&nbsp; I&#8217;ve never quite understood this.)<\/p>\n<p>Even so.&nbsp; Anybody should have been able to diagnose this rather quickly from the log.<\/p>\n<p>If by some chance you don&#8217;t know where to look, you&#8217;ll find them here, pretty much where Anybody would expect &lt;sigh&gt;:<\/p>\n<p><img decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"\/lisa\/wp-non\/migrated\/2011\/2\/RSLogLocation.png\" alt=\"\" \/><\/p>\n<p>&#8230; and the text files you&#8217;ll find are&nbsp;not beautiful, but they&#8217;re not mysterious, especially when the condition you&#8217;re tracking is rare enough that you should be able to pinpoint the time matching your error pretty well.<\/p>\n<p>I saw a license plate holder a couple of weeks ago that said something like &#8216;tailgate me, and I&#8217;ll divide you by zero&#8221;. I think I want one of those.<\/p>\n<h2>Transformers: More than meets the eye<\/h2>\n<p>Continuing our focus on fundamentals here, a gentleman named Vince wrote recently to ask:<\/p>\n<blockquote>\n<p>Hi,&nbsp; I have been following your instruction in the post &#8220;Changing the Sheet names in SQL Server RS Excel: QnD XSLT&#8221;. When I get to step 4. I won&#8217;t be able to find the data output tab in SSRS 2008. I attached the screen capture. Can you let me know where should I put the xslt file name in SSRS 2008?<\/p>\n<\/blockquote>\n<p>Vince, I hope you see the answer in this post, since I tried to reply to your email but apparently you didn&#8217;t provide me with a valid email address (I tried several times):&nbsp;<\/p>\n<p>I&#8217;ve answered your question in <a title=\"blog post showing where you put the transform file in 2008\" href=\"\/lisa\/2009\/11\/26\/All-things-must-pass-and-all-things-change\/\">this post<\/a>, complete (I hope) with appropriate screen shots to remove any difficulty about where 2008 sticks the Transform information for an RDL, both in the dialogs and in the schema.&nbsp; If you&#8217;ve read it and still don&#8217;t see, please write again, and this time give me a real email address.&nbsp;<\/p>\n<h2>Defensive driving<\/h2>\n<p>Even with the move up to BlogEngine 2.0, I&#8217;m not feeling comfortable about turning comments back on after the deluges of spam in November-December.&nbsp; Sorry about that.&nbsp;<\/p>\n<p>But I&#8217;m still here, and you can <a title=\"Lisa's contact page\" href=\"https:\/\/spacefold.com\/lisa\/Contact\/\" target=\"_blank\" rel=\"noopener\">still ask questions<\/a> &#8212; I&#8217;m always pleased to help.&nbsp; The ground rules are:<\/p>\n<ul>\n<li>Steps to repro, if possible with a generic RDL that uses AdventureWorks or something, are always nice<\/li>\n<li>Make your question specific.&nbsp; One of the reasons I ask for a generic RDL is that, in trying to isolate the problem to tell me about it, you&#8217;ll discover the solution yourself.&nbsp; When it&#8217;s embedded in a large, complex RDL, it may be a side effect of something else in that report.<\/li>\n<li>If you really can&#8217;t isolate the problem in a generic RDL, I&#8217;ll cope.&nbsp; The interactions may be interesting, and I&#8217;ll help you figure them out (I just want to know that you did your best on your own, first).&nbsp; Give me your real RDL, in this case.&nbsp; I won&#8217;t need your data.<\/li>\n<li>If I can help you, I will share the resolution with the folks who read this blog.&nbsp; I won&#8217;t share any private details about your business, but I do this gratis on the condition that more than one person gets the benefit.<\/li>\n<li>And, finally (<em>pace<\/em> Vince)&#8230; I&#8217;m probably going to need to contact you to get this done, so gimme a real contact email, okay?<\/li>\n<\/ul>\n<p>As they used to say on Hill Street Blues&#8230;<\/p>\n<h2>Let&#8217;s be careful out there.<\/h2>\n","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s a cautionary reporting tale for you&#8230; A couple of weeks ago a colleague asked for help with an RDL.&nbsp; It was dog-slow, and there were about a hundred reasons for this, some fixable and some not.&nbsp; But, in addition to the need for optimization, it would occasionally fail for reasons that had nothing to<a class=\"more-link\" href=\"https:\/\/spacefold.com\/lisa\/2011\/02\/13\/whats-underneath-can-bite-hard\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,6,10],"tags":[],"class_list":["post-68","post","type-post","status-publish","format-standard","hentry","category-reporting","category-sql-server","category-xml-xslt"],"_links":{"self":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/posts\/68","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/comments?post=68"}],"version-history":[{"count":0,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/posts\/68\/revisions"}],"wp:attachment":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/media?parent=68"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/categories?post=68"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/tags?post=68"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}