Hello Everyone,
You are looking for a simple report to list BPMN models and used lanes in a matrix?
I have created such a matrix for you, the output will be displayed in MS Excel.
And here are the steps to install.
1. Open your database
2. Navigate to Administration
3. Evaluation > Reports
4. Create, if not already done, a separate group for custom reports, here called "Custom Reports"
5. Import the report file "Models and Lanes (Matrix).arx" (here attached)
You should get it then listed like displayed here:
How to run:
Usually I run it on a group level I am interested in. This can be the highest or another group in the hierarchy.
1. Right Click
2. Evaluate > Start Report
3. Choose your Category (here "Custom Reports")
4. Choose the new report "Models and Lanes (Matrix)"
5. Press OK
The output should list all models in your group, and should indicate by a "x" where a certain lane is used.
Let me know if the output is useful for you!
Best Regards,
Volker
Download
Please download the report file from here
Hi Volker,
I just want to say thank you for sharing it!!! It is really great that you share that, because I'm convinced that such examples will help other ARIS users a lot.
@all: Check this post if you are looking for other free ARIS reports & macros. If you want to discuss ARIS scripting problems, make sure to join the group Reports & Macros in ARIS. And please, also share your ARIS reports as Volker did!
Hi Sebastian, I am trying to read from a excel file with this code but getting an error. Are you able to assist where I am going wrong:
var file = Dialogs.getFilePath("","xlsx",null,"Select file",0)[0];
var ImportFile = file.getData();
if(ImportFile!=null)
{
var sheets = ImportFile.getSheets(); //This is the line that gives me errors
var currentSheet = sheets[0];
//var sheetname = currentSheet.getName();
var dataRows = currentSheet.getRows ( );
Hello Kalimuthu,
thanks for your question. This report has been designed to work with BPMN models, this is the model type where you usually have lanes. We may be able to change this column object type to another, in fact it is used twice in the code, please look for the code fragment "Constants.ST_BPMN_LANE". Not complete sure if there are more code sections to change.
If you let me know what kind of objects you like to get as column names, I can support you to review and change the code accordingly.
Best Regards
Volker
Hi Volker, I am trying to read from a excel file with this code but getting an error. Are you able to assist where I am going wrong:
var file = Dialogs.getFilePath("","xlsx",null,"Select file",0)[0];
var ImportFile = file.getData();
if(ImportFile!=null)
{
var sheets = ImportFile.getSheets(); //This is the line that gives me errors
var currentSheet = sheets[0];
//var sheetname = currentSheet.getName();
var dataRows = currentSheet.getRows ( );
file.getData() returns a byte-array (basically a very long sequence of zeroes and ones, grouped into groups of eight (eight bits are one byte)). The computer has to be told first that it's an Excel workbook. Do it like this:
var file = Dialogs.getFilePath("","xlsx",null,"Select file",0)[0]; var ImportFile = file.getData(); var xlsWorkbook = Context.getExcelReader(ImportFile); //This line is very important, this is the interpretation. From here on use the xlsWorkbook object if(xlsWorkbook!=null){ //here use the xlsWorkbook object var sheets = xlsWorkbook.getSheets(); //here use the xlsWorkbook object var currentSheet = sheets[0]; //var sheetname = currentSheet.getName(); var dataRows = currentSheet.getRows ( ); }
Note: the method above (Context.getExcelReader) grants you ONLY READ ACCESS. Should you want to "modify" content of the excel file (create a new file based on the content of the old file), a different approach is needed:
var file = Dialogs.getFilePath("","xlsx",null,"Select file",0)[0]; var ImportFile = file.getData(); var xlsWorkbook = Context.createExcelWorkbook("result.xlsx", ImportFile); //This line is very important, here you create a new workbook based on the byte-array data you obtained. From here on use the xlsWorkbook object if(xlsWorkbook!=null){ var sheets = xlsWorkbook.getSheets(); //here use the xlsWorkbook object var currentSheet = sheets[0]; //var sheetname = currentSheet.getName(); var dataRows = currentSheet.getRows ( ); //... do your modification here. } xlsWorkbook.write(); //Also very important, translate all the changes made to the objects back into a file.
Hi Abdel,
Regarding report name " Untitled ": you are perhaps not working with the base language English. In this case you may login with english and maintain the language you use accordingly. Then you should see the right name in your language.
Regarding I got blank excel as output: You have to have at least one BPMN model in your selected group structure and at least one lane used in such a BPMN model. If this is not the case, this report can not give you any return.
Hope this answers your questions.
Regards, Volker
Hi Darlene,
Thanks for pointing this out! You are right, the download link appears only in case you are logged in. Please see also the next version with more flexibility here.
Best regards
Volker
Hi Volker;
I have also a related question about Matrix report and Matrix diagrams. Is this somehow possible to make this procedure backwards?
Could we also export an Excel sheet due to your report and modify it, & after that import it back into ARIS with modificated relations?
I just wanna explain my question with screenshots, I am sure than you will understand me better.
For example I have this matrix diagram in ARIS...
Then I can call your report or another one, which convert my matrix into the Excel Sheet.
Then I call for example the report "Export the relation matrix" (I am not sure about the english name but in german that's "Beziehungsmatrix exportieren"
Now I have exactly my matrix on Excel. Perfect.
What I wanna do is; just change the relationships on Excel manually, and import it in ARIS back, so that I have my modificated matrix diagram in ARIS. (Just like the macro Process Generator)
Is there any Report to realise this?
If not; could you please give some code examples to solve this problem.?
I am sure , this would be extremely useful for all ARIS Users (Especially for the ARIS Report beginners like me).
Thank you in advance for your attention.
Greetings
Umut Oezleyen