When using Related Cubes in InterSystems IRIS BI, cubes must be built in the proper order. The One side must be built before the Many side. This is because during build time for the Many side, it looks up the record on the One side and creates a link. If the referenced record is not found on the One side, a Missing Relationship build error is generated. The One side is going to be the independent side of the relationship, AKA the side of the relationship that is referenced by the Many side or the Dependent cube. For example: Patients contain a reference to their Doctor.
Hello!
I am taking the 'Creating an InterSystems Class Definition' course, and the Exercices asks to open a Terminal from the Management Portal to create and interact with a new object. I didn't found how to acces tot the Terminal from the Management Portal, and the documentation I have seen doesn't help me... ![]()
In some moment I saw a video wich explains how to acces to the terminal, but I can't find it. ¿Can someone explains me how to find the Terminal acces?
Thank you!
by Amit Prajapati
1,138by Arun Madhan
790by Muhammad Awan
458$zv = Cache for Windows (x86-64) 2017.2.1 (Build 801_3) Thu Apr 12 2018 10:14:19 EDT
I have a problem with my installation that I've logged with WRC, I've been asked (and have done so) to run ^pButtons
here's what I did.
%SYS>w $zv
Cache for Windows (x86-64) 2017.2.
Did some quick testing replacing Intersystems.Data.CacheClient.dll with Intersystems.Data.IRISClient.dll and ran against Cache 2018.1 and IRIS 2019.1. Seems to work in both cases. Is it a safe assumption that the IRIS dlls are backward compatible with Cache 2018.1?
Wondering whether it's possible to get %UnitTest to output an arbitrary key-value pair (a new property) into ^UnitTest.results ?
I have an array of table names that I want to iterate over and for each table, get the number of rows. I was hoping I could do something like:
set tStatement = ##class(%SQL.Statement).%New()
set tSC = tStatement.%Prepare("SELECT COUNT(*) AS ObservedRowCount FROM ?")
$$$ThrowOnError(tSC)
set tTableName = ""
for
{
set tTableName = $O(tCounterAry(tTableName))
quit:tTableName=""
set tResult = tStatement.%Execute(tTableName)
// ...
}But that doesn't work:
ERROR #5540: SQLCODE: -1 Message: IDENTIFIER expected, ?
Hi Developers!
Recently we updated the design of Open Exchange and I want to describe how you can find the solutions you are interested in.
Applications Catalog
The first thing you see is the catalog of published applications, tools, and solutions.
Hi Community!
Thank you for being a part of the InterSystems Open Exchange! We want to know what you like about Open Exchange and how we can make it better in 2020.
Could you please go through this short survey which will let us know what do you think.
➡️ Open Exchange Survey 2019 (2 minutes, 7 questions)
Hello All,
I have connected InterSystems Cache remote server from Power BI using ODBC Connection . But I am not able to view the data records on Power BI getting some error "Value cannot be null. Parameter name: exceptionType". And also I checked with that remote server with the location System > System Logs > View xDBC Error Log > xDBC Errors. On that place I can see the below error
"[SQLCODE: <-400>:<Fatal Error Has Occurred>] [Cache Error: <<READ>ServerLoop+16^%SYS.
Some readers of my previous article, Caché eXTreme for .NET - direct access to globals from C#, wondered if you could access information not just from the same instance in which you’re working, but also from another instance on the same computer, or from an instance located on another computer in the same local network. Some theorized, correctly, that this would be possible using the Enterprise Cache Protocol (ECP). In this article I’m going to show how it can be done.
Have you ever needed a math function but could not find what you needed and ended up writing your own? Look no further! ObjectScript-Math is here to solve all your math related function needs.
ObjectScript-Math is an Open Source library for ObjectScript Math functions. It is now available on Open Exchange. This library contains a mix of new functions that are not currently available and functions that are available. The existing functions will be wrapped for use from ObjectScript-Math so that all Math functions can have a central location.
This library will continue to grow, so give it a try and give your feedback!
Don't see what you are looking for? Please feel free to submit requests for additional functions or contribute code yourself!
I'm currently working with a developer to add IRIS/Caché functionality to his HL7 analysis tool that would allow its users to extract messages directly from the Ensemble message store. IRIS for Health Community Edition has been a great aid in debugging this, but I keep banging into the 5 connection license limit with Studio, the Management Portal, an IRIS terminal session and a client database connection using either ODBC or ADO.NET.
I have a case where I have an external table that lives out in MS SQL. Using Ensemble Security functions has anyone created a csp or cls page that acts like a portal to allow users to Update a multidimensional table without knowing SQL? I could clone the EnsPortal.LookupSettings but that was made for LUT which are only 2 columns.
I know its a long shot but trying to see if there was anything off the shelf that I can use to help meet the requirements of this project.
Hi,
My customer is implementing HL7 validation using EnsLib.HL7.Util.Validator.Validate in an HL7 production.
They set validation spec "dmr-z" because they want to allow unrecognized Z-segments and verify the presence of required fields.
Despite using "-z", Z-segments are not allowed and the following error occurs:
<Ens> ErrGeneral: Cannot validate segment schemas without a category.Unable to validate segment 8: ZPR.
Aside to that, when the verification spec is “dm-z”, the Z-segment is allowed as expected.
Can 't "r" and "-z" be used together?
Is there any other way to implement both validations?
I've writing a short classmethod that extracts an HL7 message from EnsLib.HL7.Message by ID and returns it as a stream. It's to be called as a stored procedure via ODBC (or ADO.NET) to fetch messages into an application.
I'm not using an SQL query in the classmethod itself, but it will be called as part of an SQL query via ODBC, but I can't figure out how to set a custom SQLCODE and error text from within the classmethod that propagates back to the external application. I thought %sqlcontext would be useful for this, but it doesn't appear to do anything. Here's the class:
Class User.HL7.I use the 2012 version of the caché, and I need to export data in an Excel file, the point that seems to complicate is to use the dropdown list in the cell and then trigger a validation if I exceed an interval of two values.
Help me, by your seggestions, solutions Thank you
This series of articles would cover Python Gateway for InterSystems Data Platforms. Execute Python code and more from InterSystems IRIS. This project brings you the power of Python right into your InterSystems IRIS environment:
- Execute arbitrary Python code
- Seamlessly transfer data from InterSystems IRIS into Python
- Build intelligent Interoperability business processes with Python Interoperability Adapter
- Save, examine, modify and restore Python context from InterSystems IRIS
Other articles
The plan for the series so far (subject to change).
Hi Community,
The new video from Global Summit 2019 is already on InterSystems Developers YouTube:
⏯ Basics and Benefits of Cloud Deployment
What is %SQLRESTRICT
%SQLRESTRICT is a special %FILTER clause for use in MDX queries in InterSystems IRIS Business Intelligence. Since this function begins with %, it means this is a special MDX extension created by InterSystems. It allows users to insert an SQL statement that will be used to restrict the returned records in the MDX Result Set. This SQL statement must return a set of Source Record IDs to limit the results by. Please see the documentation for more information.
Why is this useful?
This is useful because there are often times users want to restrict the results in their MDX Result Set based on information that is not in their cubes. It may be the case that this information may not make sense to be in the cube. Other times this can be useful when there is a large set of values you want to restrict. As mentioned before, this is not a standard MDX function, it was created by InterSystems to handle cases were queries were not performing well or cases that were not easily solved by existing functions.
About Intersystem Cache :
Intersystem Cache is a commercial operational database management system from intersystem, used to develop healthcare management, banking and financial, government sectors software applications.
InterSystems Cache is the world’s fastest object database.
Hello community!
I have 2 productions A and B on the same IRIS instance sharing one operational database.
I'm looking for a simple and efficient way to send a message from production A to production B.
Any suggestion ? Could it be done through the database only?
And I wish you a happy new year!
Thanks :-)
I generated a REST API from a Swagger document with basic security.
When I send a request to that API, I now get an authentication error 401 always.
I entered a user api and a password and gave it the role %All.
I tried to call the API with the URL
http://solidara.net:52773/csp/solidara/get_components/solidara?username…;
What's am I doing wrong there?
Launching IRIS Using Docker
This brief document will walk through the steps to launch IRIS community edition using Docker on the MAC. For those new to Docker, the first two pages explain how to install Docker, and run some basic commands that will be needed to get the IRIS community edition running. Experienced Docker users can skip directly to page three.
- Get Docker Desktop for MAC. This can be downloaded at Docker Hub, but one should look at the requirements before downloading it to ensure it works smoothly. The directions and download link are at: https://docs.docker.
Ease into the new year with the latest content from InterSystems Learning Services! Get info on:
- How to get hands-on with Docker containers and InterSystems IRIS®
- Designing healthcare productions with InterSystems IRIS for Health™
- A new certification exam for InterSystems IRIS Core Solutions Developer Specialists
- Improved UX with InterSystems documentation
Hi Developers!
This is the digest of new solutions and applications submitted to InterSystems OpenExchange in December 2019!
New applications in December 2019
Math library for InterSystems ObjectScript
Author: @Peter Steiwer , OEX Profile
Sample for %JSONExport against a class with Many to Many Relationship
Author: @Peter Steiwer , OEX Profile
InterSystems ObjectScript zpm-registry
Server-side hosting service for ObjectScript packages installable via ZPM client.
Author: @Evgeny Shvarov, OEX Profile
Publisher: InterSystems Corporation
SUDOKU game written in InterSystems ObjectScript
Author: @Robert Cemper, OEX Profile
Sample DeepSee Portlets showing different ways to implement custom widgets
Author: @Peter Steiwer , OEX Profile
Advent of Code ObjectScript Docker Template
A simple template to craft Advent of Code with ObjectScript in InterSystems IRIS
Author: @Evgeny Shvarov, OEX Profile
Ingestion Speed Test
Shows how IRIS can ingest thousands or millions of records per second while allowing for queries on the same cluster. Works on a single IRIS instance or on an IRIS cluster on the cloud.
Author: @Amir Samary, OEX Profile
With this class, you could simulate Game of Life world that John Conway invented in 1970. We can see how John Conway universe evolves in our terminal
Author: @Jose-Tomas Salvador, OEX Profile
Hi All,
I am planning on doing some maintenance in 2020, I was wondering if it is possible to run a query to get a log on when a DTL and/or Business Rules was called in HEALTHSHARE, the idea behind this is to do some cleaning and remove some clutter.
Your help or ideas are highly appreciated.
LW21
Is there a way to get a good performing index on a date field? I have tried various date property indexes and the query plan is always in a pretty high range. Below are query plan result values I have observed:
StartDate > '2019-12-01' --cost = 699168
StartDate = '2019-12-21' --cost 70666
StartDate between '2019-12-21' and '2019-21-28' --cost = 492058
The query plans above were for type %TimeStamp.
Hello All,
I am working on Files where I have to compare contents of two files and display result. e.g Suppose file1 contains data in Name and Roll form and file2 contains data in name and class form, so it should compare name from file1 and file2 and display those matching data(Name,Roll,class).
I have piece of idea about file system so any help would be appreciated. Thanks in advance.
Regards, Gunwant



