How to export a documentation from SSAS - ssas

I have a tabular model built in Analysis Services and I would like to know if it is possible to export documentation with my data sources, tables, roles, relationships and measures?
Also, I would like to know the best way to document the SSAS Cube. If anyone can send me a sample documentation for me just to use as a base to build my own documentation.
Thanks!

I would start with DAX Studio https://daxstudio.org/, this allows you to run queries on the meta data of the cube (DMV), and get the measure and other information out. Another good tool to use would be Tabular Editor https://tabulareditor.com/.
In DAX studio, you would run a query such as
select * from $system.MDSCHEMA_MEASURES
Which would list the measures, the definition and other metadata about them. You can then query other items to get the relationships, table definitions etc.

Related

how can I find out which tabular models are being processed within SSAS?

We have many models on our SSAS instance and we made it easy for users to start the model processing (through a bespoke Excel add-in).
Now, a side effect is that there are apparently several Tabular models being processed at the same time.
Is there a way to find which tabular models are currently being processed?
You can use the tool SSAS Activity Monitor. The nice part about this tool is you can just launch it and in seconds be looking at all activity in SSAS.
You connect to your SSAS instance then use the Current Queries Panel. There will be a row for every query. When you process, the COMMAND_TEXT will start with <Batch...
and further in the COMMAND_TEXT you'll find the DatabaseID and process Type.
You could also query the DMVs directly. This query from SSMS found it as well, but it's harder to see there:
select * from $SYSTEM.DISCOVER_SESSIONS;
But you could put this SQL into Power Query and have it parse and filter down nicely.

Automate SSAS Tabular Model creation via script

I have a data catalog where people can browse through the DWH tables. People can select tables and send a request to the IT team. This is in the form of a table which gives all the table names and column names that a person wants to have.
In the current situation, my team has to manually create a SSAS Tabular Model with the requested tables in Visual Studio: (Create a new model, connect to the DWH, select the requested tables and columns, assign user access and deploy the model on the analysis service.)
My question: is there somebody who knows a way to automate this process? Is it possible to create Tabular Models with scripts automatically? I've come across Tabular Model Scripting Language but I'm unsure from the documentation if it's possible to create NEW tabular models. Seems like it's only possible to script and make changes in already existing models.
Any form of suggestion or guidance will be appreciated, thanks beforehand.
Michael Kovalsky has a great solution for this on GitHub. See https://github.com/m-kovalsky/ModelAutoBuild. You start with an Excel template and then use scripting in the Tabular Editor tool to create the model. It may not have all the elements you need in your models, but it is a great starting point.

SSAS cube development

I am developing an SSAS cube for the product I am working on.
I have faced the below problems:
In the product you can build organization unit chart. This organization unit will be used as a dimension in the cube. In my research I found that I can build a cube grammatically using C#. My question is that what is the best approach to build a dynamic dimension.
In the product, we have a role based permission. A user can see data based on his role. How can I implement this feature in the cube? Currently, any body can read all the data from the cube.
Thank you for your help.
Dynamic dimensions are possible in SSAS. You would be able to show the members based on the roles that are desired. This is done using "Dynamic dimension security". You'd be able to write an MDX in the "Dimension data" tab.
http://bidn.com/Blogs/analysis-services-dynamic-security

The Pentaho BI Platform Workflow Issue

I have been working with Pentaho for the last few days. I have been able to setup the Pentaho Report Designer to generate a sample report by follow their documentation. Then I follow this article http://www.robertomarchetto.com/www/how_to_use_pentaho_report_designer_tutorial and managed to export the report to Pentaho BI server.
All I don't understand is Pentaho workflow. What should be the process I should follow which means what's the purpose of exporting the export to Pentaho BI server? Why there is a Data Integration tool? Why there is a BI sever when I can export the report from the Designer tool?
Requirement
All I want to do is retrieve the data from the MYSQL DB. Put them into a data-mart. Then from the data-mart generate a report.(According to what I have read, creating a data mart is the efficient way).
How can I get it done?
Pentaho Data Integration can be used to make this report generation automated.
In report designer you will be passing a parameter or set of parameters to generate a single report output.
With Data integration you can generate the reports for different set of parameters. for eg: if reports are generated on daily basis, we can make it automated for the whole month, so that there is no need of generating reports daily and manually.
And using the Pentaho Business Intelligence server we can make all these operations scheduled.
To generate Data/Table(Fact tables/dimension table) in MYSQL DB From difference source like files/different DB - Data Integration tool comes in to picture .
To create Schema on top of Fact tables - Mondrian tool
To handle user/roles on top of created cubes -Meta data editor
To create simple reports on top of small tables - Report Designer
For sequential Execution (at a go) usage of DI jobs/transformation , Reports, Java script - Design Studio
thanks to user surya.thanuri # forums.pentaho.com
The Data Integration tool is mostly for ETL, it's a separate tool and you can ignore it unless you are doing complex analysis of data from multiple dissimilar data sources. You don't need to 'export' reports to the pentaho server, you can write them directly to a directory then refresh the repository from inside the Pentaho web application. Exporting them is just one workflow technique.
You're going to find that there are about a dozen ways to do any one thing with Pentaho. For instance I use the CDA datasources with my reports vice placing the sql code inside my report. Alternatively you can link up to a Data Integration server to execute the Data Integration scripts to view a result set.
Just to answer your datamart question. In general a datamart should probably be supported by either the Data Integration tool (depending on your situation I don't exactly recommend this) or database functions/replication streams (recommended).
Just to hazard a guess, it sounds like someone tossed you a project saying: We need a BI system, here's the database where the data is stored, here are the reports we're already getting. X looked at Pentaho and liked it. You should use that.
First thing you need to do is understand the shape of the data, volume, tables, interrelations. Figure out what the real questions they want to answer are. Determine whether they need real time reporting, etc..etc. Just getting the datamart together itself, if you even need one, can take quite awhile. I think you may have jumped the gun on Pentaho itself.
thanks to user flamierd # forums.pentaho.com

ROLAP not working - how to design the cube/DSV for ROLAP?

I'm trying to configure storage mode ROLAP for a partition in an existing SSAS cube. The cube is a little messy in that the measure group is defined by a named query (as opposed to a table) and the dimensions are defined in several different data source views (DSV).
This is the error message I get when querying the cube with mdx:
Executing the query ...
Server: The operation has been cancelled.
Errors in the high-level relational engine. The 'dbo_dim_account' table that is required for a join cannot be reached based on the relationships in the data source view.
Execution complete
Note that MOLAP storage mode with proactive caching works fine. This problem occurs only when storage mode is ROLAP or HOLAP.
Also, I have tried to add the tables of all dimensions to the DSV of the cube in question but that doesn't seem to help.
Any ideas?
Not an expert here, but you could try importing the AS DB in Visual Studio.NET - "Import Analysis Services database" in the New Project... dialog.
Once in there, you can see the table schemas for the Data Source View (which is where the relational tables are defined that the cubes are extracted from). Next, look to make sure the "dbo_dim_account" table is there and that your fact table is related to it.
It may be that a dimension and fact have to be in the same DSV for the relation to work?
Also, maybe the SSAS flight recorder or Application log would have more issues?