Analysis :: Building A Calculated Member Using Except Function
Aug 23, 2015
I’m trying to build a calculated member (see below script) using “Except” function but I get an error result:
#Error The function expects a string or numeric expression for the argument. A tuple set expression was used.
My idea is to take a measure and exclude 2 members from the dimension.
I tried using “Aggregate” but got the error:
#Error Query (3, 1) Aggregate functions cannot be used on calculated members in the Measures dimension.
Please note that my measure is ACD that is already calculated average in olap and I can’t use AVG function instead of Aggregate. What can I do?
With
member [Measures].[AppOrig All Roaming]
as
(
Except(
[Source IP Location].[Country Name].[All].children,{
[Source IP Location].[Country Name].&[Colombia]
I have a Calculated Member in SSAS that I need to adjust based what the current member is.
The code is below
CASE WHEN [Measures].[End LIS] = 0 AND "HELP" THEN CASE WHEN [Measures].[Beginning LIS] = 0 OR [Measures].[Beginning LIS] + [Measures].[Beginning LIS] + [Measures].[NETACTIVATIONS] = 0 THEN NULL ELSE ROUND([Measures].[Disconnects]/(([Measures].[Beginning LIS] + [Measures].[Beginning LIS] + [Measures].[NETACTIVATIONS])/2) * 100 ,2) END ELSE ROUND(([Measures].[Disconnects] / [AVERAGELIS] * 100) ,2) END
In English - i need this to translate to - of End LIS is 0 "AND the current member is the current month and current year" THEN carry on
I need to calculate the average of an existing measure of my cube. The measure is PA_Salaire from a column of my fact table. I would like to calculate an average i could use with all the dimensions of my cube but i think i can only create one linked to a single dimension. Is that true ?
I dont really understand the way i should write my request. Here is what i did: (Manager is one of my dimensions, it has a parent child relation... is that a problem? does it change the way i should do?)
I have a calculated member that composed of dividing two other calculated members. The calculation is incorrect and is ignoring the decimal places in both of the source measures of the equation.
Example:
Calculated Member 1 = 300.01 Calculated Member 2 = 10.25 Calculated Member 3 = (CM1 / CM2 ) = 30 INCORRECT!!! Answer should be = 29.269
The MDX that I am using is as follows:
Calculated Member 1 (Booked Amount YTD): Sum(PeriodsToDate([Fiscal].[Date].[Fiscal Year]),[OH Booked Amount])
Calculated Member 2 (Units YTD) Sum(PeriodsToDate([Fiscal].[Date].[Fiscal Year]),[OH Units])
This seems like a fairly common and straight forward type of calculation, taking the YTD amount / YTD units to come up with YTD amount per unit. When I create a calculated member with the hardcoded values of 30.01 / 10.25 I get the correct answer of 29.269. Am I missing something with formatting? Is this a bug in Analysis Services?
I am trying to create a calculated member for Cumulative sum using Fiscal Calendar using the below code:
WITH MEMBER [Measures].[No of Accounts Cumulative] AS 'Sum(PeriodsToDate([DimFinancialDate].[FiscalMonth].[(all)],[DimFinancialDate].[FiscalMonth].CURRENTMEMBER), [Measures].[No of Accounts])' SELECT {[Measures].[No of Accounts],[Measures].[No of Accounts Cumulative]} ON COLUMNS, [DimFinancialDate].[FiscalMonth].Members ON ROWS FROM [Acquisition] where [DimFinancialDate].[Year - Quarter - Month - Date].[FiscalYear].&[2014-04-01T00:00:00];
Getting below OUTPUT:
No of Accounts No of Accounts Cumulative All 1763 1763 Apr 14 116 353 May 14 30 383 Jun 14 284 667 Jul 14 112 779 Aug 14 38 817
[code]....
Basically, It is taking all the members of the Fiscal date dimension to compute the output, But what i am expecting is to compute only for Fiscal calendar that is from April 2014 - March 2015.
I'm working with the statistical functions Stdev and Median with calculated members. The only way I can get the "correct" answer is if I have a dimension at the same granularity as the Fact table (Actually it's a degenerate dimension of the FACT table itself). Otherwise it seems that the measure I'm using with Stdev returns results that are so wildly high, I think it must be acting on the SUM of the measure; because the measure itself is a Summed one. When I try to use the coordinates in the Stdev function, it seems like it is using the wrong set of data points :
stdev( ( [Date].[Date].[Date].members, [Parameter].[Parameter].[Parameter].members ), [Measures].[Value]) returns answers in the thousands when it should be more like 2.5
When used with a query, there would only be a single date member and a specific parameter member. The total number of fact records is between 200 and 500 with values that range between 0 and 150. This is the version that gives me answers that resemble the total sum of the [Measures].[Value].
If I add the dimension that is essentially a row number from the fact table, it gives the right answer (slowly, but that will be a different post ....
I am new one in MDX. Our PeriodsToDate function does not return any value. We have set type property of our Date Dimension as time.Actually CURRENT MEMBER does not return a valid value. So our PeriodsToDate function fail.
With MEMBER [Measures].[YTD Actual] AS Aggregate ( PeriodsToDate ( [DimDate].[CalendarHierarchyDateLevel].[Calendar Year] ,[DimDate].[CalendarHierarchyDateLevel].CURRENTMEMBER )
A measure in a cube need to be divided by another measure as follows:
MEASURE1MEASURE2
Measure 1 (SUM of Money spent by each person) Measure 2 (Amount of Money available for each country per person). Example: USA: 155 Germany:134 France:143)
Measure1 is a SUM and works fine, but Measure2 should only be a distinct value for each country. So if person comes from Germany, then the SUM of Spent Money should be divided by 134.
I'm trying to calculate the prior year sales count in a calculated member with the following expression. The cube processes without errors but, the result in PriorYearCount column when i browse the cube is null value for all rows.
-- Prior Yr Sales Count Calculated member
(
[Measures].[W SALES F Count],
ParallelPeriod([Date].[Fiscal Date Hierarchy].[Year]
, 1
, [Date].[Fiscal Date Hierarchy].CurrentMember)
)'
But the same expression works fine when I used it to write query on the cube to get previous year sales count. Following is the query for that. Coundnt understand why the same WITH MEMBER expression used in Calculated member is not working.
With Member [Prior Yr Sales count] As
'(
[Measures].[W SALES F Count]
, ParallelPeriod([Date].[Fiscal Date Hierarchy].[Year]
, 1
, [Date].[Fiscal Date Hierarchy].CurrentMember)
)'
Select
{[Date].[Fiscal Date Hierarchy].[Year].[2004]
, [Date].[Fiscal Date Hierarchy].[Year].[2004].Children} on columns
, {[Measures].[W SALES F Count], [Measures].[Prior Yr Sales count]} on rows
I have a calculated member that calculatest the prior year sales count and the expression looks like this:
--[Prior Yr Sales Count] ([Measures].[W SALES F Count], ParallelPeriod([Date].[Fiscal Date Hierarchy].[Year] , 1 , [Date].[Fiscal Date Hierarchy].CurrentMember))
I can see the values for [Prior Yr Sales Count] in the cube if i filter the cube on any year from Date hierarchy.
But, when i gave
[Measures].[Prior Yr Obl Count]
as KPI Value expression, I dont see any value for the KPI even after filtering on Date hierarchy. The calculated members should act just as any other Measures, so why am I not able to see the prior year sales count for the KPI value? Correct me if I'm not interpreting the usage of calculated members in KPI value expressions.
I need to calculate an average over a dimesion other than time and "average of children" won't do that for me. I'm aware I can create a calculated member where I divide a sum by a count but the problem I have is I need use this calculation in a performance point scorecard and I want to drill down on the measure and you can't do this on calculated members.
Is there any other way of obtaining an this type of average?
The scenario is that I have a dimension called Product... each product is given points and this is defined in the underlying product table.
The table on which my fact is based has a field called QtySold (which is the qty sold for the product). WhatI want is to somehow use Calculated Member (if that is the right solution) so that for any selected product, the user get's to see a calculated field called, say' Points earned, which will be QtySold multiplied by the points for that product.
Hoping that my question is clear, can someone please help me find a solution.
The problem is [Claim Count]. I want the claim count on each row to be the highest claim count from selected rows and placed on each row. The count is way under-reported. However, If I use a simple count statement or distinct count then only the last 2 rows have the count value I am looking for. It doens't seem to be affected by the where clause or the aggregated sets so it is over-reporting on the claim count. Anyone have any thoughts on how to solve this problem?
Basically, I'm cross joining law firms with tasks that show expenses and fees submitted by law firms for billing. I need to calulate averages by dividing the dollar amounts by a claim count. The twist is that the claim count I am looking for only occurs on the indemnity and prior legal fees rows because I know that every claim/case has an indemnity and prior-legal fee transaction in the fact table. The others types of transactions don't. So I have to assume the claim count is max claim count calculated on one of the rows and that number needs to be applied to the rest. Also, the count has to be adjusted by the slicers in the where clause (when I used a simple count statement it wasn't adjusting as I changed the values in the where clause) The slicers in the where clause change the date, or the jurisdiction as well as other dimensions. Hope this information has helped. Any suggestions would be greatly appreciated.
The scenario is that I have a dimension called Product... each product is given points and this is defined in the underlying product table.
The table on which my fact is based has a field called QtySold (which is the qty sold for the product). WhatI want is to somehow use Calculated Member (if that is the right solution) so that for any selected product, the user get's to see a calculated field called, say' Points earned, which will be QtySold multiplied by the points for that product.
Hoping that my question is clear, can someone please help me find a solution.
I have created a virtual cube in SQL2000. Then, I have generated aCalculated Member. When I did rollup into a higher level, SQL2000 didre-calculate the member. However, I want to summerize the Calculatedmember. The Solve Order could not be worked in this situation since ameasure, which is used to generate the Calculate Member, will beavailable only in the lowerest level of the dimension. Please help me!
I think my problem is that the dimension "Manager.Name" has a parent child relation. And the result i have is strange. I have the Pa_Salaire for the employee when its the last child but the total of the PA_Salaire of a manager (not one of the last child) doesnt give the average of his child but the average of all the employee of the society... Im not sure it's clear so Here is an example:
AVG_PA_Salaire Mr David (the boss) Mr David 10 000 Mr Smith (a manager) Mr Smith 5000 Ms Kalvin 2000 Mr Ollbek 3000 Total 5571.4 instead of 3333.33 Ms Richo (an other manager) Ms Richo 8000 Mr theck 5000 Ms Irita 6000 Total 5571.4 instead of 6333.33 Total 5571.4 the good total of all employee
Can anyone help me plz, i really need to do that...
I defined several calculated measures in my cube. In Report Designer, i want to filter data depending a calculated measure.
Some caluclated measures are missing properties like value or ismissing. Anybody a hint, why these measures dont provide the properties, as for that filtering or hiding is not possible.
In AS every property is the sam for all calcs and the leaking calcs dont have difficult expressions (IIF(measure<0,measure/measure,0.0)
The following query gives me counts by Year, Quarter and Month
SELECT NON EMPTY { [Measures].[MS093 A KEY Distinct Count] } ON COLUMNS, NON EMPTY { ([A MILESTONES KEY - MS093 A 1].[Year Name].[Year Name].ALLMEMBERS * [A MILESTONES KEY - MS093 A 1].[Quarter Name].[Quarter Name].ALLMEMBERS * [A MILESTONES KEY - MS093 A 1].[Month Name].[Month Name].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [DW Lite De- Normal]
The result looks like this
I would like to have the cumulative count say [MS093 A KEY Cumulative] as a separate calculated member / measure. I tried various MDX exps but none seem to work. Can someone please help me out here.
I have added a calculated member in my Analysis Service Cube, but this member does not show up in Report Builder. It is in my cube. I have tried to rebuild the model and to generate a new model. I can create a report from Visual Studio 2005 with the calculated member. Does not Report Builder support calculated members?
I woudl like to know how to improve performances of query. I have a cube, quite small with 8 dimensions and 2 measures. I also have 3 calculated members because i need avg aggregates on my measures. So 2 of my calculated measures are the simple measures but with avg aggregate. the third measure is the increase in percent between the 2 other measures.
I do use and browse my cube in Excel 2007. And the execution time of query is too long. I used the partition to design aggregates and optimize performances but it's still very low.
I saw that "scope" could be more efficient than calculated members but i dont know how it works. Could someone tell me that?
As the users drill down one of the dimensions, I want to show the breakup of each sub member in terms of %age e.g.
Suppose total Sales are 300 and breakup is as follows: Category A = $ 120 Category B = $ 65 Category C = $ 115
I want that when the user drills down to the 2nd level in the Products dimension (let's say this Level is called Category) then I want the %age of Sales for each category - all adding up to 100
So this is what I should get (for the desired % breakup)
Category A = 40 Category B = 22 Category C = 38
I'll appreciate your help in making such a Calculated field.
hi all, I was wondering if it is possible in SSAS 2005 that a calculated member is based off of an (integer) dimension attribute and another (integer) measure (let's say a multiplication operation) ?
If there a trick on doing so? other than stuffing the (integer) dimension attribute back in the fact table, as an measure?
I want an MDX calculated dimension member, (with no measure specified in expression, so that any related measure can be used in a query/browse), and that accomplishes either one of the following:
Ideal: To calculate Median values on every level of a user hierarchy
If "Ideal" is not possible, then "Acceptable" is: To calculates Median values on one or more levels OTHER than the highest level.
I have a table that contains a column for a calcuated member (x) of type decimal number. When I tried to display the total of this calculated member in the table footer (=sum(x)), I am getting "#Error" instead of the sum of all displayed calculated values.
Column X
--------------
0
0.67
0.10
0.23
#Error (footer cell, expression -> =Sum(x))
=First(x), =Last(x) and =Max(x) worked fine, not sure why Sum failed. Please help...
A very basic MDX question. Using the following from AdventureWorks as an example:
Code Snippet WITH MEMBER [Measures].[Big Cities] AS ( [Geography].[City].&[New York]&[NY] , [Measures].[Internet Order Count] ) SELECT [Measures].[Big Cities] ON COLUMNS , [Customer].[Total Children].Children ON ROWS FROM [Adventure Works]
How would I re-write the [Measures].[Big Cities] calculated member so it included both [Geography].[City].&[New York]&[NY] and [Geography].[City].&[Los Angeles]&[CA]? Assuming there is no logical connection between these members, and that they are non-contiguous. Also, in my real example, I cannot move [Measures].[Internet Order Count] to the WHERE clause, it must remain within the calculated member.
I am new to SSAS. I have requirement to build a cube based on SQL Stored procedure. This Stored Procedure contains lot of temp tables, which are aggregated as measure columns.
Initially I have done creating views on each temp table, finally I created a view which calls like 15 views. when I try to execute the view, it is taking long time to execute the view.
I tried building cube on this view, when I try to deploy, even it is taking long time to deply..I have waited for 2 hours, still the deployement process going..
What I wonder is, is there any other way I can build cube based on SQL stored Procedure.
Uknown Member is set to "Uknown" in the cube . This cannot be changed because it needs to be visible in other applications. However, in my particular MDX I want to create a custom set that excludes this member.
WITHSET setNoUnknowns as EXCLUDE( [Dim].[Hierarchy].CHILDREN, { [Dim].[Hierarchy].UNKNOWNMEMBER } )SELECT{[Measure].[MeasureName]} on COLUMNS,setNoUnknowns on ROWSFROM [Cube]
With the above MDX, I still get a return for member "Unknown". I've confirmed that there isn't an explicit member name of "Unknown".Excluding [Dim].[Hierarchy].[Unknown] does not work either.
I have a requirement to show the parent value which is passed and also all the leaf member details in MDX. For example in Adventure works, if I pass Bikes as the value in MDX, the results should display Bikes along with All the child member names as a measure value in SSAS MDX. I only have one hierarchy with Product Category-> Subcategory-> Product.
I am trying to use the following MDX but I am getting all the members. I need to get only Bikes in my report.
WITH MEMBER [Prod_Passed] AS SETTOSTR(AXIS(1)) MEMBER [Prod_Child] AS DESCENDANTS ([Dim Product].[Hierarchy].CURRENTMEMBER,,LEAVES).item(0).NAME MEMBER [Child_Value] AS ([Dim Product].[Hierarchy].CURRENTMEMBER,[Measures].[Sales Amount]) SELECT [Dim Product].[Hierarchy].[Product Category].&[1] * [Dim Product].[Product Key].[Product Key].MEMBERS ON ROWS, {[Measures].[Sales Amount],[Prod_Passed],[Prod_Child],[Child_Value]} ON COLUMNS FROM [AdvWorks]
I have an issue which I cannot seem to resolve, what I need to do is to create a new member in an existing dimension which lets me filter the results of the last two weeks (this should start from last week, so ignoring the current week). I've tried a few approaches which seemed to have worked when browsing via excel, but when I tried using this in PowerView things were not right. I need a graph which shows the day on the Axis and then a single measure, with the filter being set to the last two weeks.
In management studio I got the following to work and show me the week, date and the measure:
select ( LastPeriods(2,[Date].[Week Calendar].[Year].&[2015].&[30]&[2015].lag(1)) ,[Date].[Calendar].[Date].allmembers ) on rows, [Measures].[On Schedule %] on columns from [Flight Movement] where {([Flight Leg].[Direction].&[Arrival]),([Flight Leg].[Direction].&[Departure])}
This filters the results and only shows the relevant weeks and dates. When I try to put the LastPeriods logic into a new member, it returns all the dates in the dimension. This is what I am trying:
with member [Date Calculations].[Date Calculations].[Test] AS (LastPeriods(2,[Date].[Week Calendar].[Year].&[2015].&[30]&[2015].lag(1))) select ( [Date Calculations].[Date Calculations].[Test], [Date].[Calendar].[Date].allmembers ) on rows, [Measures].[On Schedule %] on columns from [Flight Movement] where {([Flight Leg].[Direction].&[Arrival]),([Flight Leg].[Direction].&[Departure])}