tag:blogger.com,1999:blog-71355301538681464752024-03-13T23:29:02.675+02:00Molimo o LeratoI learn better when I shareagang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-7135530153868146475.post-73402327203925888722023-10-21T12:42:00.002+02:002023-10-21T12:42:54.060+02:00Nobby<p> </p><p style="margin-bottom: 0in;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;"><span style="font-family: Cooper Black, serif;">M</span></span></span></span><span style="font-family: Segoe UI Black, sans-serif;">ighty
</span><span style="font-family: Segoe UI Black, sans-serif;">brother, in this ode I
sing</span><span style="font-family: Segoe UI Black, sans-serif;">, </span>
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">A</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">
testament to our bond, a steadfast thing. </span></span>
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">N</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">urtured
by time, twenty years and more, </span></span>
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">D</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">eep-rooted
friendship, forever to endure.</span></span></p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">L</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">ifting
each other up, helping us withstand. </span></span>
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">A</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">midst
the trials we faced, hand in hand, </span></span>
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><br /><br />
</p>
<p style="margin-bottom: 0in;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">M</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">esmerized
by the </span><span style="font-family: Segoe UI Black, sans-serif;"><span style="font-size: small;">wisdom</span></span><span style="font-family: Segoe UI Black, sans-serif;">
the Bible imparts, </span>
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">A</span></span></span>
<span style="font-family: Segoe UI Black, sans-serif;">guiding light, etching truth
in our hearts.</span></span></p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">B</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">ound
by a love that was sacrificed. </span></span>
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">A</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">bove
all, we are brothers in Christ, </span></span>
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">L</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">eaning
on verses, their words embraced, amidst the chaos, they guide and
encase.</span></span></p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;"><span style="color: red;"><span style="font-family: Cooper Black, serif;"><span style="font-size: xx-large;">E</span></span></span><span style="font-family: Segoe UI Black, sans-serif;">verlasting
friendship, like a sweet melody, etched tenderly like a symphony of
memories</span></span></p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><br /><br />
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><br /><br />
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;">Nights
filled with laughter, days drenched in tears, Love and support,
throughout the passing years.</span></p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><br /><br />
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;">Divine
connection, a gift from above, Leading us closer, embodying brotherly
love. And as we journeyed, side by side, Mirrored footsteps, walking
in stride.</span></p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><br /><br />
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;">Lifting
our spirits, we found solace and peace, A sanctuary of faith, where
worries cease. </span>
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><br /><br />
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;">,
etched tenderly. Majestic moments we shared, woven with care, A
tapestry of blessings, beyond compare.</span></p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><br /><br />
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;">Basking
in the grace, His love bestowed, A friendship blossoming, as seeds
were sowed. Abounding with joy, our souls entwined, Living proof of
God's love, divinely designed.</span></p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><br /><br />
</p>
<p lang="en" style="line-height: 115%; margin-bottom: 0.14in;"><span style="font-size: x-small;">Eternal
gratitude, my dear Mandla Mabale, For being the brother who never
shall fail. May our bond continue, unbreakable and strong, A
testament of love, forever we belong.</span></p>agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0tag:blogger.com,1999:blog-7135530153868146475.post-36445399232776428562017-10-29T23:29:00.000+02:002017-10-29T23:36:28.648+02:00The Role of Information Systems in Knowledge Management<div style="text-align: justify;">
<a href="https://www.blogger.com/blogger.g?blogID=7135530153868146475" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=7135530153868146475" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><span style="font-family: "trebuchet ms" , sans-serif;">We operate in an era where most of our decisions and work is based on the information at our disposal. Organizations are continually competing to gain knowledge on the basis of this information. With these, come more complex products and services meaning that learning will continue to be an inevitable process in the organizational life-cycle.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">This is becoming increasingly discernible that in order for organizations to gain the competitive edge, their knowledge assets need to be able to create knowledge and transfer this knowledge in a manner that is difficult for competitors to imitate. This is further confirmed by Nonaka who defines organizational knowledge as "the capability of a company as a whole to create new knowledge, disseminate it throughout the organization, and embody it in products, services, and systems."</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">What Is Knowledge Management</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Kakabadse et al, view the chain of knowledge flow as data-information-realization-action/reflection-wisdom (see Figure 1). Data comprises observations or less meaningful facts drawn out of context of use(Zack, 1999).</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/-CggRdwqCV3I/WfZBDwlo1LI/AAAAAAAAWfM/SzsztnvNYrU8OGmvPpV7qrarqhahMHyCACEwYBhgL/s1600/chain%2Bof%2Bknowledge%2Bflow.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: "trebuchet ms" , sans-serif;"><img border="0" data-original-height="188" data-original-width="790" height="95" src="https://3.bp.blogspot.com/-CggRdwqCV3I/WfZBDwlo1LI/AAAAAAAAWfM/SzsztnvNYrU8OGmvPpV7qrarqhahMHyCACEwYBhgL/s400/chain%2Bof%2Bknowledge%2Bflow.gif" width="400" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: "trebuchet ms" , sans-serif;">Figure 1: Chain of knowledge flow</span></td></tr>
</tbody></table>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Information is an upshot of committing data within some meaningful content, oft in the form of messages(Zack, 1999).</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Knowledge is. thus, a “justified true belief”. Which essentially what people believe and value on the basis of conglomerated information (messages) through experience, communication of inference (Blacker, 1995).</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">An exercise of discipline or action is connoted by ones need to acquire the needful information and to realize the value of this information (Kakabadse et al., 2001)..</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Therefore, realization can be regarded as information put to productive use and we may gain wisdom through action and realization, because according to Pascual-Leone, as cited by Kakabadse et al., (2001), “knowing how to use information in any given context requires wisdom”</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Kakabadse et al, identify different disciplines which are very influential in the field of KM as:</span></div>
<div style="text-align: justify;">
<br />
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Philosophy, in defining knowledge; prominent being</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Cognitive science (in understanding knowledge workers);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Social science (understanding motivation, people, interactions, culture, environment); management science (optimizing operations and integrating them within the enterprise); information science (building knowledge-related capabilities);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Knowledge engineering (eliciting and codifying knowledge);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Artificial intelligence (automating routine and knowledge-intensive work) and</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Economics (determining priorities).</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">This has also led to a plenitude of literary definitions for KM, in fact, a review by Hlupic et al. (2002) as cited by Bouthillier et al. (2002) identifies 18 different definitions of KM. While there have been many attempts to define KM from a theoretical perspective these efforts hardly reference the relationships between KM and IM (Bouthillier et al., 2002)</span></li>
</ul>
</div>
<div style="text-align: justify;">
<a href="https://www.blogger.com/blogger.g?blogID=7135530153868146475" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=7135530153868146475" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></h3>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">How does KM differ from IM?</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">The difference between KM and IM has been a topic of discussion. More often the two terms “knowledge” and “information” are used interchangeably.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">This essay focuses more on the practicalities as opposed to the theories or philosophies associated with knowledge, or better yet, the management thereof. Therefore we shall adopt Nonaka's (1994) definition of knowledge, as cited by Alami M. et al (1999) as "a justified personal belief that increases an individual’s capacity to take effective action." </span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">This topic does not lend itself much to discussing the difference between data, information and knowledge since it is a debate which many authors have debated and one which extends beyond the scope of this topic, however we will adopt Vance's (1997) over-simplified definition of “information as data interpreted into a meaningful framework whereas knowledge is information that has been authenticated and thought to be true".</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">There are a few gap theories which attempt to justify the metamorphosis of data into information and that of information into knowledge. Again most, of these efforts paint a fuzzy picture especially when trying to explain how information becomes knowledge, or how knowledge becomes information (again), but Alami M., et al (1999), provide this quotation of Nonaka and Polanyi. “Information becomes knowledge once it is processed in the mind of an individual, and knowledge then becomes information again once it is articulated or communicated to others in the form of text, computer output, spoken, or written words or other means”.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Who Owns Knowledge Management?</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Galliers R. et al, (2001), "argue that the field of Information Systems should no longer be distracted from its natural locus of concern and competence, or claim more than it can actually achieve". They consider Knowledge Management (KM) and Knowledge Management Systems (KMS) to be one of the latest fads alongside BPR which have been adopted by IS but yet have little to offer. On the contrary and with a little agreement to their assertions I believe that although KM as a concept and as a practice is more about people management, a lot can be attributed to IS and it (IS) has a crucial role to play in the realization of KM within organizations. This is also especially true when considering that, data and information are some of the key elements when it comes to the implementation of KMS. Other than that, and on the same breath, one could also reason that IS deals more with the management of data than the management of information because the function of IS is more about the processing of data than it is about the information articulated from the processing of these data. IS may not be the ultimate custodian of KM initiatives within organizations, but it surely plays a pivotal role in the identification, implementation and management of the technology and systems essential for the fruition of these initiatives. As a matter of fact, because of the ever-present competitor factor implicit in KM as a concept, Strategic Management, R&D and Customer Relations play as big a role as Human Resources and to a lesser extent Finance, but this essay focuses more on the significant role that IS has to play in KM.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Where does IS fit in?</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">IS is an enabling function which provides the platform and technical tools and resources and facilitates the implementation of KM initiatives within organizations, which makes me believe that KM would still exist without IS or technology element albeit it would be a difficult endeavor.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">From an IS/IT perspective, the transformation of data management into information management is a rather smooth process since computers unreservedly lend themselves well to information systems. However things become more complex as we attempt to elicit knowledge out of these information systems. This is confirmed by Galliers, R. et al, “Whereas most people agree that data and information may exist outside humans, supporters of the community view of knowledge would argue that knowledge can never be separated from the knower and thus never stored digitally”</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Sternmark D, argues that "all knowledge is tacit, and what can be articulated and made tangible outside the human mind is merely information"</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Figure 2 illustrates Lawton’s (2001) Knowledge Management System Architecture</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Lindvall et al, state the necessity of a collection of technologies for authoring, indexing, classifying, storing, contextualizing and retrieving information, as well as for collaboration and application of knowledge in order to support KM. The robustness of the back-end and the user-friendliness of the front-end are also cited as the basic necessities of a software for KM</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">The bottom-most layer in the architecture, Information and Knowledge Sources, represents reservoirs for explicit knowledge.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">The knowledge repository is therefore supported by tools in the Low level IT infrastructure</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Classifying and indexing tools become useful in organizing knowledge fitting into the organizational content resulting in the creation of a “knowledge map” based on the taxonomy of the organization. At the personalized knowledge gateway level, knowledge is distributed to those who need it through portals.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">According to Lindvall et al, it is challenging to draw a distinction between IT and KM. </span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">When looking at Lawton’s (2001) architecture model, KM is considered to reside in the upper layers while IT comprises the lower layers, albeit the bounds are blurry.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Tools and Technologies</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">According to a survey conducted by Skyrme. J, the first initiative of many KMS' involves the installation or the of Intranets and adding the best practice or "expert databases" while the second leading drive of KM strategies involves the creation of new knowledge, innovation and the transformation of this knowledge into valuable products and services. </span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Knowledge management as a concept is nothing new to IS because the 1970s saw an increased interest in "expert systems" and artificial intelligence although they fell short of expectations. Skyme. J, describes as an era where we "where we tried to make computers think, rather than using computers to help humans think".</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Listed below are some of the key technologies and tools identified by Skyrme. J, which may facilitate KM initiatives with organizations</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Intranet, Internet</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">The omnipresent Internet protocols which allow us to access “any information, any where, at any time”.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Groupware - (e.g. Microsoft Sharepoint, Lotus Notes)</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">These provide us with discussion databases and allow us to access the ‘organizational memory’, as well as current news feeds in areas of interest</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Browsers and Client Software</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">These act as front-ends to information in many formats and many of the other knowledge tools such as document management or decision support.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Intelligent Agents</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Due to the "problem of information overload intelligent agents can be trained to roam networks to select and alert users of new relevant information". He makes an example of a related technology which "British Telecom have found can summarize large documents, retaining over 90 per cent of the relevant meaning with less than a quarter of the original text".</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Document Management</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Much of explicit knowledge is shared using documents, especially structured documents, are the form in which much explicit knowledge is shared, because these turn out to be active knowledge repositories.</span></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="https://2.bp.blogspot.com/-9DH1jwqW8PI/WfZBZalWU6I/AAAAAAAAWfI/gwP--wZWtdEnD0Kl4uXvXIvaHc-yAXH7ACEwYBhgL/s1600/Knowledge%2BManagement%2BSytem%2BArchitecture.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: "trebuchet ms" , sans-serif;"><img border="0" data-original-height="670" data-original-width="923" height="464" src="https://2.bp.blogspot.com/-9DH1jwqW8PI/WfZBZalWU6I/AAAAAAAAWfI/gwP--wZWtdEnD0Kl4uXvXIvaHc-yAXH7ACEwYBhgL/s640/Knowledge%2BManagement%2BSytem%2BArchitecture.gif" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: "trebuchet ms" , sans-serif;"><br />Figure 2: Knowledge Management Sytem Architecture</span></td></tr>
</tbody></table>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Figure 2 represents Lawton’s (2001) widely referenced knowledge management system architecture where sources explicit knowledge are handled by the lowermost layer. This explicit knowledge lives database records and email messages. This bottom layer is supported by standard authoring tools such as word processors, mail and file servers and database management systems.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">The infrastructure layer is also supported by file servers, intranets, Internet and document and content management systems.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">This knowledge that is to be captured needs to be relevant and serve the needs of each organizational context. Therefore, indexing and classifying tools prove handy when creating a “knowledge map” based on the corporate taxonomy.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">At the next level, tools are required to support, data, the discovery of knowledge and collaboration services.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Whenever, users and application (e.g. e-Learning, competence management, intellectual property management and CRM’s), need access to information, portals can be used to distribute this knowledge.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">This model of architecture does not differentiate much between IT and KM tools, however it considers the all the layers from ‘knowledge repository” upwards to be more KM aligned, while IT comprises the layers below with no clear boundaries.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Conclusion</span></h3>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Practitioners should not impose traditional information processing models on KM initiatives no more than they should build to predict the future. However these knowledge management systems should be built to anticipate surprises based on past experiences and lessons learned. Almost every knowledge management initiative should take note of IS and related technologies as a crucial elements towards its success. Although it may take a while for computers to match humans when it comes to acquiring and transfer knowledge, due to the humans's advanced reasoning capabilities, computers are good at processing data. Knowledge Management Systems should thus continue to provide us with the relevant facts so that we can make better decisions quicker. </span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<h3 style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">References:</span></h3>
<div style="text-align: justify;">
<br />
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Lindvall. M., Rus. I., Sinha. S.,2003,“Software Systems Support for Knowledge Management”, MCB UP Ltd.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Sternmark. D., Information vs. Knowledge: The Role of intranets in Knowledge Management, Knowledge Management Group, Viktoria Institute</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Galliers, R. D. and Newell, S., “Back to the Future: From Knowledge Management to Data Management”, in Proceedings of ECIS 2001, Bled, Slovenia, 2001, pp. 609-615.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Skyrme. J., “Knowledge Management Solutions – The IT Contribution” , David Skyrme Associates Limited</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Hlupic, V., Pouloudi, A., Rzevski, G., 2002, "Towards an integrated approach to knowledge management: `hard', `soft' and `abstract' issues", Knowledge and Process Management, 9, 1, 90-102.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Zack, M.H., 1999, "Managing codified knowledge", Sloan Management Review, 40, 4, 45-58.</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif; font-size: x-small;">Korac-Kakabadse, N., Kouzmin, A., Korac-Kakabadse, A., 2001, "From tacit knowledge to knowledge management: leveraging invisible assets", Knowledge and Process Management, 8, 3, July-September, 137-54.</span></li>
</ul>
</div>
agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0tag:blogger.com,1999:blog-7135530153868146475.post-46762013697222593362016-02-29T15:05:00.000+02:002016-02-29T15:05:16.712+02:00Slowly Changing Dimension Type II: My Simple Personal Alternative To MergeI've been working with the SQL Server's merge statement for some time now. I truly believe it's a great feature. Alas, the world out there is not so perfect. You'll soon run into a few hurdles, sooner than you know it. They can range from cross server limitations, deadlocks due to performance degradation. The list goes on and on...<br />
Google: sql server merge statement limitations<br />
<br />
I found myself having to come up with a custom solution. yes, a lot has been written on SCD Type II. Reinvent the wheel much???<br />
<br />
I will create two tables...<br />
1. dbo.customer table. transactional table<br />
2. dbo.dim_customer table dimension table<br />
<br />
create table dbo.customer<br />
(<br />
customer_id int identity(1,1) not null,<br />
customer_name varchar(50) null,<br />
city varchar(50) null,<br />
favorite_car varchar(50) null<br />
)<br />
<div>
<br /></div>
create table dbo.dim_customer<br />
(<br />
customer_id int null,<br />
customer_name varchar(50) null,<br />
city varchar(50) null,<br />
favorite_car varchar(50) null,<br />
row_is_current int not null,<br />
row_effective_date date not null,<br />
row_expire_date date not null<br />
)<br />
<br />
<br />
1.<br />
truncate table dbo.customer<br />
dbcc checkident ('dbo.customer', reseed,1)<br />
;<br />
with<br />
cte_customers as<br />
(<br />
select 'john' customer_name,'cape town' city,'jaguar' favorite_car union all<br />
select 'paul' customer_name,'johannesburg' city,null union all<br />
select 'peter' customer_name,'pretoria' city,null union all<br />
select 'matthew' customer_name,'durban' city,null<br />
)<br />
insert into dbo.customer(customer_name,city,favorite_car)<br />
select customer_name,city,favorite_car<br />
from cte_customers<br />
<br />
select * from dbo.customer<br />
[img1]<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-cMVgmJ0u2bY/Va19FQ7YlnI/AAAAAAAAEbE/aIrPZ-aZ2wE/s1600/img1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="92" src="https://4.bp.blogspot.com/-cMVgmJ0u2bY/Va19FQ7YlnI/AAAAAAAAEbE/aIrPZ-aZ2wE/s320/img1.png" width="320" /></a></div>
<br />
declare @not_expired datetime<br />
declare @load_time datetime<br />
set @not_expired = cast('99991231' as date)<br />
set @load_time = cast(getdate() as date)<br />
<br />
update t set<br />
t.row_is_current = -1,<br />
t.row_expire_date = @load_time<br />
from dbo.customer s<br />
inner join dbo.dim_customer t on s.customer_id = t.customer_id<br />
and t.row_is_current = 1 and t.row_expire_date = @not_expired<br />
where t.city <> s.city<br />
or t.favorite_car <> s.favorite_car<br />
<br />
<br />
/*insert changes where row_is_current is -1*/<br />
insert into dbo.dim_customer<br />
select s.*,1 row_is_current,@load_time row_effective_date,@not_expired row_expire_date<br />
from dbo.customer s<br />
inner join dbo.dim_customer t on s.customer_id = t.customer_id<br />
where t.row_is_current = -1 and t.row_expire_date = @load_time<br />
<br />
/*update changes set row_is_current to 0 where row_is_current is -1*/<br />
update t set<br />
t.row_is_current = 0,<br />
t.row_expire_date = @load_time<br />
from dbo.dim_customer t<br />
where t.row_is_current = -1 and t.row_expire_date = @load_time<br />
<br />
/*new*/<br />
insert into dbo.dim_customer <br />
select s.*,1 row_is_current,@load_time row_effective_date,@not_expired row_expire_date<br />
from dbo.customer s<br />
left join dbo.dim_customer t on s.customer_id = t.customer_id<br />
where t.customer_id is null <br />
<br />
/*<br />
deleted rows, how does everyone deal with these anyways<br />
*/<br />
;<br />
with<br />
cte_deleted_records as<br />
(<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>select t.customer_id,row_is_current<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>from dbo.customer s<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>right join dbo.dim_customer t on s.customer_id = t.customer_id<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>where s.customer_id is null and row_is_current = 1<br />
)<br />
update<span class="Apple-tab-span" style="white-space: pre;"> </span>dels<br />
set<span class="Apple-tab-span" style="white-space: pre;"> </span>dels.row_is_current = -999<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>--row_expire_date = @load_time /*maybe optional*/<br />
from<span class="Apple-tab-span" style="white-space: pre;"> </span>cte_deleted_records dels<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
select * from dbo.customer<br />
select * from dbo.dim_customer<br />
--truncate table dbo.dim_customer<br />
<br />
[img2]<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-HDjv1x0KjXw/Va19LeCX6qI/AAAAAAAAEbM/ajjOn1tpogw/s1600/img2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="130" src="https://4.bp.blogspot.com/-HDjv1x0KjXw/Va19LeCX6qI/AAAAAAAAEbM/ajjOn1tpogw/s320/img2.png" width="320" /></a></div>
<br />
<br />
update dbo.customer<br />
set favorite_car = 'jaguar'<br />
where customer_id = 1<br />
<br />
update dbo.customer<br />
set favorite_car = 'mazda',<br />
city = 'bloemfontein'<br />
where customer_id = 2<br />
<br />
insert into dbo.customer(customer_name,city,favorite_car)<br />
values ('mary','port elizabeth','ford')<br />
<br />
select * from dbo.customer<br />
<div>
delete customer where customer_id = 1</div>
[img3]<br />
[img4]<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-5uybtNZ5Dc4/Va19QcMGdyI/AAAAAAAAEbU/m3NRQEAFWNc/s1600/img3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="107" src="https://2.bp.blogspot.com/-5uybtNZ5Dc4/Va19QcMGdyI/AAAAAAAAEbU/m3NRQEAFWNc/s320/img3.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-CDNuZHEEklg/Va19SI7fcTI/AAAAAAAAEbc/5pPVy0k6X2I/s1600/img4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="147" src="https://2.bp.blogspot.com/-CDNuZHEEklg/Va19SI7fcTI/AAAAAAAAEbc/5pPVy0k6X2I/s320/img4.png" width="320" /></a></div>
<br />agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0tag:blogger.com,1999:blog-7135530153868146475.post-37141016678917825682015-05-21T15:25:00.001+02:002015-05-21T15:27:41.224+02:00Twenty Signs Your SSAS Implementation Will Fail Even If You Did Hire The Right SSAS Consultant<span style="font-family: Verdana, sans-serif;"><span style="font-weight: normal;">This post first appeared <a href="https://thomasivarssonmalmo.wordpress.com/2011/06/15/top-20-signs-that-you-have-hired-the-wrong-ssas-consultant/">here</a> on Thomas Ivarsson's blog...and it was initially titled: </span><span style="font-weight: normal;"><i>"Twenty signs that you have hired the wrong SSAS consultant"</i> </span></span><br />
<span style="font-family: Verdana, sans-serif; font-weight: normal;"><br /></span>
<span style="font-family: Verdana, sans-serif;">These are some of my observations during my years with Analysis Services since OLAP Services in 1999.</span><br />
<br />
<ol>
<li><span style="font-family: Verdana, sans-serif;">All dimensions have parent child hierarchies. There is absolutely no excuse for this. Use parent-child hierarchies only when you have no other option.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The data source view has named queries with a lot of transformations, name changes of columns, derived tables, sub queries and unions in the same mess. The ETL system has moved in to the cubes and the source data warehouse (If there is one) is not properly structured. It is a clear indication of that the back end data warehouse is a mess.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The measure names are still not right so all measure group measures have visibility = false and are replaced by calculated measures.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The dimension sources consist of 5 to 15 views joined together and have several layers of views on top of each other, the last with different naming standards. This makes it very hard to follow the ETL flow back to the source tables.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The dimension keys are text based, not integers.</span></li>
<li><span style="font-family: Verdana, sans-serif;">All dimensions have no attribute relations in the user or natural hierarchies.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The natural hierarchies in the source dimension tables or views have undetected many-to many relations that will make the distribution of data across dimension members random. This can happen when you have hidden relations in the source table between attributes that are not primary keys.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The cube dimensions have a lot of report hierarchies, which is a hierarchy where the attributes do not have a one to many relations from the top level to the subordinate attributes. Color and the size of a product is an example.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The cube has no aggregations.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The cube consist of more than 15 dimensions in a single measure group and many of the dimensions consist mainly of single attributes with 1-10 members and no hierarchies.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The cube has 50-200 measures in a single measure group. Sometimes dimensions moves in to measures like actual, budget and forecast measures.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The cube has 5000 rows of MDX code when you copy and paste it in to word and use 8 as the font size. To be fair you can be forced to do this by business requirements but you should warn about it from a maintenance perspective. It is very hard to debug.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Measures have null for many dimensions. This is a clear sign that the data model behind the cube is not properly designed.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The cube has no check for division by zero errors in calculated measures so users will see ugly error messages in the table cells.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The consultants do not know what UAT is, has never seen a test protocol and do not know how to do tests while developing the cube.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The consultant thinks that Kimball and Inmon are two soccerteams.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The consultants do not know how to write documentation for a cube except for dropping all the MDX scripts in tables in word.</span></li>
<li><span style="font-family: Verdana, sans-serif;">Dimensions key errors, while processing have been set to ignore errors and discard records in a production system. This is a sign of no handling of orphan dimension foreign keys in the fact table. SSAS has a great feature to take care of this with missing dimension keys. With this approach the cube will have a subset of the same data as in the source table.</span></li>
<li><span style="font-family: Verdana, sans-serif;">The cube has 4-5 customer dimensions, not one customer dimension with 4-5 natural hierarchies. This is a migration from AS 2000 without a review of the cube model despite all the changes that came in SSAS 2005 and later.</span></li>
<li><span style="font-family: Verdana, sans-serif;">There are no partitions in the cube when the fact table has 50-100 million records.</span></li>
</ol>
<br />
<span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"></span></span>agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0tag:blogger.com,1999:blog-7135530153868146475.post-22103652269713854522014-03-11T14:35:00.001+02:002014-06-05T12:31:33.364+02:00Compare Data from Two TablesThere comes a time when you need to compare data from two structurally identical tables. When that time comes, you can either go the Excel route (I respect Excel), ask your boss to lend you the company credit card and purchase commercial package from the likes of RedGate®, or you could just code the darn thing.<br />
<br />
I must say however, that I've looked at many different options, I've tried SSIS, SQL Server Data Tools, RedGate® Data Compare, and SQL Server's less known about tablediff.exe. None of these actually gave me the results I needed, or I just wasn't happy with the output format.<br />
<br />
I found some nifty little piece of code written by <a href="http://stackoverflow.com/users/1744834/roman-pekar">Roman Pekar</a> and this sort of made the job easier. I improved it a little and added a little bit of dynamism to the script. Now you can pass any two identical tables and let SQL compare the data for you.<br />
<br />
Without further ado, here is the code...Please feel free to improve it. I tried to comment it as much as I could.<br />
alter procedure table_compare <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@first_table varchar(20),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@second_table varchar(20),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@id_column varchar(20),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@column_list varchar(max) = null<br />
as<br />
/********************************************************************************************************************************<br />
*********************************************************************************************************************************<br />
*********************************************************************************************************************************<br />
****** Author: Thato Mantai<br />
****** Purpose: Compare data from two identical tables<br />
****** Date: 11 March 2014<br />
****** Version: 1.0<br />
****** Credits: Roman Pekar (http://careers.stackoverflow.com/romanpekar , http://ru.linkedin.com/in/romanpekar/)<br />
*********************************************************************************************************************************<br />
*********************************************************************************************************************************<br />
*********************************************************************************************************************************/ <br />
declare @xml_first_table xml --xml structure to hold data from the first table <br />
declare @xml_second_table xml --xml structure to hold data from the second table <br />
declare @sql_all_data varchar(4000) --dynamic sql for storing unique records from both tables<br />
declare @first_table_columns varchar(500) --stores all columns from first table <br />
declare @second_table_columns varchar(500) --stores all columns from second table<br />
declare @err_table_not_found varchar(200) set @err_table_not_found = 'Sorry, I can''t find specified table, "[plchldr_table_name]" in the current database.'<br />
declare @err_key_column_not_found varchar(200) set @err_key_column_not_found = 'Sorry, I can''t find specified key column, "'+@id_column+'" in table "[plchldr_table_name]".'<br />
<br />
if object_id(@first_table, 'u') is null begin set @err_table_not_found = replace(@err_table_not_found,'[plchldr_table_name]',@first_table) raiserror(@err_table_not_found,18,1) return - 1 end<br />
if object_id(@second_table, 'u') is null begin set @err_table_not_found = replace(@err_table_not_found,'[plchldr_table_name]',@second_table) raiserror(@err_table_not_found,18,1) return - 1 end<br />
<br />
if not exists(select 1 from sys.columns where object_name(object_id) = @first_table and name = @id_column) begin set @err_key_column_not_found = replace(@err_key_column_not_found,'[plchldr_table_name]',@first_table) raiserror(@err_key_column_not_found,18,1) return - 1 end<br />
if not exists(select 1 from sys.columns where object_name(object_id) = @second_table and name = @id_column) begin set @err_key_column_not_found = replace(@err_key_column_not_found,'[plchldr_table_name]',@second_table) raiserror(@err_key_column_not_found,18,1) return - 1 end<br />
<br />
/*let's start with a bit of housekeeping*/<br />
if object_id('table_compare_all_data', 'u') is not null drop table table_compare_all_data; if object_id('temp_table_for_xml_1', 'u') is not null drop table temp_table_for_xml_1; if object_id('temp_table_for_xml_2', 'u') is not null drop table temp_table_for_xml_2;<br />
<br />
/*get all columns from first and second, the else part still needs to be coded, suppose i could have used temp tables here...grrr*/<br />
if @column_list is null begin select @first_table_columns = stuff(( select distinct top 100 percent '],[' + t.name from sys.columns as t where object_name(object_id) = @first_table order by '],[' + t.name for xml path('')), 1, 2, '') + ']' select @second_table_columns = stuff(( select distinct top 100 percent '],[' + t.name from sys.columns as t where object_name(object_id) = @second_table order by '],[' + t.name for xml path('')), 1, 2, '') + ']' if @first_table_columns <> @second_table_columns begin raiserror('The two tables do not contain the same number of columns',18,1) return - 1 end end<br />
<br />
/*i suppose for this part i could have used "../ *[local-name()=sql:variable("@varname")]", but i ended up with errors. will look into this later */<br />
set @first_table_columns = replace(@first_table_columns,'['+@id_column+']','['+@id_column+ '] as id_column') set @second_table_columns = replace(@second_table_columns,'['+@id_column+']','['+@id_column+ '] as id_column')<br />
print @first_table_columns print @second_table_columns<br />
<br />
/*build dynamic sql to store all data*/<br />
set @sql_all_data = 'with cte_all_data as '+ '( '+ 'select '+@first_table_columns+','+char(39)+'first_table'+char(39)+ ' source_table from ['+@first_table+'] '+ 'union all '+ 'select '+@first_table_columns+','+char(39)+'second_table'+char(39)+' source_table from ['+@second_table+']'+ ')'+ ' select * into table_compare_all_data from cte_all_data'<br />
execute(@sql_all_data)<br />
<br />
/*clean up the comma separated column list*/<br />
if @column_list is null begin set @first_table_columns = replace(@first_table_columns,'['+@id_column+ '] as id_column','id_column') set @second_table_columns = replace(@second_table_columns,'['+@id_column+ '] as id_column','id_column') end<br />
declare @sql_for_temp_1 varchar(500) declare @sql_for_temp_2 varchar(500)<br />
set @sql_for_temp_1 = ' select top 5 * into temp_table_for_xml_1 from (' + ' select '+@first_table_columns+' from table_compare_all_data where source_table = '+char(39)+'first_table'+char(39)+ ' except ' + ' select '+@second_table_columns+' from table_compare_all_data where source_table = '+char(39)+'second_table'+char(39)+' ) as t1' <br />
set @sql_for_temp_2 = ' select top 15 * into temp_table_for_xml_2 from (' + ' select '+@second_table_columns+' from table_compare_all_data where source_table = '+char(39)+'second_table'+char(39) + ' except ' + ' select '+@first_table_columns+' from table_compare_all_data where source_table = '+char(39)+'first_table'+char(39)+' ) as t1'<br />
execute(@sql_for_temp_1) execute(@sql_for_temp_2)<br />
<br />
select @xml_first_table = (select * from (select * from temp_table_for_xml_1) as a for xml raw('xml_first_table')) select @xml_second_table = (select * from (select * from temp_table_for_xml_2) as a for xml raw('xml_second_table')) <br />
--print 'here'<br />
--print @sql_all_data --print @sql_for_temp_2<br />
--select * from table_compare_all_data<br />
--select * from temp_table_for_xml_1<br />
--select * from temp_table_for_xml_2<br />
;with cte1 as ( select t.c.value('../@id_column', 'nvarchar(20)') as id, t.c.value('local-name(.)', 'nvarchar(128)') as name, t.c.value('.', 'nvarchar(max)') as value from @xml_first_table.nodes('xml_first_table/@*') as t(c) ), cte2 as ( select t.c.value('../@id_column', 'nvarchar(20)') as id, t.c.value('local-name(.)', 'nvarchar(128)') as name, t.c.value('.', 'nvarchar(max)') as value from @xml_second_table.nodes('xml_second_table/@*') as t(c) ) <br />
select isnull(c1.id, c2.id) as key_value, isnull(c1.name, c2.name) as column_name, isnull(c1.value,'value not found in table '+ @first_table) as 'value_in_first_table', isnull(c2.value,'value not found in table '+ @second_table) as 'value_in_second_table' from cte1 as c1 full outer join cte2 as c2 on c2.id = c1.id and c2.name = c1.name where not ( c1.value is null and c2.value is null or c1.value is not null and c2.value is not null and c1.value = c2.value )<br />
--table_compare 'user1','user2','uid'agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com1tag:blogger.com,1999:blog-7135530153868146475.post-89226475927568054372014-03-10T10:54:00.001+02:002014-03-10T10:54:55.101+02:00How Can I Find How Much Space Each Table Uses In PowerpivotIf you are ever interested in finding out how much space each table uses in your PowerPivot model. This <a href="http://powerpivot-info.com/post/367-q-how-can-i-find-how-much-space-each-table-uses-in-powerpivot">post </a>might become useful.agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0tag:blogger.com,1999:blog-7135530153868146475.post-48903003256079404612014-03-10T10:52:00.000+02:002014-03-10T10:52:12.612+02:00Handling Slowly Changing Dimension Type II in PowerPivotThink this is a very interesting, simple yet effective approach to handling SCD 2 in a BISM environment. This bypasses the need of having to follow the ofttimes long-winded ETL process, where you'd usually need to store all your historical data in relational tables. See Alberto Ferrari's post here <a href="http://sqlblog.com/blogs/alberto_ferrari/archive/2011/02/09/powerpivot-and-the-slowly-changing-dimensions.aspx">PowerPivot and the Slowly Changing Dimensions</a>agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0tag:blogger.com,1999:blog-7135530153868146475.post-58168270262605680112013-09-12T08:31:00.002+02:002013-09-12T08:47:26.256+02:00Could not load file or assembly 'Microsoft.AnalysisServices.SharePoint.Integration<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-43976729-1', 'thitos.blogspot.com');
ga('send', 'pageview');
</script>
<span style="font-family: Verdana, sans-serif;">A lot of articles have been written about this particular issue. It seems like a really big issue with all the errors popping up everywhere, but in all honesty, it's bark is worse than its bite. I'll update this post later with a few online resources which I've found very useful while trying to solve this error.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">The error usually goes something like this...</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Error: Could not load file or assembly 'Microsoft.AnalysisServices.SharePoint.Integration, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.</span><br />
<span style="font-family: Verdana, sans-serif;">Option 1</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Open up command prompt with elevated permissions and run this command</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">RD /S C:\Windows\Assembly\GAC_MSIL\Microsoft.AnalysisServices.SharePoint.Integration</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">In most cases you will get an Access Denied error. That is because w3wp.exe is holding onto the file. You will need to stop IIS and run the command again.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Option 2</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">1. After the installer fails disable the assembly cache viewer.</span><br />
<span style="font-family: Verdana, sans-serif;">2. Go into the assembly and find the file Microsoft.AnalysisServices.SharePoint.Integration.dll</span><br />
<span style="font-family: Verdana, sans-serif;">3. Copy this dll to the bootstrap location: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\x64</span><br />
<span style="font-family: Verdana, sans-serif;">4. Remove the Powerpivot instance from the Program and Features .. SQL Server 2008 R2 Uninstall</span><br />
<span style="font-family: Verdana, sans-serif;">5. Enable the assembly cache viewer and copy the Microsoft.AnalysisServices.SharePoint.Integration.dll into the GAC.</span><br />
<span style="font-family: Verdana, sans-serif;">6. Run the installation process again to install the PowerPivot instance.</span><br />
<div>
<br /></div>agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com1tag:blogger.com,1999:blog-7135530153868146475.post-71944393277199845712013-09-12T08:17:00.000+02:002013-09-12T08:47:10.088+02:00OLEDB vs ADO.Net error in SSAS Tabular Models<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-43976729-1', 'thitos.blogspot.com');
ga('send', 'pageview');
</script>
<h2>
<span style="font-family: Verdana, sans-serif;">
OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.</span></h2>
<span style="font-family: Verdana, sans-serif;">So I come into the office pretty early, with a spring in my step, definitely amped up for the day ahead. I mean, who wouldn't be, especially if you are working with Tabular Models is SSAS. That aside...because ofttimes it can be short lived as was my experienced today. I try to load my table into the designer so I can start performing some DAX magic. Let's agree, DAX is magic!!! Comprendo? Good.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">When I go into table properties and click "OK". I get an OLEDB or ODBC error.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">The error reads as such:</span><br />
<span style="color: red; font-family: Verdana, sans-serif;">OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.</span><br />
<span style="color: red; font-family: Verdana, sans-serif;">A connection could not be made to the data source with the DataSourceID of 'c11c7644-9785-4e7f-89bb-e227848edd62', Name of '<Data Source Name>'.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">An error occurred while processing the partition 'PARTITION_NAME_b799baff-060f-4e30-8dcc-bd8aff962b25' in table 'PARTITION_NAME_b799baff-060f-4e30-8dcc-bd8aff962b25'.</span><br />
<span style="font-family: Verdana, sans-serif;">The current operation was cancelled because another operation in the transaction failed.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-63oCRajzedw/UjFaiBbJ-YI/AAAAAAAABw0/NXC2ksm3dl8/s1600/1.+Client+unable+to+establish+connection+08001.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="636" src="http://3.bp.blogspot.com/-63oCRajzedw/UjFaiBbJ-YI/AAAAAAAABw0/NXC2ksm3dl8/s640/1.+Client+unable+to+establish+connection+08001.PNG" width="640" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-_QzUBBkh-R0/UjFaiB40z9I/AAAAAAAABw4/yELd8KoL3nY/s1600/2.+Client+unable+to+establish+connection+08001.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="406" src="http://2.bp.blogspot.com/-_QzUBBkh-R0/UjFaiB40z9I/AAAAAAAABw4/yELd8KoL3nY/s640/2.+Client+unable+to+establish+connection+08001.PNG" width="640" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: Verdana, sans-serif;">This error is caused by ADO.Net, so I had to change my provider from SQL Server Native Client to OLEDB Provider for SQL Server.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">I don't know why this happens, but it does. If at first the change doesn't seem to work. Just close and reopen the project because connections are cached. You already know how to change providers, but here goes anyway,...</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-pt0V-A1v9RU/UjFbtMA-ZLI/AAAAAAAABxE/6g5duSjfTck/s1600/2.1.click+on+existing+connections.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="132" src="http://4.bp.blogspot.com/-pt0V-A1v9RU/UjFbtMA-ZLI/AAAAAAAABxE/6g5duSjfTck/s640/2.1.click+on+existing+connections.png" width="640" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-BnJawLQD5Yk/UjFbtLp6T9I/AAAAAAAABxI/ctRyazDtmTo/s1600/2.2.+edit+connection.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="640" src="http://1.bp.blogspot.com/-BnJawLQD5Yk/UjFbtLp6T9I/AAAAAAAABxI/ctRyazDtmTo/s640/2.2.+edit+connection.png" width="604" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-sr8dB3Vr3Pc/UjFbtfaPnqI/AAAAAAAABxM/V1QSV5_9WYs/s1600/2.3.+advanced+connections+properties.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="640" src="http://4.bp.blogspot.com/-sr8dB3Vr3Pc/UjFbtfaPnqI/AAAAAAAABxM/V1QSV5_9WYs/s640/2.3.+advanced+connections+properties.PNG" width="598" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-GSFgnUr1oeY/UjFbt7_HU2I/AAAAAAAABxc/1Ml9X8yRQC4/s1600/2.4.change+provider.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="640" src="http://2.bp.blogspot.com/-GSFgnUr1oeY/UjFbt7_HU2I/AAAAAAAABxc/1Ml9X8yRQC4/s640/2.4.change+provider.png" width="574" /></span></a></div>
<br />agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0tag:blogger.com,1999:blog-7135530153868146475.post-11797948857566216522013-06-05T20:07:00.000+02:002013-09-12T08:47:46.879+02:00SQL Server: Attach MDF without LDF<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-43976729-1', 'thitos.blogspot.com');
ga('send', 'pageview');
</script><span style="font-family: Verdana, sans-serif;">Yes, it happens. Sometimes, not very often I hope, you find yourself without a corrupt LDF file or for some odd reason you were handed an MDF file and you need to make this database file available for use. Desperate times call for desperate measures right? I hope you never have to deal with this in a production environment, because being the good DBA that you are, you have implemented a sound Disaster Recovery plan in your SQL Server environment. Without further ado, here is how you'd attach an MDF without an LDF. </span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">1. Create a new database with the same name and same MDF and LDF files </span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">2. Stop sql server and rename the existing MDF to a new one and copy the original MDF to this location and delete the LDF files.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">3. Start SQL Server</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">4. Now your database will be marked suspect 5. Update the sysdatabases to update to Emergency mode. This will not use LOG files in start up</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>Sp_configure "allow updates", 1</i></span><br />
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>go</i></span><br />
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>Reconfigure with override</i></span><br />
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>GO</i></span><br />
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>Update sysdatabases set status = 32768 where name = "BadDbName"</i></span><br />
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>go</i></span><br />
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>Sp_configure "allow updates", 0</i></span><br />
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>go</i></span><br />
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>Reconfigure with override</i></span><br />
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;"><i>GO</i></span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">6. Restart sql server. now the database will be in emergency mode</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">7. Now execute the undocumented DBCC to create a log file</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">DBCC REBUILD_LOG(dbname,'c:\dbname.ldf') -- Undocumented step to create a new log file.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">(replace the dbname and log file name based on ur requirement)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">8. Execute sp_resetstatus <dbname></span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">9. Restart SQL server and see the database is online.</span>agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0tag:blogger.com,1999:blog-7135530153868146475.post-63302268339970872502012-10-25T09:39:00.002+02:002013-09-12T08:48:22.834+02:00Microsoft SQL Server Reporting Services - The value of the Top property for the text box "Textbox1" is negative. Negative sizes are not allowed<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-43976729-1', 'thitos.blogspot.com');
ga('send', 'pageview');
</script><div style="text-align: justify;">
<span style="font-family: Verdana, sans-serif;"><u><b>Microsoft SQL Server Reporting Services - The value of the Top property for the text box "Textbox1" is negative. Negative sizes are not allowed</b></u></span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana, sans-serif;">This happens to me quite often and it has kind of become so easy to resolve. Usually when I work on reports, I happen to click on a lot of objects (text boxes, matrices, etc). Oft times the mouse slips and some odd object somewhere moves slightly out of position. </span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Verdana, sans-serif;">Before we continue any further, let me highlight that I've tried reproducing this error in "Microsoft SQL Server Report Builder 3.0" and fortunately the "Report Builder" won't even let me get away with the mistake. However things are a little bit different in Visual Studio.</span></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Usually when you try to deploy a report from Visual Studio, you'd get an error message like "The definition of the report "<b>ReportName</b>" is invalid." When you try to preview the report you then get a more descriptive error message like "An error occurred during local report processing. The definition of the report "<b>ReportName</b>" is invalid. The value of the Top property for the text box "</span><b style="color: #444444; font-family: Verdana, sans-serif;">textbox1</b><span style="font-family: Verdana, sans-serif;">" is negative. Negative sizes are not allowed."</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-NsHpeYM5Cfo/UIjsIDWOn7I/AAAAAAAAAbw/DyU7TEAU2zs/s1600/The+value+of+the+Top+property+for+the+text+box+Textbox1+is+negative.+Negative+sizes+are+not+allowed.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Microsoft SQL Server Reporting Services - The value of the Top property for the text box "Textbox1" is negative. Negative sizes are not allowed" border="0" height="88" src="http://2.bp.blogspot.com/-NsHpeYM5Cfo/UIjsIDWOn7I/AAAAAAAAAbw/DyU7TEAU2zs/s640/The+value+of+the+Top+property+for+the+text+box+Textbox1+is+negative.+Negative+sizes+are+not+allowed.PNG" title="Microsoft SQL Server Reporting Services - The value of the Top property for the text box "Textbox1" is negative. Negative sizes are not allowed" width="640" /></a></div>
<br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="color: #444444; font-family: Verdana, sans-serif;">What you need to do is locate the "</span><b style="color: #444444; font-family: Verdana, sans-serif;">textbox1</b><span style="color: #444444; font-family: Verdana, sans-serif;">" in your report and make sure it's selected, then go to the properties. Look for the position property which actually lets you specify the distance of your object from the containing/parent object. Probably the "top" property is a negative size, maybe something like -0.00004mm or -2mm, whatever the case maybe, change that value to a positive number or just make it zero, anything but a negative number.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-gKMwJRCPwwQ/UIjsLePrYkI/AAAAAAAAAb4/Kk7LyIE1B-0/s1600/The+value+of+the+Top+property+for+the+text+box+Textbox1+is+negative.+Negative+sizes+are+not+allowed+property.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Microsoft SQL Server Reporting Services - The value of the Top property for the text box "Textbox1" is negative. Negative sizes are not allowed" border="0" height="166" src="http://4.bp.blogspot.com/-gKMwJRCPwwQ/UIjsLePrYkI/AAAAAAAAAb4/Kk7LyIE1B-0/s640/The+value+of+the+Top+property+for+the+text+box+Textbox1+is+negative.+Negative+sizes+are+not+allowed+property.PNG" title="Microsoft SQL Server Reporting Services - The value of the Top property for the text box "Textbox1" is negative. Negative sizes are not allowed" width="640" /></a></div>
<table cellpadding="0" cellspacing="0" style="color: #1f5080; font-family: Verdana, Arial, Tahoma; text-align: start;"><tbody>
<tr><td class="smalltxt" style="color: #444444;" valign="top"><span id="_ctl5_ctlTopic_ctlPanelBar_ctlTopicsRepeater__ctl12_lblFullMessage"><span style="font-family: Verdana, sans-serif;"><br />Thato Mantai</span></span></td></tr>
</tbody></table>agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com2tag:blogger.com,1999:blog-7135530153868146475.post-38480105664493322032012-09-15T00:11:00.001+02:002013-09-12T08:48:35.174+02:00AppFabric installation failed because installer MSI returned with error code : 1603<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-43976729-1', 'thitos.blogspot.com');
ga('send', 'pageview');
</script><span style="font-family: Trebuchet MS, sans-serif;">When installing SharePoint 2013 Preview on Windows 2012, the prerequisites installer fails with the error "AppFabric installation failed because installer MSI returned with error code : 1603". What's irritating about this error is that it's pretty generic and tells very little about what you need to know to get it fixed. It's a standard MSI error message. To add salt to the wound, the situation gets messier everytime you try to uninstall or reinstall.<br /><br />I searched all over the inter-webs and some suggested yanking out the PSModulePath from the EnvironmentVariables, well I tried that and still no luck. In fact, I'd advice against deleting this variable. Rather keep it there, as there are other applications which might be referencing the same variable.<br /><br />The issue here seems to be that the path to the PowerShell executable that's needed for the AppFabric installation was incorrect. <br /><br />Enough talking, how do we fix this error?..<br /><br />Well, as it turns that appending this path to <span style="background-color: black; color: white;">PSModulePath</span> (System Properties -> Environment Variables -> System Variables) entry solves the problem... <span style="background-color: black; color: white;">%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\</span><br /><br />All the best.<br /><br /><u> Update: 28 January 2012 </u><br /><br /> Added a few graphics for simplicity... <br /><br /><a href="http://4.bp.blogspot.com/-enez5TMlSZg/UQYzy8FAjbI/AAAAAAAAA1c/Zx6ecI8_0_w/s1600/AppFabric+installation+failed+because+installer+MSI+returned+with+error+code+1.png"><img border="0" src="http://4.bp.blogspot.com/-enez5TMlSZg/UQYzy8FAjbI/AAAAAAAAA1c/Zx6ecI8_0_w/s640/AppFabric+installation+failed+because+installer+MSI+returned+with+error+code+1.png" /></a><br /><br /><a href="http://4.bp.blogspot.com/-1dTZ4LDmH0E/UQYzy2vaA_I/AAAAAAAAA1g/sesqDgrdmqg/s1600/AppFabric+installation+failed+because+installer+MSI+returned+with+error+code+2.png"><img border="0" src="http://4.bp.blogspot.com/-1dTZ4LDmH0E/UQYzy2vaA_I/AAAAAAAAA1g/sesqDgrdmqg/s640/AppFabric+installation+failed+because+installer+MSI+returned+with+error+code+2.png" /></a><br /><br /><a href="http://4.bp.blogspot.com/-Un0jH0N-5jc/UQYzy0E3JZI/AAAAAAAAA1Y/PTMeqzcqtLo/s1600/AppFabric+installation+failed+because+installer+MSI+returned+with+error+code+3.png"><img border="0" src="http://4.bp.blogspot.com/-Un0jH0N-5jc/UQYzy0E3JZI/AAAAAAAAA1Y/PTMeqzcqtLo/s400/AppFabric+installation+failed+because+installer+MSI+returned+with+error+code+3.png" /></a></span>agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com2tag:blogger.com,1999:blog-7135530153868146475.post-57926253385755905812012-06-05T10:56:00.000+02:002013-09-12T08:48:44.842+02:00Could not load file or assembly 'Microsoft.AnalysisServices.SharePoint.Integration<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-43976729-1', 'thitos.blogspot.com');
ga('send', 'pageview');
</script><span style="font-size: large;"><span style="font-family: Verdana, sans-serif;">This page has moved to </span><a href="http://thitos.blogspot.com/2013/09/could-not-load-file-or-assembly.html">http://thitos.blogspot.com/2013/09/could-not-load-file-or-assembly.html</a></span><br />
<br />
<span style="background-color: white; font-family: Verdana, sans-serif; font-size: x-small;">A lot of articles have been written about this particular issue. It seems like a really big issue with all the errors popping up everywhere, but in all honesty, it's bark is worse than its bite. I'll update this post later with a few online resources which I've found very useful while trying to solve this error.</span><br />
<span style="background-color: white;"><span style="font-family: Verdana, sans-serif; font-size: x-small;"><br /></span>
<span style="font-family: Verdana, sans-serif; font-size: x-small;">The error usually goes something like this...</span></span><br />
<span style="background-color: white;"><span style="font-family: Verdana, sans-serif; font-size: x-small;"><br /></span>
</span><br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><span style="background-color: white; font-family: Verdana, sans-serif;">Error: Could not load file or assembly 'Microsoft.AnalysisServices.SharePoint.Integration, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.</span></span></blockquote>
<h4>
<span style="background-color: white; font-family: Verdana, sans-serif; font-size: x-small;">Option 1</span></h4>
<span style="background-color: white; font-family: Verdana, sans-serif; font-size: x-small;">Open up command prompt with elevated permissions and run this command</span><br />
<span style="background-color: white;"><span style="font-family: Verdana, sans-serif; font-size: x-small;"><br /></span>
<span style="font-family: Verdana, sans-serif; font-size: x-small;">RD /S C:\Windows\Assembly\GAC_MSIL\Microsoft.AnalysisServices.SharePoint.Integration</span></span><br />
<span style="background-color: white;"><span style="font-family: Verdana, sans-serif; font-size: x-small;"><br /></span>
<span style="font-family: Verdana, sans-serif; font-size: x-small;">In most cases you will get an Access Denied error. That is because w3wp.exe is holding onto the file. You will need to stop IIS and run the command again.</span></span><br />
<span style="background-color: white;"><span style="font-family: Verdana, sans-serif; font-size: x-small;"><br /></span>
</span><br />
<h3>
<span style="background-color: white; font-family: Verdana, sans-serif; font-size: x-small;">Option 2</span></h3>
<span style="background-color: white;"><span style="font-family: Verdana, sans-serif; font-size: x-small;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><span style="font-size: x-small;">1. After the installer fails disable the assembly cache viewer.<br />2. Go into the assembly and find the file Microsoft.AnalysisServices.SharePoint.Integration.dll<br />3. Copy this dll to the bootstrap location: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\x64<br />4. Remove the Powerpivot instance from the Program and Features .. SQL Server 2008 R2 Uninstall<br />5. Enable the assembly cache viewer and copy the Microsoft.AnalysisServices.SharePoint.Integration.dll into the GAC.<br />6. Run the installation process again to install the PowerPivot instance.</span>
</span></span><br />
<span style="background-color: white;"><span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif; font-size: 11px;"><br /></span></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>agang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0tag:blogger.com,1999:blog-7135530153868146475.post-35384980871946583002012-06-05T10:27:00.002+02:002013-09-12T08:49:04.190+02:00How to join a SharePoint server to an existing farm using PowerShell<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-43976729-1', 'thitos.blogspot.com');
ga('send', 'pageview');
</script>
$SQLServer = "myDatabaseServer"<br />
$FarmPassPhrase = "myFarmPassPhrase"<br />
$FarmConfigDatabase = "SP1_SharePoint_Config_DB"<br />
<br />
$FarmPassphrase = (ConvertTo-SecureString $FarmPassPhrase -AsPlainText -force)<br />
Connect-SPConfigurationDatabase -DatabaseServer $SQLServer -DatabaseName $FarmConfigDatabase -Passphrase $FarmPassphrase<br />
<br />
Initialize-SPResourceSecurity<br />
Install-SPService <br />
Install-SPFeature -AllExistingFeaturesagang sechabahttp://www.blogger.com/profile/08672540688445940562noreply@blogger.com0