OLAP UI Tools for business users
SSDT - Using a SharePoint list data feed as source - "column does not exist in the rowset" error
Hey guys!
So, I want to use a SharePoint list data to create a cube/tabular model, in order to make a complex analysis in PPS using MDX.
To create the tabular model, I'm using the SS Data Tools, and importing a feed from the respective SharePoint list (using the _vti_bin/listdata.svcextension and then selecting the list(s) I wanna to import).
Everything looks fine and smooth, I can select and preview the data in the table import wizard, but in the end, when importing, I always get this error IF the table has one or more row of data (if the table is empty, it's ok...) - the <...> column doesn't exist in the rowset.
(Curiously, when I have the same procedure in PowerPivot for Excel, I have no problems, everything works fine. The problem is that then I get again errors if I try to create a tabular model on SSDT importing a PowerPivot file).
Here's the error:
Had you already tried this in SSDT? Are you experiencing the same trouble?
Best regards, and thanks in advance!
Jorge Mateus
Jorge Mateus
How to make Calaculated Measure perform better
refreshes Pivot Table. Upgrade is in process, but need to resolve speed issue for now. Can it be re-coded to improve performance?
IIF (Measures.[Qty On Hand]=0 OR Measures.[Monthly Average Demand]=0, null, Measures.[Qty On Hand]/(Measures.[Monthly Average Demand]/30))
DAX : Combine CALCULATE and ALL fail to ignore the current context
Hi all,
I'm learning DAX Query by the example in page(http://www.sqlservercentral.com/articles/DAX/97522/).
When I test the example in section 'Row and Filter Context',I find CALCULATE and ALL fail to ignore the current context, and my result is shown below.I test it in DirectQuery and In-Memory model,the result is the same.I can't find the problem.The expect result is in the example page,the forum don't permit me upload the image.
Any help is much appreciated .
define measure 'FactInternetSales'[Sum of Sales] = SUM('FactInternetSales'[SalesAmount] ) measure 'FactInternetSales'[Product Universe] = calculate( 'FactInternetSales'[Sum of Sales], ALL(DimProduct[EnglishProductName] ) ) evaluate( summarize( 'FactInternetSales', 'DimSalesTerritory'[SalesTerritoryRegion], DimProduct[EnglishProductName], 'DimDate'[CalendarYear],"Sum of Sales", [Sum of Sales],"Product Universe", [Product Universe] ) ) order by 'DimSalesTerritory'[SalesTerritoryRegion] ,DimProduct[EnglishProductName] ,'DimDate'[CalendarYear] [Region] [EnglishProductName] [CalendarYear] [Sum of Sales] [Pduct Universe] Australia All-Purpose Bike Stand 2013 9540 9540 Australia All-Purpose Bike Stand 2014 795 795 Australia AWC Logo Cap 2012 17.98 17.98 Australia AWC Logo Cap 2013 3676.91 3676.91 Australia AWC Logo Cap 2014 116.87 116.87 Australia Bike Wash - Dissolver 2013 1661.55 1661.55 Australia Bike Wash - Dissolver 2014 47.7 47.7 Australia Classic Vest, L 2013 2667 2667 Australia Classic Vest, L 2014 127 127 Australia Classic Vest, M 2013 2286 2286 Australia Classic Vest, M 2014 190.5 190.5 Australia Classic Vest, S 2013 1905 1905
By the way,in the online example,RANKX function in my test also has no effect,no matter how you test,the rank score is 1 all the rows.I feel the problem is the similar,but I can't find what is wrong.
Ho to edit or add new columns to a table which has partition in tabular model
Hi,
I need to add new columns and remove some columns from a table in tabular model using visual studio. However the table has partition on it. When i add new columns to the table the processing time increases and also the record count is higher than what I am fetching from the source view. Do I need to first make changes to the partition table and then make changes to the table.
Also I have notice an object reference error when i try to update the partition table first.
Please advise.
MDX Problem - Except Function in calculated member
Hello everybody,
I have the following code in MDX to create a calculated member. I tried it with and without .MEMBERS and I got the same result like you see under the code statement.
AGGREGATE( EXCEPT([Material].[Bohrerart Id].[Bohrerart Id].MEMBERS ,[Material].[Bohrerart Id].&[YPAB]), ([Measures].[Nettoerloes CO])) + AGGREGATE( EXCEPT([Material].[Bohrerart Id].[Bohrerart Id].MEMBERS ,[Material].[Bohrerart Id].&[YPAB]), ([Measures].[Erloes Projektpos])) - AGGREGATE( EXCEPT([Material].[Bohrerart Id].[Bohrerart Id].MEMBERS ,[Material].[Bohrerart Id].&[YPAB]), ([Measures].[PVF PJ])) - AGGREGATE( EXCEPT([Material].[Bohrerart Id].[Bohrerart Id].MEMBERS ,[Material].[Bohrerart Id].&[YPAB]), ([Measures].[Skonto PJ])) - AGGREGATE( EXCEPT([Material].[Bohrerart Id].[Bohrerart Id].MEMBERS ,[Material].[Bohrerart Id].&[YPAB]), ([Measures].[Bonus PJ]))
Now I have the problem, that if I want to analyse each member of the "Bohrerart" dimension, all members have the total value.
It looks like this:
Element Measure 1 / Measure 2 (with except) /Measure 3 (what i expect to get)
YPAB 20 / 80 / -
A 20 /80 / 20
B 20 /80 / 20
C 20 /80 / 20
D 20 /80 / 20
What am I doing wrong? Could someone help me to understand and solve this problem?
Kind Regards
MuenchM
SSAS Cube via Excel / ActiveDirectory
Hello,
I query a SSAS cube via Excel. Most of the time this works without problems. But sometimes Excel does not send the account name (Active Directory) along with the query.Log file of IIS (excerpt):
cs-uri-stem s-port cs-username cs (User-Agent) sc-status
/OLAP/msmdpump.dll 80 Domain\ Username MSOLAP + 10.0 + client 200
/OLAP/msmdpump.dll 80 - MSOLAP + 10.0 + client 401
2. Line: Same client, same client IP, but no account name is logged (Status 401 in IIS).
Does anyone have any idea what this could be?
Specify Cube Perspective in Excel
using sql server 2016 temporal tables as SCD2 dimensions in SSAS models
So...
While 2016 temporal tables makes a lot of sense in an OLTP environment, where we also write reporting queries
our selves - for example the following join between facts (F) and temporal SCD2 table of Product dimension (P):
ON P.ProductId = F.ProductId AND F.FactDate BETWEEN P.ValidFrom AND P.ValidTo
I wonder if this is relevant at all to power bi or SSAS models
where join between facts and dimension uses direct comparison of joined columns only (no BETWEEN...)
I guess we could over come this limitation by adding a calculated field in the temporal scd2 table that would concatenate fields ProductID + ValidFrom to recreate some kind of traditional FK between facts and Product dimension so we are still left with a nice cut in ETL development costs of SCD2 dimensions?
Has any one tried this in Practice?
Any foreseen pros unt cons?
TIA!
Rea
MDX Cumulative Measures from specific point forward,
Hi
I have a cumulative calculated measure (See below)
However, I need this to ONLY start calculating from a specific dimension member onwards. for example the measure group table is linked to a dimensionand only when a certain flag = true must it 'start' computing the cumulative - is this possible?
Also I found that when I apply dimension filters the below cumulative measure does not seem to take them into consideration?
SUM ( {{[DimFirstPayDate].[First Pay Date Hierarchy].CurrentMember.Level.Members}.Item(0):[DimFirstPayDate].[First Pay Date Hierarchy].CurrentMember} * {{[DimAsAtDate].[As At Date Hierarchy].CurrentMember.Level.Members}.Item(0):[DimAsAtDate].[As At Date Hierarchy].CurrentMember} * {{[DimContractFlagsByPeriod].[Period FPD].CurrentMember.Level.Members}.Item(0):[DimContractFlagsByPeriod].[Period FPD].CurrentMember} , [Measures].[Loan])
I.W Coetzer
Create a calculated set using combinations of existing dimension members
I have an MDX query that creates a calculated measure based on values in 2 dimensions:
With member measures.[CustomGrouping] As Case When [Location].[City].currentmember.member_name = "Location1" and [Grade].[Grade].currentmember.member_name = "1" Then "Group1" When [Location].[City].currentmember.member_name = "Location1" and [Grade].[Grade].currentmember.member_name = "2" Then "Group1" When [Location].[City].currentmember.member_name = "Location1" and [Grade].[Grade].currentmember.member_name = "3" Then "Group2" When [Location].[City].currentmember.member_name = "Location2" and [Grade].[Grade].currentmember.member_name = "1" Then "Group2" When [Location].[City].currentmember.member_name = "Location2" and [Grade].[Grade].currentmember.member_name = "2" Then "Group3" When [Location].[City].currentmember.member_name = "Location3" and [Grade].[Grade].currentmember.member_name = "1" Then "Group1" When [Location].[City].currentmember.member_name = "Location3" and [Grade].[Grade].currentmember.member_name = "2" Then "Group3" Else "UnknownGrouping" End Select { measures.[CustomGrouping], measures.[Cost] } on 0, [Location].[City].[All].Children * [Grade].[Grade].[All].Children Having measures.[Cost] <> 0 on 1 From MyCube
and then using SSRS I group all the results so I end up with the Total cost per CustomGrouping. Is there a way I can do this grouping inside the MDX query and not reporting services?
I was thinking of some kind of calculated set like (obviously this is incorrect):
With set CustomGroupingSet As Case When [Location].[City].currentmember.member_name = "Location1" and [Grade].[Grade].currentmember.member_name = "1" Then "Group1" When [Location].[City].currentmember.member_name = "Location1" and [Grade].[Grade].currentmember.member_name = "2" Then "Group1" When [Location].[City].currentmember.member_name = "Location1" and [Grade].[Grade].currentmember.member_name = "3" Then "Group2" When [Location].[City].currentmember.member_name = "Location2" and [Grade].[Grade].currentmember.member_name = "1" Then "Group2" When [Location].[City].currentmember.member_name = "Location2" and [Grade].[Grade].currentmember.member_name = "2" Then "Group3" When [Location].[City].currentmember.member_name = "Location3" and [Grade].[Grade].currentmember.member_name = "1" Then "Group1" When [Location].[City].currentmember.member_name = "Location3" and [Grade].[Grade].currentmember.member_name = "2" Then "Group3" Else "UnknownGrouping" End Select { measures.[Cost] } on 0, CustomGroupingSet Having measures.[Cost] <> 0 on 1 From MyCube
Is this possible?
Processing partition issue SSAS
Hi there,
I have a quick Question if you can help me please.
I have created one package to process list of the partitions which are for one of the cube.
As I have been keeping list of partitions in the control table and sending one by one to DDL Task to process each partition.
I noticed that when partition is processed the related dimensions also processed.
My Questions is what will happen partitions are processing ? while partitions are processing the related dimensions also will process? If Yes what type of process will happen to dimensions (process update or full process or does it bring new records too) ?
Please let me know your thoughts
Thanks in advance
Cheers
SSAS 2012 - Find Partition used by MDX in SQL Profiler
Hello Expert ,
I am working on SSAS 2012 Cube , Cube is developed with Few Measure group and Dimension.
I have partitioned the Measure group Year Wise from Year 2010 to 2015, Partition Example Revenue_2010.
When I run below Queries, I want to trace from SQL Profiler if correct partition is HIT
SELECT [Measures].[Amount] ON 0 ,[Date].[FYYear].&[2014] ON 1
FROM [MY_cube]
I have connected to SSAS Instance from Profiler , Filtered by DataBase Name and Selected ALL EVENTS and ALL COUMNS .
BUT I DO NOT SEE ANY PARTITION NAME in any of the Event and Column, How can I be sure if Correct partition is used ??
TopCount issue
I want to have the reseller sales amount for the most selled product on years 2001 to 2004,
I am getting null result with bellow query
with member [Top sales product] as { topcount( [Product].[Product].[Product].members, 1, [Measures].[Reseller Sales Amount] ) } .Item(0) select { Measures.[Top sales product] } on columns, { [Date].[Calendar Year].&[2001], [Date].[Calendar Year].&[2002], [Date].[Calendar Year].&[2003], [Date].[Calendar Year].&[2004] } on rows from [Step-by-Step]
How to get fact records based on multiple values from the same Dimension.
SSAS Tabular Security on specific field rather than row level
I have a requirement to secure a specific set of fields in a tabular cube. For example, there is HR data that contains an employee dimension with the employee's name, username, employee ID, hire date, salary, and salary range min, salary range max. Based on a security role, I need to hide the salary fields. I don't want to filter the data so the user can't see anything about the employee (they should still be able to see the employee name, hire date, username, etc.). I just want the user to be unable to access those salary fields. I will have another role that can see the salary fields. I know cubes work on row or table level security. But is there a way to accomplish this? Can I move those fields into another table to somehow make this work?
Invalid column name '[O02_Date].[THMD10 YEAR R].[THMD10 YEAR R].[MEMBER_CAPTION]'.
CAST(agg.Yr as varchar) +
RIGHT('0' + CAST(agg.Mth as varchar), 2) +
agg.Mkt +
COALESCE(agg.Position, '-') +
COALESCE(agg.Agent, '-') +
COALESCE(CAST(agg.rsn AS varchar(8)), '-')) AS HashKey,
agg.Yr AS Report_Year,
agg.Mth AS Report_Month,
agg.Mkt AS Market,
agg.Position,
agg.Agent,
agg.RSN,
SUM( agg.Closed_SR_Count ) AS Closed_SR_Count,
SUM( agg.Code_Excl_Critic_Count ) AS Code_Excl_Critic_Count ,
SUM( agg.Code_Excl_GE_Count ) AS Code_Excl_GE_Count,
SUM( agg.Code_Excl_Legal_Count ) AS Code_Excl_Legal_Count,
SUM( agg.Code_Excl_Mktg_Count ) AS Code_Excl_Mktg_Count ,
SUM( agg.Code_Excl_RAV_Count ) AS Code_Excl_RAV_Count,
SUM( agg.Code_Excl_Redir_Count ) AS Code_Excl_Redir_Count,
SUM( agg.Cust_Already_Surveyed_Count ) AS Cust_Already_Surveyed_Count,
SUM( agg.Cust_Deceased_Goneaway_Count ) AS Cust_Deceased_Goneaway_Count,
SUM( agg.Cust_Not_Spec_Count ) AS Cust_Not_Spec_Count ,
SUM( agg.Inhibited_Count ) AS Inhibited_Count,
SUM( agg.No_Inbound_Contact_Count ) AS No_Inbound_Contact_Count,
SUM( agg.Other_Open_SR_Count ) AS Other_Open_SR_Count ,
SUM( agg.Selected_Count ) AS Selected_Count
--INTO #SR_SVY_SUMM_TMP
FROM
-- OpenQuery OLAP call
(SELECT CAST(CONVERT(varchar(4),"[O02_Date].[THMD10 YEAR R].[THMD10 YEAR R].[MEMBER_CAPTION]") AS int) AS Yr,
CAST(CONVERT(varchar(2),"[O02_Date].[THMD10 MONTH R].[THMD10 MONTH R].[MEMBER_CAPTION]") AS int) AS Mth,
CAST("[O02_Business Unit].[THMD03 MARKET N].[THMD03 MARKET N].[MEMBER_CAPTION]" AS nvarchar(50)) AS Mkt,
CAST("[O02_Business Unit].[THMD03 POSITION N].[THMD03 POSITION N].[MEMBER_CAPTION]" As nvarchar(100)) As Position,
CAST("[O02_Business Unit].[THMD03 LOGON D].[THMD03 LOGON D].[MEMBER_CAPTION]" AS nvarchar(50)) AS Agent,
CAST(CONVERT(varchar(8),"[O02_Business Unit].[THMD03 RSN K].[THMD03 RSN K].[MEMBER_CAPTION]") AS int) AS RSN,
CAST("[Measures].[Closed SR Count]" AS int) AS Closed_SR_Count,
CAST("[Measures].[Code Excl Critic Count]" AS int) AS Code_Excl_Critic_Count,
CAST("[Measures].[Code Excl GE Count]" AS int) AS Code_Excl_GE_Count,
CAST("[Measures].[Code Excl Legal Count]" AS int) AS Code_Excl_Legal_Count,
CAST("[Measures].[Code Excl Mktg Count]" AS int) AS Code_Excl_Mktg_Count,
CAST("[Measures].[Code Excl RAV Count]" AS int) AS Code_Excl_RAV_Count,
CAST("[Measures].[Code Excl Redir Count]" AS int) AS Code_Excl_Redir_Count,
CAST("[Measures].[Cust Already Surveyed Count]" AS int) AS Cust_Already_Surveyed_Count,
CAST("[Measures].[Cust Deceased Goneaway Count]" AS int) AS Cust_Deceased_Goneaway_Count,
CAST("[Measures].[Cust Not Spec Count]" AS int) AS Cust_Not_Spec_Count,
CAST("[Measures].[Inhibited Count]" AS int) AS Inhibited_Count,
CAST("[Measures].[No Inbound Contact Count]" AS int) AS No_Inbound_Contact_Count,
CAST("[Measures].[Other Open SR Count]" AS int) AS Other_Open_SR_Count,
CAST("[Measures].[Selected Count]" AS int) AS Selected_Count
FROM OPENQUERY(THEMISOLAPDEV,
'WITH
SET setYears AS EXCEPT( {[O02_Date].[THMD10 YEAR R].CHILDREN}, {[O02_Date].[THMD10 YEAR R].UNKNOWNMEMBER})
SET setMkts AS EXCEPT( {[O02_Business Unit].[THMD03 MARKET N].CHILDREN}, {[O02_Business Unit].[THMD03 MARKET N].UNKNOWNMEMBER})
SELECT
{[Measures].[Closed SR Count],
[Measures].[Code Excl Critic Count],
[Measures].[Code Excl GE Count],
[Measures].[Code Excl Legal Count],
[Measures].[Code Excl Mktg Count],
[Measures].[Code Excl RAV Count],
[Measures].[Code Excl Redir Count],
[Measures].[Cust Already Surveyed Count],
[Measures].[Cust Deceased Goneaway Count],
[Measures].[Cust Not Spec Count],
[Measures].[Inhibited Count],
[Measures].[No Inbound Contact Count],
[Measures].[Other Open SR Count],
[Measures].[Selected Count]} ON 0,
NON EMPTY (
setYears,
[O02_Date].[THMD10 MONTH R].CHILDREN,
setMkts,
[O02_Business Unit].[THMD03 POSITION N].CHILDREN,
[O02_Business Unit].[THMD03 LOGON D].CHILDREN,
[O02_Business Unit].[THMD03 RSN K].CHILDREN) ON 1
FROM [MTHMO02_SR_SURVEY]')) AS agg
GROUP BY agg.Yr, agg.Mth, agg.Mkt, agg.Position, agg.Agent, agg.RSN WITH ROLLUP
HAVING (agg.Yr IS NOT NULL AND agg.Mth IS NOT NULL AND agg.Mkt IS NOT NULL)
sanjeetbidhuri
SSAS Calculation-Help needed
In cube, We have two fact tables named Goaldata and Actualdata and a Time dimension along with other dimensions. In Goaldata table, we have data till 2016 December and in Actualdata table we have data till 2016 June(current month) and for some products we have data till may 2016 only.
Since Goaldata table has data till December, The time dimension also have an entries till December 2016. For rolling 6 months calculation on Actualdata table, If I use Bottomcount function it’s pulling the data from December 2016 which will be blank value. To avoid that, We used Nonempty function along with bottomcount.
This logic worked well for the data which has values till June 2016. If the data is till May 2016, our logic takes rolling 6 months from May but we want it to take from June 2016 irrespective of whether we have data or not in any of the months. Also, If any of the of the middle months don’t have data then it’s ignoring that month and taking another month value(basically it takes 6 months which has data)
(AVG(BOTTOMCOUNT(NONEMPTY([Time].[Hierarchy].[Year Month].members,[Measures].[Measure name]),6),(([Measures].[Measure name])))
Please do the needful
Using a Set in a calculated member
I'm trying to use a set called [Judy Set] in a calculated member. I'm wanting to filter and use in the calculation only those customers where ROE >= .12 or 12 %
[Judy Set] is defined as:
{FILTER([Customer].[Customer Number].[Customer Number].members,[Measures].[Return on Equity] >= .12)}
I tried this calculated member definition:
I'm not sure what I've got wrong here. Any ideas would be appreciated/
J. Way
can not find default member (Dimension,Attribute) in cube
Hey!
I have a problem in processing a cube.
I get the following error and have no idea why the cube can't find the "all"-element.
"DefaultMember (<Dimension>,<Attribute>) (1,1) The [All]-Element can't be found by analyzing the string '[Dimension].[Attribute].[All]' in the cube."
I have set the property IsAggregatable to True. I also added the following MDX-Expression
ALTER CUBE CurrentCube | YourCubeName UPDATE DIMENSION <dimension name>, DEFAULT_MEMBER='<default member>'; in my calculations
because i am using the dimension 3 times with different names in the cube.
Does anybody have a suggestion how to solve this problem?