go to post Alexander Koblov · Aug 2, 2016 Paul, Please notice that CentOS 7 is not supported platform for deployment. CentOS 7 is supported only as a development platform http://docs.intersystems.com/ens20161/csp/docbook/DocBook.UI.Page.cls?KE...
go to post Alexander Koblov · Jul 27, 2016 Hi Trevor. The other question is why do you need this? What is the end goal that you want to achieve? Thank you, Alexander.
go to post Alexander Koblov · Jul 12, 2016 Documentation explains both functions well and with examples, so I encourage you to look into them. Especially first two examples for %ALL function ALLMEMBERS -- function that returns a set of all members of the given level or hierarchy http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=... %ALL -- function that enables you to use a member while ignoring any ROW and COLUMN context that uses the hierarchy to which this member belongs. http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=... As to your question about calculating percentage of the top level, here is sample that for each product calculates revenue percentage of total from all products (2nd column) and from category for this product (3rd column). RevenuePctOfAllProducts and RevenuePctOfParent are calculated measures that defined as follows: RevenuePctOfAllProducts: Measures.[Amount Sold] / SUM(Product.[All Product].%ALL, Measures.[Amount Sold]) RevenuePctOfParent: Measures.[Amount Sold] / SUM(Product.CurrentMember.Parent, Measures.[Amount Sold]) So the full query looks like: WITH MEMBER [MEASURES].[RevenuePctOfAllProducts] AS 'Measures.[Amount Sold] / SUM(Product.[All Product].%ALL, Measures.[Amount Sold])' MEMBER [MEASURES].[RevenuePctOfParent] AS 'Measures.[Amount Sold] / SUM(Product.CurrentMember.Parent, Measures.[Amount Sold])' SELECT NON EMPTY {[Measures].[Amount Sold], [MEASURES].[REVENUEPCTOFALLPRODUCTS], [MEASURES].[REVENUEPCTOFPARENT]} ON 0, NON EMPTY HEAD(NONEMPTYCROSSJOIN([Product].[P1].[Product Category].Members,[Product].[P1].[Product Name].Members),2000) ON 1 FROM [HOLEFOODS]
go to post Alexander Koblov · Jul 1, 2016 Hi Cheng Cheng. %DeepSee.ResultSet has property %UseCache to make query not to use cache. You can set it if you run using %DeepSee.ResultSet directly. As far as I know this is not configurable from Analyzer or User Portal. And it cannot be set system- wide or for particular cube. Regards, Alexander.
go to post Alexander Koblov · Jun 29, 2016 Also please notice that Base64Encode does not work with Unicode characters: http://docs.intersystems.com/cache20152/csp/documatic/%25CSP.Documatic.c...
go to post Alexander Koblov · Jun 22, 2016 Yes, Illegal CSP Request usually means that access to this particular class is prohibited. If your web application named '/csp/healthshare/mhclib/' then you need to enable classes as follows: set ^SYS("Security","CSP","AllowClass","/csp/healthshare/mhclib/","%SOAP.WebServiceInfo")=1 set ^SYS("Security","CSP","AllowClass","/csp/healthshare/mhclib/","%SOAP.WebServiceInvoke")=1 Notice that calling SOAP Service via test webpage (%SOAP.WebServiceInvoke.cls) is independent from calling web service via SOAP protocol. For that you should check option "Inbound Web Services" in Web application settings. %SOAP.WebServiceInfo and %SOAP.WebServiceInvoke are just pages to test web services via Browser. SOAP protocol itself does not use these pages.
go to post Alexander Koblov · Jun 22, 2016 Message "An error occurred with the CSP application and has been logged to system error log (^ERRORS)" means that you can check error in Management Portal -> System Operation -> System Logs -> Application Error Log -> [Namespace] Or for debugging purposes set error page for web application to %CSP.Error.cls http://docs.intersystems.com/cache20161/csp/docbook/DocBook.UI.Page.cls?... and see errors on the page itself
go to post Alexander Koblov · Jun 13, 2016 Hi Randy. FILTER option in SETTINGS references "Allowed Default Values for Filters" section of doc http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=... You can specify set of members as follows: "{&[keyval1],&[keyval2],&[keyval3]}" Then you need to URL encode this value: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=... Particularly by replacing & with %26 and , with %2C For example, if I want to pass to "Basic Dashboard Demo" several values for Home Zip Code filter I need to create following string: &SETTINGS=FILTER:[HomeD].[H1].[ZIP].{&[32006],&[32007]} And then URL encode it to &SETTINGS=FILTER:[HomeD].[H1].[ZIP].{%26[32006]%2C%26[32007]}
go to post Alexander Koblov · Jun 8, 2016 Hi Blaise. Does following query looks like what you need? With Member Measures.[RunningTotal] As 'AGGREGATE(%TIMERANGE(DateOfSale.[Actual].[MonthSold].&[201101],DateOfSale.CurrentMember), MEASURES.[Amount Sold])',FORMAT_STRING='$#,#.#' SELECT {Measures.[Amount Sold],Measures.[RunningTotal]} ON 0, [DateOfSale].[Actual].YearSold.&[2016].CHILDREN ON 1 FROM HOLEFOODS It prints two columns -- Revenue in current month and Total revenue from 2011-01 up to current month. Rows are months of 2016 year.
go to post Alexander Koblov · Jun 7, 2016 Also on some sites (reddit, for example) comments/answers can be sorted not only by date but also by votes. As an example, see https://www.reddit.com/r/announcements/comments/4mv578/affiliate_links_o...
go to post Alexander Koblov · May 27, 2016 As far as I know office365.com requires STARTTLS that is supported as UseSTARTTLS property of %Net.SMTP starting with Cache 2010.2
go to post Alexander Koblov · May 16, 2016 As far as I know it is not possible to switch it on. You might find function DESCENDANTS (http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...) helpful. For time dimension, all members of the level are generated and available to queries that show empty. This means SELECT DESCENDANTS([DateOfSale].[YearSold].&[2015],DateOfSale.DaySold) ON 1 FROM HoleFoods will show all days from 2015 on rows, whether there are facts recorded for those days or not.
go to post Alexander Koblov · Apr 21, 2016 SQL Adapter does some metadata caching. See, for example, doc for method EnsLib.SQL.Common:ExecuteProcedure http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?P... "Appending a '#' to the pIO argument (or passing only '#') prevents the adapter from using cached DescribeColumns() results for the procedure call output, forcing a fresh call to ODBC DescribeColumns() every time the stored procedure is invoked. This can be necessary if the procedure is capable of returning different sequences of result types from consecutive invocations" I'm not sure if this is what happened in this case, though.
go to post Alexander Koblov · Mar 29, 2016 By default %ToJSON method prints empty properties. If you pass pFormat without "e" flags (that is passed by default), then empty properties are skipped: USER>set p = ##class(%ZEN.proxyObject).%New() USER>set p.a = 1 USER>set p.b = 2 USER>do p.%ToJSON() { "a":1, "b":2 } USER>set p.b = "" USER>do p.%ToJSON() { "a":1, "b":"" } USER>do p.%ToJSON(,"alotw") { "a":1 } I encourage you to use Caché 2016.1 with native JSON support. Don't start with %ZEN.proxyObject. See great article by Stefan Wittman about JSON support in 2016.1: https://community.intersystems.com/post/introducing-new-json-capabilitie...
go to post Alexander Koblov · Mar 17, 2016 Why do you need this? For example, for debugging purposes you might use second argument of Get method: do request.Get(,1) In that case "instead of connecting to a remote machine httprequest will just output what it would have send to the web server to the current device".
go to post Alexander Koblov · Mar 14, 2016 And you need to do this why? I mean what is the end goal? To show user some menu when they open Terminal? You can specify "Startup Tag^Routine" for this purpose: http://docs.intersystems.com/cache201513/csp/docbook/DocBook.UI.Page.cls...
go to post Alexander Koblov · Mar 7, 2016 Hi Nicki. Delete menu item for packages should be back again in latest 2016.2 field test release -- build 605 Also, there is $system.OBJ.DeletePackage method: http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?...
go to post Alexander Koblov · Mar 2, 2016 The first time a message is added to a domain by $$$Text, $$$SessionLanguage is used: http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?... $$$SessionLanguage is determined by locale of current process, that is by default is the same as locale of Caché instance http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?... Default locale for Caché instance is determined during installation based on OS locale. For example, on English Windows that has Russian in Regional Settings, Caché is installed with locale rusw (ruw8 for 8-bit installation). You can change locale after installation. There is no option to select locale during installation. You can change current session language with ##class(%MessageDictionary).SetSessionLanguage("ru")
go to post Alexander Koblov · Feb 5, 2016 Hi Blaise. There is query ErrorLog in %CSP.UI.System.BackgroundTask class so you can print errors like follows: USER>do ##class(%ResultSet).RunQuery("%CSP.UI.System.BackgroundTask","ErrorLog",3932) 3932 here is task id. And print errors to file: USER>set file="c:\temp\sqlerrors.txt" USER>open file:"NW":5 USER>use file do ##class(%ResultSet).RunQuery("%CSP.UI.System.BackgroundTask","ErrorLog",3932) USER>close file Notice that %CSP.UI.System.BackgroundTask is marked for internal use only.