<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Tom/Manuel,<div><br></div><div>The latest Excel/Simba support is in the Mondrian 3.2 branch. I'd be interested to learn of any issues you experience with Excel using this branch?</div><div><br></div><div>Calum<br><div><div>On 5 Feb 2010, at 15:02, <a href="mailto:tom@wamonline.org.uk">tom@wamonline.org.uk</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; ">Manuel we are doing a simba eval at the moment and get the same error when querying a dimension thats constructed from a &lt;sql&gt;case when.... &lt;/sql&gt;<span class="Apple-converted-space">&nbsp;</span><br><br>Haven't yet filed a bug report... I dunno who's fault it is ;)<br><br>Tom<br><br><br><br><span style="font-weight: bold; ">On Fri 5/02/10 2:55 PM , Manuel Darveau<span class="Apple-converted-space">&nbsp;</span><a href="mailto:manueldarveau@gmail.com">manueldarveau@gmail.com</a><span class="Apple-converted-space">&nbsp;</span>sent:<br></span><blockquote style="border-left-width: 2px; border-left-style: solid; border-left-color: rgb(245, 245, 245); margin-left: 5px; margin-right: 0px; padding-left: 5px; padding-right: 0px; ">Hi,<br><br>I am using Excel 2007 with the Simba O2X plugin.<br><br>I have a pivot table on "Rentals" with only one count mesure ("RentalsCount") and a dimension called "Subscription". The possible values for the "Subscription" dimension are "Casual", "Subscriber" and "Unknown".<br>If I simply add the dimension, I get a correct result. If I add a filter only on one item of the dimension (say "Casual"), I get a correct result. However, if I filter on two items of the dimension (say "Casual" and "Subscriber"), I get a popup stating that the query did not run.<br>On the server side I activated some debug and got the following (sorry for the log dump but I tought that it would be usefull):<br><br>02.05;09:41:58.626 DEBUG XML/A request content<br><envelope xmlns="&lt;a href=" http:="" schemas.xmlsoap.org="" soap="" envelope="" target="_blank"><a href="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</a>" xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a>" xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank"><span class="Apple-converted-space">&nbsp;</span></a><a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"&gt;<br>&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><header><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><session xmlns="urn:schemas-microsoft-com:xml-analysis" sessionid="" mustunderstand="1"><br>&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></session><br>&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><execute xmlns="urn:schemas-microsoft-com:xml-analysis"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><command><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><statement>WITH&nbsp; SET [XL_Row_Dim_0] AS 'VisualTotals(Distinct(Hierarchize({Ascendants([Subscription].[All Subscriptions].[Casual]), Descendants([Subscription].[All Subscriptions].[Casual]), Ascendants([Subscription].[All Subscriptions].[Subscriber]), Descendants([Subscription].[All Subscriptions].[Subscriber])})))'&nbsp; SELECT NON EMPTY Hierarchize(Intersect({DrilldownLevel({[Subscription].[All Subscriptions]})}, [XL_Row_Dim_0])) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS&nbsp; FROM [Rentals] WHERE ([Measures].[RentalsCount]) CELL PROPERTIES VALUE</statement><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></command><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><properties><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><propertylist><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><format>Multidimensional</format><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><axisformat>TupleFormat</axisformat><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><datasourceinfo>Provider=Mondrian;DataSource=bixicube;</datasourceinfo><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><localeidentifier>1033</localeidentifier><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><catalog>bixicube</catalog><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><visualmode>1</visualmode><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></propertylist><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></properties><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></execute><br>&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><br></header><br>02.05;09:41:58.646 DEBUG 1: with set [XL_Row_Dim_0] as 'VisualTotals(Distinct(Hierarchize({Ascendants([Subscription].[All Subscriptions].[Casual]), Descendants([Subscription].[All Subscriptions].[Casual]), Ascendants([Subscription].[All Subscriptions].[Subscriber]), Descendants([Subscription].[All Subscriptions].[Subscriber])})))'<br>select NON EMPTY Hierarchize(Intersect({DrilldownLevel({[Subscription].[All Subscriptions]})}, [XL_Row_Dim_0])) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS<br>from [Rentals]<br>where [Measures].[RentalsCount]<br><br>02.05;09:41:58.651 DEBUG 1: exec: 4 ms<br>02.05;09:41:58.651 ERROR Errors when handling XML/A message<br>mondrian.xmla.XmlaException: Mondrian Error:XMLA MDX execute failed<br>&nbsp;&nbsp;&nbsp; at mondrian.xmla.XmlaHandler.executeQuery(XmlaHandler.java:1695)<br>&nbsp;&nbsp;&nbsp; at mondrian.xmla.XmlaHandler.execute(XmlaHandler.java:642)<br>&nbsp;&nbsp;&nbsp; at mondrian.xmla.XmlaHandler.process(XmlaHandler.java:552)<br>&nbsp;&nbsp;&nbsp; at mondrian.xmla.impl.DefaultXmlaServlet.handleSoapBody(DefaultXmlaServlet.java:411)<br>&nbsp;&nbsp;&nbsp; at mondrian.xmla.XmlaServlet.doPost(XmlaServlet.java:311)<br>&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)<br>&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.Server.handle(Server.java:326)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)<br>&nbsp;&nbsp;&nbsp; at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)<br>Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while executing query [with set [XL_Row_Dim_0] as 'VisualTotals(Distinct(Hierarchize({Ascendants([Subscription].[All Subscriptions].[Casual]), Descendants([Subscription].[All Subscriptions].[Casual]), Ascendants([Subscription].[All Subscriptions].[Subscriber]), Descendants([Subscription].[All Subscriptions].[Subscriber])})))'<br>select NON EMPTY Hierarchize(Intersect({DrilldownLevel({[Subscription].[All Subscriptions]})}, [XL_Row_Dim_0])) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS<br>from [Rentals]<br>where [Measures].[RentalsCount]<br>]<br>&nbsp;&nbsp;&nbsp; at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:816)<br>&nbsp;&nbsp;&nbsp; at mondrian.olap.Util.newInternal(Util.java:1492)<br>&nbsp;&nbsp;&nbsp; at mondrian.olap.Util.newError(Util.java:1508)<br>&nbsp;&nbsp;&nbsp; at mondrian.rolap.RolapConnection.execute(RolapConnection.java:633)<br>&nbsp;&nbsp;&nbsp; at mondrian.xmla.XmlaHandler.executeQuery(XmlaHandler.java:1691)<br>&nbsp;&nbsp;&nbsp; ... 19 more<br>Caused by: java.lang.UnsupportedOperationException<br>&nbsp;&nbsp;&nbsp; at mondrian.olap.fun.VisualTotalsFunDef$VisualTotalMember.getOrdinal(VisualTotalsFunDef.java:246)<br>&nbsp;&nbsp;&nbsp; at mondrian.olap.fun.FunUtil.compareSiblingMembers(FunUtil.java:1854)<br>&nbsp;&nbsp;&nbsp; at mondrian.olap.fun.FunUtil.compareHierarchically(FunUtil.java:1806)<br>&nbsp;&nbsp;&nbsp; at mondrian.olap.fun.FunUtil$HierarchizeComparator.compare(FunUtil.java:2841)<br>&nbsp;&nbsp;&nbsp; at mondrian.olap.fun.FunUtil$HierarchizeComparator.compare(FunUtil.java:2834)<br>&nbsp;&nbsp;&nbsp; at java.util.Arrays.mergeSort(Arrays.java:1270)<br>&nbsp;&nbsp;&nbsp; at java.util.Arrays.sort(Arrays.java:1210)<br>&nbsp;&nbsp;&nbsp; at java.util.Collections.sort(Collections.java:159)<br>&nbsp;&nbsp;&nbsp; at mondrian.olap.fun.FunUtil.hierarchizeMemberList(FunUtil.java:735)<br>&nbsp;&nbsp;&nbsp; at mondrian.olap.fun.HierarchizeFunDef$1.evaluateMemberList(HierarchizeFunDef.java:56)<br>&nbsp;&nbsp;&nbsp; at mondrian.calc.impl.AbstractExpCompiler$MemberListIterCalc.evaluateMemberIterable(AbstractExpCompiler.java:569)<br>&nbsp;&nbsp;&nbsp; at mondrian.calc.impl.AbstractMemberIterCalc.evaluate(AbstractMemberIterCalc.java:52)<br>&nbsp;&nbsp;&nbsp; at mondrian.rolap.RolapResult.executeAxis(RolapResult.java:731)<br>&nbsp;&nbsp;&nbsp; at mondrian.rolap.RolapResult.evalLoad(RolapResult.java:574)<br>&nbsp;&nbsp;&nbsp; at mondrian.rolap.RolapResult.loadMembers(RolapResult.java:540)<br>&nbsp;&nbsp;&nbsp; at mondrian.rolap.RolapResult.<init>(RolapResult.java:273)<br>&nbsp;&nbsp;&nbsp; at mondrian.rolap.RolapConnection.execute(RolapConnection.java:604)<br>&nbsp;&nbsp;&nbsp; ... 20 more<br>02.05;09:41:58.653 DEBUG XML/A response content<br><br><soap-env:envelope xmlns:soap-env="&lt;a href=" http:="" schemas.xmlsoap.org="" soap="" envelope="" target="_blank"><a href="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</a>" SOAP-ENV:encodingStyle="<a href="http://schemas.xmlsoap.org/soap/encoding/" target="_blank">http://schemas.xmlsoap.org/soap/encoding/</a>" &gt;<br><soap-env:header><br><session sessionid="" xmlns="urn:schemas-microsoft-com:xml-analysis"></session><br><soap-env:body><br><soap-env:fault><br>&nbsp;<span class="Apple-converted-space">&nbsp;</span><faultcode>SOAP-ENV:Server.00HSBD02</faultcode><br>&nbsp;<span class="Apple-converted-space">&nbsp;</span><faultstring>XMLA MDX execute failed</faultstring><br>&nbsp;<span class="Apple-converted-space">&nbsp;</span><faultactor>Mondrian</faultactor><br>&nbsp;<span class="Apple-converted-space">&nbsp;</span><detail><br>&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><xa:error xmlns:xa="&lt;a href=" http:="" mondrian.sourceforge.net="" target="_blank"><a href="http://mondrian.sourceforge.net">http://mondrian.sourceforge.net</a>"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><code>00HSBD02</code><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><desc>The Mondrian XML: java.lang.UnsupportedOperationException</desc><br>&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></xa:error><br>&nbsp;<span class="Apple-converted-space">&nbsp;</span></detail><br></soap-env:fault><br></soap-env:body><br></soap-env:header><br><br>I just upgraded to mondrian 3.1.5.13307 (from 3.1.1.12687) since I had other issues with filters probably related to<span class="Apple-converted-space">&nbsp;</span><a href="http://jira.pentaho.com/browse/MONDRIAN-295" target="_blank">http://jira.pentaho.com/browse/MONDRIAN-295</a><span class="Apple-converted-space">&nbsp;</span>which is now fixed. My guess is that excel generates MDX that mondrian does not expect but unfortunately, I can't modify the generated MDX.<br><br>Is there anything else I can do to help diagnose the problem?<br><br>Thank you very much, your support if greatly appreciated.<br><br>Manuel Darveau<br></soap-env:envelope></init></envelope></blockquote><br>_______________________________________________<br>Mondrian mailing list<br><a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a><br><a href="http://lists.pentaho.org/mailman/listinfo/mondrian">http://lists.pentaho.org/mailman/listinfo/mondrian</a><br></div></span></blockquote></div><br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Calum Miller</div><div>Business Intelligence Specialist</div><div><a href="mailto:calum@millersoft.ltd.uk">calum@millersoft.ltd.uk</a></div><div><div><a href="http://www.millersoft.ltd.uk">http://www.millersoft.ltd.uk</a></div></div><div>Telephone:&nbsp;+44 (0) 131 208 0202</div><div>Mobile: +44 (0) 7973 249 621</div><div>Skype: calummiller</div><br class="Apple-interchange-newline"><span></span><span></span><span></span><span><img height="82" width="300" src="cid:5981C11B-C893-49DE-B1CF-879936CF7B0C"></span> </div></span></span></span></span></span></span></span></span></div><br></div></body></html>