I'm trying to calculate the average number of sick days per person so that it can be broken down by person role or department or some other dimension. I have a calculation for sick days that works ok and is [measures].[sick days.I'm trying to create another calculation that is [total staff] but it doesn't work.
My final calculation will be [avg sick days] = [measures].[sick days] / [measures].[total staff]
The bit I can't get to work is making it ignore any filters. For example I have a measure called [staff] and as you would expect it can be broken down by [person].[role] or [department].[department].
I'm trying to get [total staff] to return the total when it's used with [person] or [department]. I've managed to get it to work with [person] by using ROOT([Person]) but then I will need to do this for all different hierarchies that will use it.
I have created calcalated measures in a SQL Server 2012 SSAS multi dimensional model by creating empty measures in the cube and use scope statements to fill the calculation.
(so I can use measure security on calculations
as explained here )
SCOPE [Measures].[C];
THIS = IIF([B]=0,0,[Measures].[A]/[Measures].[B]);
I have two different roles, each one with a dax filter. One is for filtering users that access by Excel, and other for filtering users that access by Reporting Services, respectively:
To create only one role that serves Excel and Reporting Services users, is it viable to use only the || (OR) operator?, is there any other regard i should take?
I have a set of data and calculated already the average of a specific measure, incl. the Standarddeviation of this measure. Now I want to create a average measure of the values on row level which arehigher than [Avg]-[StdDev] AND lower of [Avg]+[StDev].As far as I understand I have to check on Rowlevel, which means on Date and Brand Level, if the value of the measure is above or lower than the Mean +/- StdDev.
which leads to a wrong result. This one counts all rows if true.With Descendants I got a #Value-Error, probably because I did not understand how the calculations work. I planned to include this in a IIF calculation.
Need to resolve this calculation, which I would believe is something very common on SSAS environments.
Like many companies, my company has different ways of calculating Sales and the two I want to focus are Sales Gross and Sales Net.
At a high level, we calculate Sales Gross as Sales with returns, and Sales Net as Sales without returns.
We have an attribute called Order Type that has various types of orders a user can execute with my company. One of them is Returns. If you return something back to us, we record that as a return line on the sales table. With that, we can calculate that return, breaking data down by Order Type, such as:
Order Type Line Total
Mail Orders $ 776,655.44
Internet Orders $ 2,211,334.00
Call Center Orders $ 11,223,344.00
Credit Orders $ (55,666.00)
Today, to calculate Sales Gross and Sales Net, we are creating two dimensions: DimSalesGross and DimSalesNet.
To calculate Sales Gross, we leave the data at the natural state, not making any changes to mappings.
To calculate Sales Net, we map Credit Orders to Call Center Orders at the ETL level, getting a Net value for sales (Orders - Returns), however, I doubt this is the correct way of doing.
I would like to have a Line Total Net / Line Total Gross calculation, which would be based on the Order Type value.
Perhaps using a CASE statement in MDX? Is the above possible?
1)Where do I do the dateDiff calculation, at report or cube level? 2)How do I work out which dates belong to the above groups? I'm assuming i have to check if the dateDiff lies between those numbers?
I have a calculation that granularity is on a specific level and therefore would like the calculation to be only visible/calculate when with a specific dimension structure & attributes
SCOPE([Measures].[Complaint Rate]); SCOPE([Item Dimension].[Item Structure].Members); this=(IIF([Measures].[Sales Units]=0,NULL,(([Measures].[Count]/[Measures].[Sales Units])*1000000))); END SCOPE; END SCOPE;
This displays the calculation all the time even if no item attributes are selected, I only want the calculation applicable to the structure & attributes belonging to structure - I tried children, currentmember etc. but no luck - its probably something small I am missing. Tried this too
I have developed a cube in my work place for analyzing current year sales with previous year sales in Time Hierarchy (Year- Quarter- Month) using Parallel period. If we want to see data for particular Quarters i.e. Q1 and Q2 then total at the year level should also get change. Currently if we only choose 2 quarters in the filter then current year data gets change, however data using parallel period is not getting change accordingly and its shows Total of full year.
I am stuck in a situation where I want to use YTD for three different calendars of our company and don't want to create three different YTD calculations. However I want to make this work for any measure not for a particular measure
If I create one YTD and try to use in context of three calendars in SCOPE statements then it does not give my right results. Following is my syntax but It does not work.
I have been following the tutorial/blog post HERE to create an annualization (or "run rate") of my Gross Amount measure. What I want to do now is exclude any period that is not "complete".
For example, if today is 9/9 then Q3 is not complete - only Q1 and Q2 are complete. And if I'm looking at it monthly then January through August are complete, but September is not.
Cells B5 and D5 look exactly as I expect and want them to be. On row 6 below under each "Gross Annualized" value I have basically just put the formula for what it's actually doing.
What I would like to see in the blue cell is $67,211,697,268 - essentially the most recent annualization for a completed period. The annualization for Q3 is misleading because the quarter has not yet completed. There's $16b in Q1 and $17b in Q2, so the measly $78m in Q3 (yellow cell) is dragging the annualization down significantly. Even worse, the Gross Amount for Q4 is being treated as a $0.00, which is further dragging down the "2015 Gross Annualized" amount in blue. In a T-SQL average calculation, for example, I think the green cell would be treated as NULL rather than $0. That's kind of the behavior I want.
So I would like to do two things:
Create a calculation (probably just a 0 or 1 flag) that indicates whether the current period is complete or not. Again, using 9/9/2015 as an example, Q2 would be complete but Q3 would not be. And August would be complete, but September would not. Make the blue cell show $67,211,697,268 - an annualization based on completed quarters only.
For whatever it's worth here is the current calculation for Gross Annualized.
CREATE MEMBER CURRENTCUBE.[Measures].[Gross YTD] AS AGGREGATE( YTD([Pay Date].[Calendar].CurrentMember) ,[Measures].[Gross Amount]), FORMAT_STRING = "Currency", VISIBLE = 0;
At the 2nd level, the calculated measure will only be correct if it is Averaged. And at the 1st level, the calculated measure will only be correct to take these Average value from 2nd level and Sum then up together.
Level 1 Level 2 A X1 X2 ================= (Avg of X1 + X2) B Y1 Y2 Y3 ================= (Avg of Y1 + Y2 + Y3) =================================================== (Sum of (Avg of X1 + X2) + (Avg of Y1 + Y2 + Y3) )
Currently, Instead of summing all the 3 averaged value, it is averaging against all the items like,
(Avg of X1 + X2 + Y1 + Y2 + Y3)
My MDX currently looks something like that
[Measure].[Value] / [Dimension].[Attribute.count] -> so i can get the avarage at the 2nd level but it doesn't require on the 1st level but retaining this value.
How can i do an average on the leaf level and using these average values to sum at parent level?
I have a Matrix that counts records by one group. In a simplified scenario, the group values are 1, 2, and 3. When I created the matrix without a subtotal, all 3 groups are returned. I added the subtotal column, and now only 2 of the groups are returned. The dataset query looks like this: SELECT A
, B FROM Table
Without Subtotal this is returned: A CountOfB 1 3 2 6 3 7
With Subtotal this is returned: A CountOfB Subtotal 1 3 3 2 6 6
The last value is missing. When I remove the subtotal column, the last value does not return. Where did it go? Am I missing a setting?
Thank you so much for reading this. Any help would be appreciated. babs
I've got a problem with this query. I'm not great at joins and so I'm not sure how to fix this. I have items not in the CMO table (the last join), but I still want them to at least show up. They're being excluded:
SELECT OM.DOCNUM, OM.NAME_LAST, OM.NAME_FIRST, LV.DESCRIPTION AS Sex, ' ' AS Mandatory, CASE WHEN (LSI.Q1 = 1 OR LSI.Q2 = 1 OR LSI.Q3 = 1 OR LSI.Q4 = 1 OR LSI.Q5 = 1 OR LSI.Q6 = 1 OR LSI.Q7 = 1 OR LSI.Q8 = 1 OR LSI.Q9 = 1 OR LSI.Q10 = 1 OR LSI.Q12 = 1 OR LSI.Q13 = 1 OR LSI.Q14 = 1 OR LSI.Q15 = 1 OR LSI.Q16 = 1 OR LSI.Q33 = 1 OR LSI.Q34 = 1 OR LSI.Q39 = 1 OR LSI.Q39 = 0 OR LSI.Q40 = 1 OR LSI.Q40 = 0 OR LSI.Q51 = 1 OR LSI.Q51 = 0) THEN 'Y' ELSE ' ' END AS Optional, OM.CASE_MANAGER_ID_U AS CASE_MANAGER_ID, CASE WHEN (CMO.REMOVAL_RSN_ID_LV = 1022) THEN 'Y' ELSE ' ' END AS Active, CASE WHEN (CMO.REMOVAL_RSN_ID_LV = 1015) THEN 'Y' ELSE ' ' END AS Complete FROM dbo.OFFENDER_MAIN AS OM LEFT OUTER JOIN dbo.LOOKUP_VALUES AS LV ON LV.ID = OM.GENDER_ID_LV LEFT OUTER JOIN dbo.LSI_ANSWERS AS LSI ON LSI.DOCNUM = OM.DOCNUM LEFT JOIN dbo.COMMUNITY_MOD_OBJ AS CMO ON CMO.DOCNUM = OM.DOCNUM WHERE (LSI.COMIT_ACTIVE = 1) AND (CMO.OBJECTIVE_CODE_ID_LV = 1011) AND (CMO.REMOVAL_RSN_ID_LV = 1022 OR CMO.REMOVAL_RSN_ID_LV = 1015) AND (OM.FACILITY_ID_F <> 1)
Calculation of an average using DAX' AVERAGE and AVERAGEX.This is the manual calculation in DW, using SQL.In the tabular project (we're i've noticed that these 4 %'s are in itself strange), in a 1st moment i've noticed that i would have to divide by 100 to get the same values as in the DW, so i've used AVERAGEX:
The results were, respectively: 701,68; 2120,60...; -669,441; and finally **-694,74** for Avg_FMPdollar.i can't understand the difference to SQL calculation, since calculations are similar to the other ones. After that i've tried:
test:=SUM([_FMPdollar])/countrows('Fct Sales') AND the value was EQUAL to SQL: -672,17 test2:=AVERAGE('Fct Sales'[_Frontend Margin Percent ACY]), and here, without dividing by 100 in the end, -696,74...
So, AVERAGE and AVERAGEX have a diferent behaviour from the SUM divided by COUNTROWS, and even more strange, test2 doesn't need the division by 100 to be similar to AVERAGEX result.
I even calculated the number of blanks and number of zeros on each column, could it be a difference on the denominator (so, a division by a diferente number of rows), but they are equal on each row.
I'm using SSAS 2005 with Excel 2007. My data store is very poor at the moment and most of the tables for the dimensions get rebuilt every night. The current result is as follows;
User selects product "Issue May 2008" as a filter from the product dimension, saves and closes the report. User opens the report after the data has refreshed, the data is different, the filter shows Issue May 2008 but when you click on it the item above it is displayed - this is because the IDs have changed in the source table.
Is there a way to make it so the text/description of the dimension is used rather than the ID?
In my head that explanation makes sense, but I can understand how it might not so please let me know if it doesn't
I was wondering if it's possible to set filters per user. For example we have a client who has offices in 10 different states, we want an admin of an office to only be able to run reports on their state. Is this possible without creating 10 different models/views?
Is there a good article on the net for working with filters?
Also, I have a report with 10 parameters. Each parameter get his default values from a dataset. The problem is that the report ake a lot of time to load since it need to run all 10 datasets to load the parameters values.
I am creating report using reporting service and datasource is SQL Server 2005 Cube.
I am using query builder and i am creating query parameters in the query builder but when i run the report is showing the filters but data is not filtering based on which i selected from the list.
How do i create filters?? Please help out on this.
Hi. Is it possible to create a report via SSRS and deilver it via the subscription service in an email such that when user opens their own report (filtered by their user id) they can then dynamically change filters (cbo boxes) a la an excel pivot table which will then refresh the data in the report for them?
I can't seem to find a way to do this. Drill-down is not what is wanted...they want to simply cheange selections in cbo boxes and have the data all refresh.
I have a report generated through a number of recursive CETs and would like to add a FILTER parameter for the user to select on. (Using Parameters in the query will not work because recursion cannot be limited at the outset by the parameter). The values to be selectable are: Sprint 1 - R 1.0 Sprint 2 - R 1.0 Sprint 3 - R 1.0 Sprint 4 - R 2.0 Sprint 5 - R 2.0 Sprint 6 - R 2.0 ...etc
I want the report to display only those Releases (R n.0) which the user specifies, eg: Release 2 would select all data with R 2.0 in the field.
Using Table properties-Filters for the field works IF I use "=", as: Expression: Operator: Value: An.... =Fields!SprintName.Value = Sprint 4 - R 2.0 or =Fields!SprintName.Value = Sprint 5 - R 2.0 or =Fields!SprintName.Value = Sprint 6 - R 2.0
Issues: 1. I am unable to use Like (I could specify Like '%- R 2.0%' and have all Release 2.0 displayed), but it does not work with any of the syntax I have tried. Using only a single expression row, - R 2.0, '%- R 2.0%', "%- R 2.0%" all fail by displaying NO data. CAN Like be used? And what is the syntax?
2. I do not have any control over the And/Or column -- it is always greyed-out, and inserts "or" automatically if the Operation is "=", and "and" if the operation is "Like". How do I control this paramter?
3. And, most important, how do I get user input to the filter field, such that If I enter Release 2 from a drop down (?), I can display the appropirate data?
I am using Merge Replication between SQL Server 2005 (Publisher) and Pocket PC (Subscriber). I have a .NET compact framework appliction on the Pocket PC that replicates data from the server.
I am using SqlCeReplication class on the Pocket PC application to synchronise the data. By default, when i call the Syncrhonise() method, it pulls all the data from the server. What I want is to pass a parameter from the Pocket PC and filter the data based on that paramter. E.g. from the Employee table, I want only those Employee that belongs to a CompanyID that I pass as a parameter.
Is there a way to do this, so that i can pass parameters from my PDA application (Windows Mobile), and make the Filters specified in the Publication to use that parameter to filter out the rows.
Hi, Is there a way to create a new mining model from an existing one but with a different filter? I can see that the SELECT INTO DMX statement perform the creation. Is there a syntax for DMX in SQL Server 2008 for setting the filter for the new model?
Does anyone know if you can use any other parameters in the row filters for merge replication besides the functions SUSER_NAME() and HOST_NAME()?
I would like to create a publication for a couple thousand mobile databases to replicate with one SQL Database but filter what data they get based on some parameters. Do I have to hard code WHERE statements into static filters and create a publication for every user (seems a little ridiculous)?
Is there a proper way to do this using the SUSER_NAME and give each user a different connection name that will filter data properly?
I have a fairly simple report that displays one table (table1). The table has a filter that I created by opening the properties of the table and entering
=Parameters!abs_comparison.Value
in the Value field of the Filters tab. The filter operates on the
=Fields!Absolute_Comparison.Value
field.
The report displays the row count from the dataset (=CountRows("mfrep_rqw"), but this value doesn't change when the filter is applied. I'd also like to display the number of filtered rows, but I can't figure out how to do it. Any ideas?
I have applied two filters for table in the SSRS report, one is StartDate and another is EndDate. But I was unable to choose the Boolean operator (And/Or) to use to combine this expression.
I came to know that the Boolean operator cell activates after we begin to enter an expression in the next row. But by default it is set as "And" operator. Now i want to cahnge that to "Or" operator it is in disable. Is there any way to enable this cell to choose the operator from the cell.
I would like to know what the best method of handling a rather large record selection task.
Here is the crystal version.
if {?WhseRegion} = 'Western' then {R_ShippingLog;1.InvUnitSite} in ['LA','AL','DA','DB','OA','PO','SE','TH','TN']
else if {?WhseRegion} = 'Eastern' then {R_ShippingLog;1.InvUnitSite} in ['AD','BE','CH','CI','EL','FL','IL','JL','KC','KS','MA','MI','MK','NE','NJ','NO','PA','SA','STL']
else {R_ShippingLog;1.InvUnitSite} in ['LA','AL','DA','DB','OA','PO','SE','TH','TN','AD','BE','CH','CI','EL','FL','IL','JL','KC','KS','MA','MI','MK','NE','NJ','NO','PA','SA','STL']
What I trying to figure out is how to incorporate the above in the dataset filter area on the datagrid.