Generate offline OLAP cube programmatically without SSAS - ssas

I was wondering how can you generate an olap cube programmatically in c# using any relational datasource without using analysis services. A concrete example (something i couldnt find anywhere on the net.)would be appreciated a lot.

You can programmatically create a cube using C# and Analysis Management Objects AMO:
// Create the Adventure Works cube
Cube cube = db.Cubes.FindByName("Adventure Works");
if (cube != null)
cube.Drop();
db.Cubes.Add("Adventure Works");

Related

SSAS MDX query as Azure Data Factory source in Linked Service

This question might not be well researched but I need to find out proper way to implement this solution before starting design.
Question is, Can we consume SSAS MDX query as datasource in Azure Data Factory Linked Service source?
Data factory cannot query SSAS with MDX or DAX, but maybe you can query the source of the SSAS, in a traditional BI architecture it would be a Data Warehouse or a SQL server. This is because SSAS models are meant to be consumed by reporting tools (Power BI, reporting services, etc) and not data integration tools, which serve very different processes.
Cheers!
The supported list of connectors for the Copy activity available as at today is available here:
https://learn.microsoft.com/en-us/azure/data-factory/copy-activity-overview#supported-data-stores-and-formats
It looks like SSAS MDX queries are not included at this point.
ADF v2 supports the running of SSIS packages within ADF pipelines so it may be possible via that route (untested).

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

Move an ssas cube from one analysis services database to another

I have an analysis services database which consists of more than 8 cubes. From that, I want one single cube to be moved in to another analysis services database (this database should have only that cube). Instead of doing all the cube work from scratch, is there a easy way to achieve this ?
An easy way to achieve this would be to just copy all files of your BIDS project to a new folder. Then open the new project in BIDS, delete all dimensions and cubes not needed, change the deployment target, and redeploy.

SSAS cube Deployment

I was trying my hands on building Cubes using AdventureWorksOlap database. I successfully build what I was trying to do. Now my concern is that I want to deploy the cube to a server so that rest of the team members can use this cube as a datasource while generating their SSRS reports (might be some other tools).
I have heard that SSAS does not allows Sql Authentication. So,
1) how will the members access the cube?
2) What authentication changes do I need to incorporate?
3) How can the other developer using his computer's SSMS access the cube and make changes to it (just like we can do it in the OLTP database)?
4) I need to prepare a dashboard using this cube. Any suggestions on this one.
Thanks in advance.
1) Windows Authentication
2) none.
3) Once the cube is deployed you cant change it. Actually you can change some things like partitions and roles, but you cant add a dimension for example. You need to change the project on BIDS and redeploy it
I would recommend starting with Excel Pivot Tables to learn what type of dashboard you will want to create. By working with the end-users, you can understand what information they want/need to see.
Regarding security, as mentioned, by design cubes use Windows auth only. Here's a blog that talks about circumventing standard security.
Also, I have posted a series of videos on how to create OLAP cubes SSAS in SQL Server 2008 using BIDS. You may find this series helpful.

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?