Question Evgeny Shvarov · Jun 9, 2017 Caché Classes: How to Make a View on a Class to Manage Property Level Security? Hi, Community!Suppose I have class A with properties P1 and P2.I want to introduce class B, which would have same records as Class A, but only one property - P2.What is the easiest way to manage it assuming that I would like to use Class A to add records and be available for any operations to Users with Role A.And I would like to introduce class B for Users with role B for read-only access. Preferably they shouldn't even be aware of Class A and P1 existence .What is the easiest way to introduce it and manage it? #Data Model #Object Data Model #Security #Caché 0 10 0 758
Question Evgeny Shvarov · May 29, 2017 Globals vs Locals: What Is Faster? Hi, colleagues!Consider you need to put some (less than 1GB) data to an indexed array and do some data manipulations and calculations with it.Should I prefer global or local for it?Is there any general rule when local is faster than global and vice-versa? #Globals #Performance #Caché 4 5 0 1.5K
Question Evgeny Shvarov · May 26, 2017 What Is the Best Object Callback for Insert Operations: %OnBeforSave(), %OnAddToSaveSet(), %OnAfterSave() Hi!I'm saving object instance using RestForms.RESTFormsUI calls %Save() for me, which is great. But I want to set the property CreationDate with the current date for every new record being inserted.So object callback implementation seems as a reasonable option. I did the following: #Code Snippet #Object Data Model #ObjectScript #Caché 0 15 0 981
Question Evgeny Shvarov · May 24, 2017 Storage Schema in VCS: to Store Or Not to Store? Hi, colleagues!When you export the Caché ObjectScript code to VCS (Git, SVN, Perforce, etc) do you export the Storage schema for persistent classes? If so, what are the Pro/Contra?Thanks! #Beginner #Change Management #Git #Object Data Model #ObjectScript #Caché 0 20 0 2K
Question Evgeny Shvarov · May 18, 2017 How to Automatically Test DeepSee Pivots and Dashboards? Hi, colleagues!Suppose you have large set of cubes, pivots and dashboards in your DeepSee solution.Then you change the level, measure or dimension in the cube and is there any way to test that your new input didn't break current pivots, dashboards, etc?How to test this?How do you test your DeepSee solutions? #Change Management #InterSystems IRIS BI (DeepSee) #Testing 2 4 0 395
Question Evgeny Shvarov · Apr 11, 2017 How to prevent alert window from popping up on a Zen page Hi!Sometimes when I have Zen page in a browser (e.g. Management Portal page) and when my Internet connection interrupts, I see the alert window on the page, something like this screenshot: Is there any setting for the CSP web app to prevent this alerts from popping up? #CSP #System Administration #Frontend #ZEN #Caché 0 2 0 688
Question Evgeny Shvarov · Apr 9, 2017 Best practices for filtering widgets from different cubes in InterSystems DeepSee Hi!Sometimes I need to filter the widget on a dashboard from a different cube. And I face the following problem:Widget A refers to a query from Cube A and I want to filter Widget B from Widget B.Widget's B pivot refers to Cube B, and which has different dimensions for the same data.E.g. cube A has the dimension Author and the Cube B has the dimension Member for the same data. So there is no way to filter such a widget B from the widget A. #Dashboards #MDX #InterSystems IRIS BI (DeepSee) 1 1 1 364
Question Evgeny Shvarov · Apr 5, 2017 How to get the measure for the last day in a month in DeepSee Hi, Community! How can I manage to show in MDX query months where every month shows the value of the last month? Say, in HoleFoods the query: SELECT NON EMPTY [Measures].[Amount Sold] ON 0,NON EMPTY [DateOfSale].[Actual].[MonthSold].Members ON 1 FROM [HOLEFOODS] will show me the sum of revenue per month. This query: #MDX #InterSystems IRIS BI (DeepSee) 0 11 0 2.4K
Question Evgeny Shvarov · Apr 1, 2017 Is there a way to rebuild indices for all the classes in a given namespace? I'm moving *D globals from DatabaseA to DatabalseB.After importing globals I need to rebuild indices for all the imported persistent classes.Colleagues, maybe you know one command which does it for all the classes in Namespace? #Continuous Integration #Development Environment #Object Data Model #SQL #Caché 0 2 0 961
Question Evgeny Shvarov · Apr 1, 2017 Is there an option to export globals in archive? Hi, Community! Is there an option to get an archived file of globals in one command. Say for: Do $System.OBJ.Export("Class1*D.GBL,Class2*D.GBL","data_gbl.xml") get something like: Do $System.OBJ.Export("Data*D.GBL","data_gbl.gz","gzip") And also to have the convenient one click way to import it to the namespace via terminal or Control Panel? If anyone already has this module, share please? It would be very convenient for import/export/continuous integration purposes cause globals can be really heavy. #Continuous Integration #Globals #Development Environment #Terminal #Caché 0 8 0 928
Question Evgeny Shvarov · Mar 13, 2017 How to filter two widgets in DeepSee New_Window command? Hi! There is a 'New_window' control in DeepSee Widget which opens the page in a new tab in a browser with a given URL. With the help of this control you can open another dashboard and supply some parameters in SETTINGS clause. Consider I can setup in Dash1 the URL like: #InterSystems IRIS BI (DeepSee) #Dashboards #UI Development 0 2 0 257
Question Evgeny Shvarov · Feb 26, 2017 Named filter in DeepSee Hi!There is an option to introduce Named filters in Analyser and save it with the pivot.How can I make the Named filter available in a dashboard? #InterSystems IRIS BI (DeepSee) #Dashboards 0 2 0 297
Question Evgeny Shvarov · Feb 25, 2017 How to add the case insensitive index to a class? Hi!Consider I have a class Package.Data with Property UniqueStringValue as %String.I introduced the Index for this property: Index ValueIndex on UniqueStringValue [Unique]; It works well. But if I try to check if there is an object with the certain value in code like this: if ##class(Package.Data).ValueIndexExists(value) this expression fails, if value="value", even if there is an instance with instance.UniqueStingValue="Value" How can I set the index to prevent saving case sensitive values in this class? #Indexing #Object Data Model #ObjectScript #Caché 0 6 0 611
Question Evgeny Shvarov · Feb 25, 2017 How to deploy resources and roles? Hi, Community!Consider I have ResourceA which is used by role RoleA in dev environment and want to deploy it with the solution on a target system.Would you please share the best practices to make it?Thank you in advance! #Deployment #DevOps #Security #Caché 0 8 0 545
Question Evgeny Shvarov · Feb 13, 2017 How to calculate the number of rows in DeepSee? Hi!How can I show a number of rows in a given DeepSee pivot? #InterSystems IRIS BI (DeepSee) #Analyzer #MDX 0 3 0 441
Question Evgeny Shvarov · Feb 12, 2017 Mandatory or queried filters for the dashboards Hi!There are DeepSee dashboards, which make sense only when filtered.Usually, they are used as Drill Target or New_window control with SETTINGS=Widget;FILTER=filtervalue.Is there a way to hide such dashboard from the Catalog or/and request the filter value once it is opened by User? #InterSystems IRIS BI (DeepSee) #Dashboards #Visualization 0 3 0 320
Question Evgeny Shvarov · Jan 24, 2017 How to calculate percentage of all for a member in DeepSee? Hi, All!What is the calculated measure expression for the percentage of a member?Say in Holefoods I want to see in a Cols Online sales in Revenue, All the revenue and % of Online sales for the Revenue?I have the following:With expression: #Analytics #Code Snippet #MDX #InterSystems IRIS BI (DeepSee) 0 5 0 551
Question Evgeny Shvarov · Jan 9, 2017 How to find dependencies of Dimension or Measure to the pivots? Hi!I want to optimize the cube and delete the measure. Is there any easy way to find pivots which use it?Does anyone have any snippet regarding this?Would be great to have "out of the box" dashboards which will show the dependencies of pivots vs measures and dimensions. #InterSystems IRIS BI (DeepSee) #Development Environment 0 1 0 273
Question Evgeny Shvarov · Dec 18, 2016 How to exclude substring(s) from a string Hi, community! Consider you need to exclude substring(s) from a string. I did it with the following snippet: /// excludes all the substrings from the string ClassMethod ExcludeSubstring(substr,str as %String) As %String { while ($L(str,substr)>1) { set str=$Piece(str,substr)_$Piece(str,substr,2,*) } quit str } So, for example: #Code Snippet #ObjectScript #Caché 0 2 0 456
Question Evgeny Shvarov · Dec 14, 2016 Intergity test for cbk files Hi, Community!We have our internal backup system which produces *.cbk files for Full, Incremental and Cumulative backup modes.Does anyone have an automation procedure to restore this files on some target testing system, check the integrity and mark the files as "restorable"?Please, share?Thank you in advance! #System Administration #Backup #Caché 0 2 0 457