Hi
I am trying to concatenate dimension attributes value. What I tried is
({Cstr([Account].[AcntType].&[
It doesn't work. Any suggestions would be helpful.
Thanks
Madhavi
Madhavi Pasapula
Hi
I am trying to concatenate dimension attributes value. What I tried is
({Cstr([Account].[AcntType].&[
It doesn't work. Any suggestions would be helpful.
Thanks
Madhavi
Madhavi Pasapula
Hi,
We have a cube which contains only one partition(Writeback enabled). This partition is having proactive caching enabled.
Issue
We have a client application which writes data to this partition using UPATE CUBE(behind the scenes). We have an SSIS package which processes the main partition using Client enabled proactive caching.
The problem is that Users are unable to UPDATECUBE through web application while this job is running. They are getting an error message "Writeback has failed. An error occured when writing data to the database....." and in profiler i got the below error message
"**Current session is no longer valid due to structural changes in the database.
Query Text:
SELECT
{AddCalculatedMembers ( [Labor_Employees].MEMBERS )} DIMENSION PROPERTIES MEMBER_NAME, PARENT_UNIQUE_NAME, IS_DATAMEMBER ON COLUMNS**
"
Is it possible to UPDATECUBE while processing the partition(Using proactive caching) or is there any option in SSAS which will make this UPDATECUBE statement to wait till partition processing completes.
Up until recently, we were attempting to perform SSAS processing in parallel for multiple databases - we had a SQL Agent Job for each database that we wanted to process, and they would poll a central location that would signal when the upstream ETL processes were complete on the data warehouse and that SSAS database was ready to start processing.
This could and often did mean that several SSAS databases were being processed at the same time. We would have issues when two or more processes attempted to commit their processing transactions at the same time - they would all attempt to get a server metadata lock and one or more of them would fall victim to a deadlock resolution.
We've changed the way our processing jobs are kicked off, using a central queuing mechanism to dispatch jobs one at a time, so that we process only one SSAS database at a time. This works nicely, however, some of these databases take 3 hours to process, and some take only a few minutes, so the small ones get delayed for a long time if they are ready after one or two other large retailers.
To address this, we set up two queues - one for large processing jobs, and one for small processing jobs. This works quite well, except on the infrequent occassion that both the small and large processing jobs try to commit at the same time, and one of them is victimized.
My question is this: is there a way to specify, say on the connection string, that this connection should be a higher priority for victimizing? That way, I could specify that the small database processing job would be chosen as the victim to be rerun (which is probably only a few minutes of lost work), rather than the large database processing job, which loses usually an hour or more of work.
Any ideas?
Mike
Hi All,
I am searching for a way to organise list of attributes in Tabular Model. Even after hours of MSDN docs & Google I am still unable to find anything on this topic.
So I have a model with 80+ Columns/Fields/Attributes displaying all 80 in one big list is really inconvenient. So what I am looking to do is to group them in to Groups. Hierarchy won't cut it because lot of them aren't really related to each other.
So I am looking to do something like this...
+ Measures
---Calculation 1
+ Dimension
--+Group1
-----Attribute 1
-----Attribute 2
--+Group2
-----Attribute 1
-----Attribute 2
--+Group3
-----Attribute 1
-----Attribute 2
How do i combine the union of 2 members into 1
Example not real;
UNION([Person].[Location].&[uk],
[Person].[Location].&[usa])
This is output as Row for UK and Row for USA
Year 2001 2002 2003
UK 5 7 10
USA 2 4 5
How do i change it so it outputs on 1 row
Year 2001 2002 2003
UKUSA 7 11 15
Hi there,
I can't seem to get Analysis Services installed properly.
During installation the following error pops up:
The service could not be started. Reason: Service 'MSSQLServerOLAPService' start request failed.
Also, when I try to start the service manually, the same error pops up.
The event log only shows two items:
1. Error - MSSQLServerOLAPService - The service cannot be started: (.. without any explanation)
2. Information - MSSQLServerOLAPService - Service stopped.
I already removed the Analysis Services feature and added it again, a couple of times, without luck.
Any pointers to further debug this issue?
The OS is Windows Server 2012.
Context I want to query a cube via Excel 2010 or SharePoint 2010
Do I need an ENTERPRISE Sql Server license to use SSAS or does a STANDARD LICENSE will do?
Thx for the follow-up.
Pierre Labrecque
Hi All,
I get the following message every time after debugging. Does anyone know why and how to fix it?
TITLE: Microsoft Visual Studio
------------------------------
Could not find a part of the path 'C:\Documents and Settings\<User Name>\Local Settings\Temp\Dell1520\Dellsql Analysis Services Tutorial Analysis Services Tutorial 2.xml'.
BI Analyst
I am having difficulty getting SCOPE to function. I get the red squiggly line, similar to this post (http://social.msdn.microsoft.com/Forums/en/sqlanalysisservices/thread/550eeb72-6648-4384-80c5-c98de8a19bf9) that indicates a syntax error. Howerver the project deploys and builds just fine - though with "interesting" behavior.
Here is a screen grab:
<MSDN would not let me insert it "Body text cannot contain images or links until we are able to verify your account"
And the code:
/*
The CALCULATE command controls the aggregation of leaf cells in the cube.
If the CALCULATE command is deleted or modified, the data within the cube is affected.
You should edit this command only if you manually specify how the cube is aggregated.
*/
CALCULATE;
create member currentcube.[Measures].[Total Return to Return Time $]
as 0
,Format_String = "Currency"
,Visible = 1;
scope
(
[Measures].[Total Return to Return Time $]
,{[Dim Return Time].[Days]}
);
THIS = SUM({null:[Dim Return Time].[Days].currentMember},[Measures].[Amount]);
End Scope;
The only things that seems to work is to remove the SCOPE statement. Any ideas?
This is related to this post: http://social.msdn.microsoft.com/Forums/en-US/sqlanalysisservices/thread/a432c7c2-246a-4f36-ac19-05c43771ff91
I was able to test my SCOPE statement (even though I was unable to get it to work at cube build time) by following the instructions give by Darren here: http://darren.gosbell.com/archive/2012/12/19/ssas-executing-mdx-scope-statements-using-ssms.aspx
CODE:
scope
(
[Measures].[Total Return to Return Time $]
,{[Dim Return Time].[Days]}
);
THIS = SUM({null:[Dim Return Time].[Days].currentMember},[Measures].[Amount]);
End Scope;
I got different results than what I expected. I was expecting to only have a non-null result when I did not have the [Dim Return Time].[Days] dimension on one axis. Instead I got some "bogus" values.
Am I setting the subcube incorrectly here or is there a more effective way to accomplish what I want?
Hi All,
I have a cube in which there is calculated measure which does the below MDX
Aggregate(we have a fact table which has 70 millions data ,and we run our ETL daily where there would be <200k rows added to our system. The above query is performing very slowly with complex filters , It took around 20 mins for some complex queries . So to make this query faster we thought of implementing Cache warming , but i was surprised on the process of implementation.
The Formula Engine Cache is not being shared across users when they run the same query,Every user is able to use cache data only when they had run the query though excel .But it is not able to use one user's cache across all Users when they run the same Query.
Can any one suggest how to over come this ?. We want to implement cache warming to queries faster.
Michael
Hello,
For a couple of months ago the OlapQueryLog suddenly stoped populating so I just restarted the MSSQLServerOLAPService and then it worked again. But after two weeks the OlapQueryLog was missing the latest logs again, so I restarted the MSSQLServerOLAPService again and I have been keep doing this for the last 2 months.
When I look at the eventviewer logs on the SSAS-server it throws the following two errors almost every minute:
An error occurred while data was being written to the query log. Although the table was created, query logging has stopped. Check the query log database or permissions for issues: OlapQueryLog
and
OLE DB error: OLE DB or ODBC error: The connection is no longer usable because the server failed to respond to a command cancellation for a previously executed statement in a timely manner. Possible causes include application deadlocks or the server being overloaded. Open a new connection and re-try the operation.; 08S01.
Does anyone have a solution?
Thank in advance.
Best regards
AL
I have created the following objects using AMO. My Primary target is to make connection with a Oracle Database and I'm using Oracle Client for it .
1. Datasource
2.Data Source View
3.Cube
4.MeasureGroups etc;
For verifying that the objects are created from my Script I'm using BIDS . It went well . But If I'm trying to use the "Explore Data" command,
But It's popping this error,
The Connection String that I'm using is ,
private string oraconString = @"Provider=OraOLEDB.Oracle.1;Data Source=//cmbtrndb02/hector;User ID=trnint16;Password=trnint16;Intergrated Security=false";
I have used the Impersonation Info methods as well (In CreateDatabase(), CreateDataSource() but nothing has changed )
Impersonation codes as follows ,
static Database CreateDatabase(Server svr, String DatabaseName) { Database db = null; if ((svr!=null)&&(svr.Connected)) { //Drop the database if it already exists db = svr.Databases.FindByName(DatabaseName); if (db!=null) { db.Drop(); } //Create the Database db = svr.Databases.Add(DatabaseName); db.DataSourceImpersonationInfo = new ImpersonationInfo(ImpersonationMode.ImpersonateServiceAccount, "trnint16", "trnint16"); db.Update(); } return db; }
static string CreateDataSource(Database db, string strDataSourceName, string strConnectionString) { Server svr = db.Parent; DataSource ds = db.DataSources.FindByName(strDataSourceName); if (ds!=null) ds.Drop(); //Create the DataSource ds = db.DataSources.Add(strDataSourceName, strDataSourceName); ds.ConnectionString = strConnectionString; ImpersonationInfo im = new ImpersonationInfo(ImpersonationMode.ImpersonateServiceAccount, "trnint16", "trnint16"); ds.ImpersonationInfo = im; // Send the data source definition to the server ds.Update(); return ds.Name; }
Please give me a light !
Hello-
I'm a total newbie to MDX and really the whole Microsoft BI platform but am working my way through it. Anyway, I have some SSAS cubes in which we're trying to pull the last 8 days of activity into a SSRS report. In addition, the desire is to make this parameter based so that if the end user wanted to change the range, he/she would be able to.
The first snippet of code is the system generated code:
SELECT NON EMPTY { [Measures].[Patient Days] } ON COLUMNS,
NON EMPTY { ([Time].[Apply Date].[Apply Date].ALLMEMBERS
* [Location].[Location Short Name].[Location Short Name].ALLMEMBERS
* [Version].[Version Name].[Version Name].ALLMEMBERS
* [Payor].[Hierarchy].[Payor Name].ALLMEMBERS ) }
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM
( SELECT ( [Time].[Apply Date].&[2013-01-01T00:00:00] : [Time].[Apply Date].&[2013-01-07T00:00:00] ) ON COLUMNS
FROM ( SELECT ( { [Version].[Version Name].&[Budget], [Version].[Version Name].&[Actual], [Version].[Version Name].&[Variance] } ) ON COLUMNS
FROM [CL_Census]))
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
I've been trying to make the bolded line above a dynamic date range. I have replaced the above bolded line with the line below but have NOT even got past the first part (start) of the date range even.
( SELECT ( "[Time].[Apply Date].&["+Format(Today(), "yyyy-MM-dd")+"T00:00:00]": [Time].[Apply Date].&[2013-01-07T00:00:00] )
RESULT:
Executing the query ...
Query (9, 44) The '[Today]' function does not exist.
Execution complete
Thanks so much in advance for any assistance you can provide to me!
Rich
I'm pretty sure this is a simple one.
I am an MDX novice working on "Report Months" query, getting incorrect "All" calculation. See the report below. The "All" total should be 278 if you add all the all the report months members (23 X 12 + 1 + 1 = 278), but report keeps calculating as the Grand Total as 289.
Report months are simply a count of the Date - Paid Months in the report.
I'm certain the answer has something to do with the IIF portion of the code. I'm checking DatePaid to see if it's the current year and if the current month is < 12 and am returning Month(Now()) if that is the case.
Mdx =
with member ReportMonths
as
IIF([Date - Paid].[calendar].CurrentMember.MEMBER_CAPTION = "Calendar " + CStr(Year(Now())) AND MONTH(Year(Now())) < 12
, MONTH(Now())
, Count(Existing([Date - Paid].[Calendar].[Month]))
)
SELECT ReportMonths on columns,
[Date - Paid].[Year].Members on rows
from [My Cube]
Report look like this.
Thanks so much for your time,
Cary
Hi Fellows,
My task is to show how many Work Order are OPEN or Closed basedon First Grade and Second Grade.
To get the status of work order, I have a dimension attribute called as "Status", which holdany of the following values :
Well, CLOSED work order will be the SUM (COMP+WFCOMP+CLOSE), andOPEN is SUM(OPEN+INPRG)
To get the grade I have another dimension attribute named as "Grades" which holdany of the following values :
I wanted to show the total of Closed and Open work order on my Y-axis and grades in X-axis. Could you help me to show what should be the approach / MDX code / Calculation formulas etc.
TIA.
Hi all,
tid | name | description |
1 | one | ones |
1 | four | fours |
1 | three | threes |
1 | eleven | elevens |
1 | six | sixes |
2 | ten | tens |
2 | eleven | elevens |
2 | five | fives |
2 | four | fours |
2 | seven | sevens |
3 | one | ones |
3 | eleven | elevens |
3 | twelve | twelves |
3 | six | sixes |
the above is my actual table
After doing market basket analysis i got ,like
Bundle of items | Bundle size | Number of sales |
one, eleven | 2 | 2 |
six, eleven | 2 | 2 |
four, eleven | 2 | 2 |
six, one | 2 | 2 |
six, one, eleven | 3 | 2 |
from this i need description for bundle of items like u can observe i need one,eleven for that i need description column like ones,elevens
please help
Hi.
I have one simple question. In my opinion, the following two queries should generate the same results. But they dont! Can anyone explain why the second one returns the desired results?
SELECT [Measures].[Internet Sales Amount] ON 0,
EXISTS( [Customer].[Customer Geography].[Country].MEMBERS,
{[Product].[Product Categories].[Category].&[1]} , "Internet Sales") ON 1
FROM [Adventure Works] WHERE [Date].[Calendar Year].&[2008]
//Second Question
SELECT [Measures].[Internet Sales Amount] ON 0,
[Customer].[Customer Geography].[Country].MEMBERS ON 1
FROM [Adventure Works]
WHERE (([Date].[Calendar Year].&[2008]), ([Product].[Product Categories].[Category].&[1]) )