To automate this with built-in DeepSee methods, please see documentation for %ExportPDFToFile. This can be used in a task and can be saved/emailed on a scheduled interval. Using other utility methods such as %GetMDXFromPivot can allow you to supply a list of pivot names and programmatically get the MDX to supply into the Export method.

Hi Damian,

I believe there are a few cases where this can happen - most of them involving the use of source control. Do you have source control enabled on all of your namespaces except ENSDEMO?

I would suggest opening a new WRC for this issue since there are a few possible causes and we may need to know a little bit more about your system.

DeepSee does not have anything built in to automate this behavior. Depending on how the relationship is defined, this could cause significant overhead (also if more than 1 relationship is defined, this grows even more). The recommended way of doing this is exactly as you have done.

An alternative approach is to implement %OnProcessFact and have it process any related cubes that need to be updated. The good thing about this approach is that it saves you time during your main application while saving records, but the downside is that it also requires CubeB to be synchronized at the same rate as CubeA.

Using the Cube Manager, you would be able to write some "pre-synchronize code" that would run queries to find records in CubeA that need to be updated and calling ##class(%DeepSee.Utils).%SetDSTimeIndex() here. This is quite similar to what it sounds like you are doing now, but this lets you avoid using triggers and building this process into the Synchronize itself.

Thanks for the input on this. I have considered these negative consequences as you describe. I am pulling my data from REST services, so it would be perfectly fine for me to delete all my data if need be. Perhaps once the early phases of development are finished these diffs will become less active and not a problem.

The second reason is that I have been developing on both Caché 2017.2 and InterSystems IRIS. The storage definition changes slightly based on which one I am using, so it creates a little bit of noise, but it is ultimately manageable. Perhaps doing development across products is not recommended, so that could also be the answer

You can accomplish this by using pivot variables. By using this approach, the pivot variable can act as the Key for two different date dimensions. Example:

Pivot variable with value of &[2017].



On your dashboard, you would want to use the Apply Pivot Variable control instead of the Apply Filter control. 

I just tried adding your element to ZENDemo.Home.cls SAMPLE page, and it worked just fine. I added it after the element with id "description"

<html id="description" width="800" OnDrawContent="DrawDescription"/>
<select id="condition" label="Condition" valueList="&lt;,&gt;,=,≤,≥" displayList="&lt;,&gt;,=,≤,≥"/>

Perhaps include a picture of what you are seeing?