Sascha Kisser · Oct 24, 2016 go to post

I need to check which other visualizations  will work. I think the table gives the best overview. A mindmap or flowchart could look confusing.

Sascha Kisser · Feb 6, 2017 go to post

This is a nice tool. The link under Use chapter is not working. Please correct that.

Sascha Kisser · Aug 15, 2017 go to post

Hello Guy,

it is difficult to say what the problem is. The problem could be the report generation or the way you attach the report to the email. Is the file empty? What is the size of the file? In your code you could write the report to a file on server and sent it via email and then compare the two.

Without a code review it is probably impossible to help. This is a valid case for the WRC.

Regards,

Sascha

Sascha Kisser · Jul 5, 2016 go to post

There is the CopyTo() method that will take a System.Array and copy it to the CacheListOfDataTypes. Maybe that helps?

Here is the description:

CopyTo(string[] array, int arrayIndex)

Summary:
Copies the elements of the System.Collections.Generic.ICollection<T> to an System.Array, starting at a particular System.Array index.

Parameters:
array: The one-dimensional System.Array that is the destination of the elements copied from System.Collections.Generic.ICollection<T>. The System.Array must have zero-based indexing.
arrayIndex: The zero-based index in array at which copying begins.
 

Sascha Kisser · Dec 29, 2016 go to post

Hello Samual,

I am uncertain if I completely understood your problem but here are some thoughts:

1) Why are you working with month here if you are trying to calculate the total sales of the last two years?

I would suggest to use years instead:

AGGREGATE(%TIMERANGE([DateOfSale].[Actual].[YearSold].&[NOW-2]),[Measures].[Amount Sold])

If you want to calculate it for all products the wrap it in a %MDX statement and set %CONTEXT to columns:

%MDX("SELECT AGGREGATE(%TIMERANGE([DateOfSale].[Actual].[YearSold].&[NOW-2]),[Measures].[Amount Sold]) on 0 FROM [HOLEFOODS]","%CONTEXT","columns")

2) To avoid recalculating the same values you can use the %CELL function. For example %CELL(-2,0) will pick the value from the current row but two columns to the left.

Sascha Kisser · Dec 30, 2016 go to post

1) There are cases where SQL works more effective than MDX. It all depends on the data models and the amount of the data. Optimization in MDX is also different from the optimizations in SQL and fits the typical use cases. Improving performance of MDX is on our Top-List for the next releases.

2) Using %CELL is not always the best solution. But in cases where you know the layout of the table and need values from other cells then this is the most effective way. But it is lacking flexibility. I just wanted to show you the options you have and you have to choose what is the best way for you.

Besides that we are having caching mechanisms and I expect that we do not repeat all calculations.

You can use the DeepSee Shell to check how effective that is for your query. In terminal:

SAMPLES>do $System.DeepSee.Shell()
DeepSee Command Line Shell
----------------------------------------------------
Enter q to quit, ? for help.
>>stats on
Stats are: on
>>SELECT NON EMPTY NONEMPTYCROSSJOIN([DateOfSale].[Actual].[YearSold].Members,[MEASURES].[TEST]) ON 0,NON EMPTY [Product].[P1].[Product Category].Members ON 1 FROM [HOLEFOODS] %FILTER %OR({[DATEOFSALE].[ACTUAL].[YEARSOLD].&[2015],[DATEOFSALE].[ACTUAL].[YEARSOLD].&[2016]})

                                Test                 Test
1 Candy                      2.583,44             3.425,33
2 Cereal                     2.583,44             3.425,33
3 Dairy                      2.583,44             3.425,33
4 Fruit                      2.583,44             3.425,33
5 Pasta                      2.583,44             3.425,33
6 Seafood                    2.583,44             3.425,33
7 Snack                      2.583,44             3.425,33
8 Vegetable                  2.583,44             3.425,33
============================================
Query Statistics:
 Results Cache:                        0
 Query Tasks:                          1
 Computations:                        16
 Cache Hits:                           0
 Cells:                                0
 Slices:                               1
 Expressions:                         48
 Join Indices:                         0
 
 Prepare:                          2,016 ms
 Execute Axes:                   229,250 ms
  Columns:                         7,567 ms
   Crossjoin:                      0,712 ms
   Members:                        5,519 ms
  Rows:                          218,790 ms
   Members:                      216,448 ms
  Execute Slicer:                  0,495 ms
 Execute Cells:                   29,594 ms
 Consolidate:                     97,073 ms
 Total Time:                     357,933 ms
 
ResultSet Statistics:
 Cells:                               16
 Parse:                            6,093 ms
 Display:                          4,503 ms
 Total Time:                      10,596 ms
---------------------------------------------------------------------------
Elapsed time:       .555019s

----------------------------------------

Run the query twice and look at the stats for cache.

Sascha Kisser · Apr 3, 2017 go to post

Hello Alexander,

I cannot reproduce the behavior you describe. Please check if you the correct notation which is Properties instead of Property:

[HomeD].[H1].[City].CurrentMember.Properties("Population")

If you are using it in a calculated member with the %MDX() function then this may be a problem that is already fixed in 2017.1. Which version are you using? You can download 2017.1 in the WRC to check if the problem is still there.

If it is also present in 2017.1 please open a WRC call.

Sascha Kisser · Jul 12, 2017 go to post

There is no way of changing values on the fly. In any case you will need to write a class to generate the records for ^CacheMsg. If you need that functionality you have to file an enhancement request.

Sascha Kisser · Aug 23, 2017 go to post

Hello Razvan,

You can solve this by using widget themes:

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…

Or you can specify a user scheme by setting the URL-parameter SCHEME: http://localhost:57772/csp/user/_DeepSee.UserPortal.DashboardViewer.zen?DASHBOARD=test/New%20Dashboa rd.dashboard&SCHEME=myscheme and creating the files skin_myscheme.js and skin_myscheme.css in the broker directory.

You can check the other skin_* files to see how they are structured.

Best regards,

Sascha.