Tabular Model Performance Improvements
Hi !
We have a bulitv tabular model inline which has a fact table and 2 dimension tables .The performance of SSRS report is very slow and we have bottle neck in deciding SSRS as reporting tool.
Can you help us on performance improvements with Tabular Inline
Regards,
Hi Bhadri,
As Sorna said, it hard to give you the detail tips to improve the tabular model performance according the limited information. Here are some useful link about performance Tuning of Tabular Models in SQL Server 2012 Analysis Services, please refer to the
link below.
http://msdn.microsoft.com/en-us/library/dn393915.aspx
If this is not what you want, please elaborate the detail information, so that we can make further analysis.
Regards,
Charlie Liao
TechNet Community Support
Similar Messages
-
HI,
I have built a small database of size 31 MB on tabular mode. DB querymode is set to InMemory. With simple setup, a normal evaluate dax query is taking 1 sec to retrieve list of sales person which is a dimension table and does not include any calculation.
The other semi complex query are taking 15- 20 secs. The tabular instance setting are set to default as the db size is less and server as total of 7 GB RAM.
Is there any setting that needs to be validated to improve the performance.Because if the model is inmemory then the output should come out in microseconds.
Manohar K - SQL Server DBA ConsultantHi Manohar,
According to your description, you are experienciing the performance issue when retrieval data from the small SQL Server Analysis Services Tabular model, right?
In tabular model, as you increase the data load, add more users, or run complex queries, you need to have a strategy for maintaining and tuning performance. Here are some links which describe strategies and specific techniques for getting the best performance
from your tabular models, including processing and partitioning strategies, DAX query tuning, and server tuning for specific workloads. Please refer to the links below.
http://msdn.microsoft.com/en-us/library/dn393915.aspx
http://sqlblog.com/blogs/marco_russo/archive/2013/08/05/performance-tuning-of-tabular-models-in-analysis-services-2012-ssas.aspx
Besides, I'd suggest you enable SQL Server profiler to monitor the query, and check which part in the query took a very long time to run. Here is a useful link for your reference.
http://sqlmag.com/database-performance-tuning/using-sql-profiler-tune-mdx-queries
Regards,
Charlie Liao
TechNet Community Support -
SSAS Tabular model Performance Issue
Hello,
We have strange behavior with SSAS tabular model. The Model size is approx. 40GB in memory. Our production server has 200GB memory. Most of the users access the cube via Excel 2013 (64bit). We have been noticing that the performance starts degrading from
the next day after the Analysis service has been restarted or the server rebooted. The day either one of them is performed we get good response but then the next day response times becomes 2 to 3 times more than on the 1st day. Is this something which anyone
else has experienced. We are entering in a mode where we are required to restart the service almost everyday.
Any help in this matter would be greatly appreciated.
Thanks
DeepakWhy are you sure role based security is the culprit? Immediately after cube processing or immediately after ClearCache does the report perform fast for a user without any role based security filters? I would recommend reviewing the methodology on page
35 of the tabular performance guide to see if it is a storage engine or formula engine bottleneck and report back.
http://aka.ms/ASTabPerf2012
http://artisconsulting.com/Blogs/GregGalloway -
Performance testing of Tabular model
I have Power View on SharePoint 2013 on tabular model.
How to test performance of tabular model with SQL Server tools or equivalents?
Kenny_IHi Kenny_I,
According to your description, you want to test the performance of tabular model with SQL Server tools, right? In this case, we can use SQL Profiler to achieve your requirement. Here is a blog which describes using SQL Server to Analyze Analysis Services
Profiler Traces from Tabular Models, please refer to the link below to see the details.
http://blogs.msdn.com/b/johndesch/archive/2014/06/27/using-sql-server-to-analyze-analysis-services-profiler-traces-from-tabular-models.aspx
Besides, here is a similar thread for you reference.
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/649c11a5-b771-4153-b609-e8754d29a9ad/tracing-and-monitoring-mdx-query-against-a-ssas-tabular-model-ssas-2012?forum=sqlanalysisservices
Regards,
Charlie Liao
If you have any feedback on our support, please click
here.
Charlie Liao
TechNet Community Support -
Data "chunking" in SSAS Tabular models
I have a Tabular model I built in VS2013, deployed to SSAS 2014 Tabular, and consumed via SSRS and PowerPivot. Let's say it consists of 4 fact and 1 measure table. The resulting dataset is about 10 million rows, which for some end-users can be a little unwieldy.
I had heard of "partitions", and thought it could help me "chunk" the data into manageable "user friendly" portions of the total measure dataset, but it doesn't appear to behave as I envisioned.
Imagine you have a model with world-wide sales information and you want to maintain that as a master model that you deploy, but want to make portions of the measure data available based on values in a fact table; let's say subsets that represent NA, another
for EU and so on. The geo data is a fact table in the model.
I envisioned "partitions" being select parts of the total model that you expose via partition name that the end user can select to work with like "I'm the AR for the NA region and this is my partition of the WW Sales data cube" How
would one accomplish this?Hi Torben,
According to your description, you create a SQL Server Analysis Services Tabular model and deploy it to SQL Server 2014 server, and use Reporting Services and Excel to interact with this tabular model. Now the problem is that the resulting dataset is about
10 million rows, which for some end-users can be a little unwieldy, right? If I have anything misunderstood, please point it out.
In your scenario, you want to filter the data base on the user's region to improve the performance issue. In this case, please refer to the links below which describe how to achieve it.
http://blogs.msdn.com/b/analysisservices/archive/2012/08/10/row-level-security-in-analysis-services-2012.aspx
http://grow-n-shine.blogspot.jp/2012/10/defining-row-level-security-in-ssas.html
Besides, to improve your report performance, you can cache your report. Caching can shorten the time required to retrieve a report if the report is large or accessed frequently. Please refer to the link below to see the details.
http://msdn.microsoft.com/en-us/library/ms155927.aspx
Regards,
Charlie Liao
TechNet Community Support -
Updation of DAX in SSAS Tabular Model
Hi All,
I have a SSAS tabular model which has around 42 Dimension table and 10 Fact table each containing some thousands
of record.when I am writing some DAX on a FACT to get some measure ,its taking 10-15 minutes time to update one DAX.
I have to write more than 300 measures using DAX.Can anyone please suggest how can I speed up the updation process
in writing DAX.
Thanks in Advance.
Sanjay
sanjayHi Sanjay,
According to your description, there are around 42 Dimension table and 10 Fact table each containing some thousands of record in your tabular model, so it takes 10-15 minutes time to update the calculation to server, right?
It's default setting to update the modification to server when change something on your tabular model, if the tables contain large data, it will takes long time to update. In your scenario, we recommend you to use Multidimensional database instead of Tabular
model when having large amount of data with complex requirements.
SQL Server Analysis Services (SSAS) Multidimensional model is used when having large amount of data with complex requirements. In order to improve query performance, there will be a cube doing heavy time-consuming processing and then synchronize it
to query cubes.
However, SSAS Tabular model is used when the data model is relatively simple. So for the large amount data model, we recommend to use Multidimensional database instead of process data on one server then synchronize it to query cubes.
Reference
http://blog.aditi.com/data/choosing-between-analysis-services-multidimensional-and-tabular-models-part-3/
Regards,
Charlie Liao
TechNet Community Support -
Analysis Services Tabular Model 2014 vs 2012
Hi,
A very simple question : with the same tabular model is 2014 faster than 2012 from query point of view (is the Storage Engine or Formula Engine faster than the previous version ) ?
ThanksHi MIB1,
According to your description, you want to know if the SSAS 2014 tabular model has better performance than SSAS 2012 tabular. Right?
With exception to added functionality supporting Power View Reports against Multidimensional Models, SQL Server 2014 Analysis Services is unchanged from the previous release. There's nothing improvement on SSAS tabular.
Reference:
What's New in Analysis Services and Business Intelligence
If you have any question, please feel free to ask.
Regards,
Simon Hou
TechNet Community Support -
Evaluation of hw features of a machine hosting a SSAS Tabular model
Hi,
on a machine I've deployed a SSAS Tabular model that has two fact tables having each 200-300 millions of rows, and about 10-15 dimension tables. I've implemented some Excel workbooks, each of them queries one measure of one of the two fact tables.
Each workbook has 10-15 filters/slicers. I've tried some times to reduce the number of filter/slicer or of row expansion and I've registered a query response time from 5 to 15 seconds for a change selection for a filter/slicer. 15 seconds is a time too high
for the user requirements.
The formula for the two measures has some SUMs and DIVIDEs. In order to improve the query performance I've tried to write the formula in different manners and I've created partial calculations in the underlying dwh but with negligible performance improvements.
Cutting filters or slicers or row expansions is against the user requirements.
I've also captured some Profiler traces but with few indications.
I suspect that a possible issue derived from the hw features of the hosting machine. During the use of the pivot table the usage of memory is about 50-60% and the usage of CPU is 80-100%.
With the CPU-Z program I've captured the hw features:
I hope in any suggests deriving from the experiences and not from some papers, fe "Performance Tuning of Tabular Models in SQL Server 2012 Analysis Services", in order to improve the query performance from Excel connected to my tabular model.
Probably, the CPU features are not appropriate.
Many thanksHi Pscorca,
Based on your description, you want to if it is best practice for improve the query performance in hardware level by increase RAM or CPU. In this case, here are some document about it, please refer to the links below which might helpful for you.
Forcing NUMA Node affinity for Analysis Services Tabular databases
SSAS Tabular – NUMA and CPU Cores Performance
Regards,
Charlie Liao
TechNet Community Support -
Tabular model process-took 4 HOURS instead of normal 10 minutes
There must be some sort of log I can view or review to get a better look inside the process?
When I refreshed my development project (which is using the same server for workspace) it takes less than 10 or 15 minutes.
Then I deployed it to my server and after 35 minutes I closed out of SSDT BI as it appeared to have frozen.
I then deployed again with no processing.
After that I processed manually through SSMS by using Process (but scripted out) for a process full.
After 12 or so minutes most everything appeared to have processed and the last feedback was on:
CREATE MEASURE 'PROFIT_WORKSHEET'[Less Cost Over Profit -Indirect Costs]=CALCULAT ..."
I could see that the SSAS server was still working via CPU activity, but no futher messages were reported to SSMS. Then after 3 hours and 45 minutes later it claimed to have completed and displayed:
"Execution Complete" (it had lots of white space above it, around 20 or so blank empty lines which was odd)
The tabular model seems to be functional, and it is less than 350 MB in size (almost the exact same size of my development workspace model) so I am at a loss as to why the delay like this?
Any suggestions, thoughts?
It returned 40 million rows, but I have other models that return more and process in 3 or 4 minutes so it is very odd (and it isn't 400 million, just 40 million)
Thanks!
appearedHi OneWithQuestions,
According to your description, you create a SQL Server Tabular Model project which takes 10 minutes to process in SQL Server Data Tools, the problem is that it takes 4 hours to process this database in SQL Server Management Studio. So you need the detail
log that inside the process, right?
In your scenario, you can enable SQL Server profiler to monitor the queries fired by the process, once you find some queries took a very long time to run, consider creating the smaller cube partition or optimizing the query by adding index or partition to
improve process time.
http://www.mssqlgirl.com/process-full-on-tabular-model-database-via-ssms.html
Regards,
Charlie Liao
If you have any feedback on our support, please click
here.
Charlie Liao
TechNet Community Support -
Reading the DAX query plan of a trace against a query on a Tabular model
Hi,
I'm monitoring a Tabular model queried by an Excel workbook. Inside SQL Profiler I've choosen as events the VertiPaq SE Query End, the Query End and the DAX Query Plan. But this last event isn't more readable.
How can I read the info collected in the DAX Query Plan in a simple manner?
ThanksIt is fairly complex to read the DAX Query Plan. I don't think there are currently tools that make it easier to read. (Watch the DAX Studio project on codeplex as they may include tools for this in the future.) I would recommend you review the Tabular
Performance Guide which has a good explanation of the DAX Query Plan:
http://aka.ms/ASTabPerf2012
http://artisconsulting.com/Blogs/GregGalloway -
Optimize Fact tables in SSAS Tabular Model
Hi,
I have five Fact tables in SSAS Tabular Model and each fact table share same dimensions. It creates some performance issue and also the data model looks very complex is there any simplest way to create simple data model using all fact tables. For Ex...
Please suggest me for this ...
Fact Tables:
Fact_Expense
Fact_Sale
Fact_Revenue
Fact_COA
Fact_COG
Dimensions:
Dim_Region
Dim_Entity
Dim_Product
Dim_DateTime
Dim_Project
Dim_Employee
Dim_CustomerHi hussain,
Please consider merging the Fact tables based on granularity. Generally, if you have enough RAM there will be no performance issues. Make sure you have double the amount of RAM to cater your processing and operational needs.Try
to optimize the model design by removing unused keys and some high cardinality columns.
Please go through the document in the link:
http://msdn.microsoft.com/en-us/library/dn393915.aspx
Regards,
Venkata Koppula -
Question on Tabular Model 2012
Hi,
I need to hide certain columns for a user group but the same columns should be visible for another user group in the same model. The out of the box 'row level security' would not work for this requirement. I tried a modelling technique, by bringing
the 'hidden fields' to a table using the 'Blank' DAX function in a 'role' on the table that contains the hidden fields, but this hides all tables related to the table that contains the hidden fields.
As a last resort I am creating two models (1) model one with all fields visible (2) model two will hide certain fields. Basically model 2 is a copy of model 1, only certain fields in model 2 will be hidden.
To avoid reading the source data twice I am planning to update the model 1 and then synchronize model 1 with model 2 ( the one with hidden fields). My gut feeling is that if I synchronize model 1 with model 2, all the hidden fields in model 2
will become visible, as the metadata in model 2 will be updated with metadata of model 1.
As the number of users would be in hundreds, implementing a complex security layer might impact the performance if we try and implement such security on the same model.
It would be great if anybody can share thoughts on the probable solution and if the approach to 'synchonize' both the models would work.
Thanks
Bidyut
A**LEHi Bidyut,
According to your description, you want to implement dynamic security for two group users, right? In SQL Server Analysis Services Tabular model, we can implement dynamic security using an external security table but we can integrate this security table into
the existing tables based on particular source data at production implementations. So in your scenario, you can store the users' information on an external table, and then implement the security through this table. Here is a blog which describes how to implement
it step by step, please see:
SSAS – Tabular Dynamic Security
Hope this helps.
Regards,
Charlie Liao
TechNet Community Support -
Hi All,
This is a continuation of the below given link (which died unanswered)
Row to column - SQL performance improvement
I was working on some logic and came up with an SQL posted below:
SELECT *
FROM
(SELECT NULL no_of_cols,
NULL brand_name,
NULL model,
NULL make,
NULL assetno,
NULL RACNO,
NULL branch,
LTRIM (SUBSTR (SYS_CONNECT_BY_PATH (b, ' | '), 2), ' | ' ) config_det,
NULL status,
NULL code
FROM
(SELECT 1 sno,
mst.prod_id,
prod_name b,
DENSE_RANK () OVER (ORDER BY hierarchy_key, mst.prod_id) rn
FROM appl_common_cat_mst,
appl_prod_cat_map MAP,
appl_common_prod_mst mst
WHERE ID = cat_id
AND MAP.prod_id = mst.prod_id
AND ID = 3
WHERE CONNECT_BY_ISLEAF = 1
START WITH rn = 1
CONNECT BY PRIOR rn = rn - 1
AND PRIOR sno = sno
UNION
SELECT DISTINCT rn no_of_cols,
model,
brand_name,
make,
assetno,
RACNO,
br_name branch,
LTRIM (SUBSTR (SYS_CONNECT_BY_PATH ((NVL (inv_descr, '-') ), ' | ' ), 2 ), ' | ' ) config_det,
sts,
code
FROM
(SELECT model,
br_name,
make,
brand_name,
assetno,
RACNO,
PROD_ID,
INV#,
ASSET_GRP,
LTRIM(SYS_CONNECT_BY_PATH(inv_descr, ', '),', ') inv_descr,
RN,
STS,
CODE ,
CNT
FROM
(SELECT ROW_NUMBER() OVER (PARTITION BY ASSETNO, ASSET_GRP, RN ORDER BY ASSETNO, ASSET_GRP, RN) INV_RN,
T1.*
FROM
(SELECT model,
MAX (br_name) OVER (PARTITION BY listofprod.assetno ORDER BY listofprod.assetno)br_name,
make,
brand_name,
listofprod.assetno,
MAX (racno) OVER (PARTITION BY listofprod.assetno ORDER BY listofprod.assetno) racno,
listofprod.prod_id,
inv#,
asset_grp,
inv_descr,
DENSE_RANK () OVER (PARTITION BY listofprod.assetno ORDER BY hierarchy_key, listofprod.prod_id) rn,
STS,
CODE ,
COUNT(inv_descr) over (partition BY asset_grp, code,listofprod.assetno order by asset_grp, code,listofprod.assetno) cnt
FROM
(SELECT brand_name,
inv_hdr.model,
inv_hdr.make,
asset_hdr.assetno,
racno,
inv_hdr.inv#,
inv_hdr.prod_id,
DBMS_LOB.SUBSTR (INV_DESCR, 4000, 1 ) INV_DESCR,
br_name
FROM APPL_ASSET_HDR_ACTL ASSET_HDR,
APPL_INVENTORY_HDR_ACTL INV_HDR,
appl_branch_mst brch_mst
WHERE inv_hdr.assetno = asset_hdr.assetno
AND ASSET_HDR.CAT_ID = 3
AND branch_code = br_code
AND BRANCH_CODE = 'MU'
) CONFIG,
(SELECT DISTINCT assetno,
listofprod.prod_id,
asset_grp,
sts,
code,
hierarchy_key
FROM
(SELECT DISTINCT asset_hdr.assetno,
asset_hdr.cat_id asset_grp,
inv_hdr.prod_id,
cmn_mst.VALUE sts,
cmn_mst.code code
FROM appl_asset_hdr_actl asset_hdr,
appl_inventory_hdr_actl inv_hdr,
appl_common_mst cmn_mst
WHERE inv_hdr.assetno = asset_hdr.assetno
AND asset_hdr.cat_id = 3
AND inv_hdr.current_sts = cmn_mst.code
) config,
(SELECT mst.prod_id,
hierarchy_key
FROM appl_common_cat_mst,
appl_prod_cat_map MAP,
appl_common_prod_mst mst
WHERE ID = cat_id
AND MAP.prod_id = mst.prod_id
AND ID = 3
) listofprod
ORDER BY assetno,
hierarchy_key,
LISTOFPROD.PROD_ID
) LISTOFPROD
WHERE CONFIG.ASSETNO (+)= LISTOFPROD.ASSETNO
AND CONFIG.PROD_ID (+) = LISTOFPROD.PROD_ID
)T1
)T2
WHERE connect_by_isleaf = 1
AND CNT <> 0
CONNECT BY prior INV_RN = INV_RN -1
AND PRIOR assetno = assetno
AND prior ASSET_GRP = ASSET_GRP
AND PRIOR RN = RN
START WITH INV_RN = 1
)X
WHERE connect_by_isleaf = 1
AND cnt <> 0
START WITH RN = 1
CONNECT BY PRIOR rn = rn - 1
AND PRIOR assetno = assetno
AND prior ASSET_GRP = ASSET_GRP
ORDER BY 1 ASC nulls FIRST
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
"CORE 11.2.0.1.0 Production"
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - ProductionWhich works perfectly on one machine (which is a win XP, c2d, 3gb ram machine), it gives result in less than 2 seconds . The result of
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);isPlan hash value: 2219017987
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 685 | 1505K| | 2170 (16)| 00:00:27 |
| 1 | VIEW | | 685 | 1505K| | 2170 (16)| 00:00:27 |
| 2 | SORT UNIQUE | | 685 | 1416K| 3656K| 1863 (100)| 00:00:23 |
| 3 | UNION-ALL | | | | | | |
|* 4 | FILTER | | | | | | |
|* 5 | CONNECT BY WITH FILTERING | | | | | | |
|* 6 | FILTER | | | | | | |
| 7 | COUNT | | | | | | |
| 8 | VIEW | | 2 | 86 | | 5 (20)| 00:00:01 |
| 9 | WINDOW SORT | | 2 | 40 | | 5 (20)| 00:00:01 |
| 10 | NESTED LOOPS | | 2 | 40 | | 4 (0)| 00:00:01 |
| 11 | NESTED LOOPS | | 2 | 16 | | 2 (0)| 00:00:01 |
|* 12 | INDEX UNIQUE SCAN | SYS_C005404 | 1 | 2 | | 0 (0)| 00:00:01 |
| 13 | TABLE ACCESS BY INDEX ROWID | APPL_PROD_CAT_MAP | 2 | 12 | | 2 (0)| 00:00:01 |
|* 14 | INDEX RANGE SCAN | PK_PROD_MAP | 2 | | | 1 (0)| 00:00:01 |
| 15 | TABLE ACCESS BY INDEX ROWID | APPL_COMMON_PROD_MST | 1 | 12 | | 1 (0)| 00:00:01 |
|* 16 | INDEX UNIQUE SCAN | SYS_C005409 | 1 | | | 0 (0)| 00:00:01 |
|* 17 | HASH JOIN | | | | | | |
| 18 | CONNECT BY PUMP | | | | | | |
| 19 | COUNT | | | | | | |
| 20 | VIEW | | 2 | 86 | | 5 (20)| 00:00:01 |
| 21 | WINDOW SORT | | 2 | 40 | | 5 (20)| 00:00:01 |
| 22 | NESTED LOOPS | | 2 | 40 | | 4 (0)| 00:00:01 |
| 23 | NESTED LOOPS | | 2 | 16 | | 2 (0)| 00:00:01 |
|* 24 | INDEX UNIQUE SCAN | SYS_C005404 | 1 | 2 | | 0 (0)| 00:00:01 |
| 25 | TABLE ACCESS BY INDEX ROWID | APPL_PROD_CAT_MAP | 2 | 12 | | 2 (0)| 00:00:01 |
|* 26 | INDEX RANGE SCAN | PK_PROD_MAP | 2 | | | 1 (0)| 00:00:01 |
| 27 | TABLE ACCESS BY INDEX ROWID | APPL_COMMON_PROD_MST | 1 | 12 | | 1 (0)| 00:00:01 |
|* 28 | INDEX UNIQUE SCAN | SYS_C005409 | 1 | | | 0 (0)| 00:00:01 |
| 29 | COUNT | | | | | | |
| 30 | VIEW | | 2 | 86 | | 5 (20)| 00:00:01 |
| 31 | WINDOW SORT | | 2 | 40 | | 5 (20)| 00:00:01 |
| 32 | NESTED LOOPS | | 2 | 40 | | 4 (0)| 00:00:01 |
| 33 | NESTED LOOPS | | 2 | 16 | | 2 (0)| 00:00:01 |
|* 34 | INDEX UNIQUE SCAN | SYS_C005404 | 1 | 2 | | 0 (0)| 00:00:01 |
| 35 | TABLE ACCESS BY INDEX ROWID | APPL_PROD_CAT_MAP | 2 | 12 | | 2 (0)| 00:00:01 |
|* 36 | INDEX RANGE SCAN | PK_PROD_MAP | 2 | | | 1 (0)| 00:00:01 |
| 37 | TABLE ACCESS BY INDEX ROWID | APPL_COMMON_PROD_MST | 1 | 12 | | 1 (0)| 00:00:01 |
|* 38 | INDEX UNIQUE SCAN | SYS_C005409 | 1 | | | 0 (0)| 00:00:01 |
|* 39 | FILTER | | | | | | |
|* 40 | CONNECT BY WITH FILTERING | | | | | | |
|* 41 | FILTER | | | | | | |
| 42 | COUNT | | | | | | |
| 43 | VIEW | | 683 | 1416K| | 1550 (2)| 00:00:19 |
|* 44 | FILTER | | | | | | |
|* 45 | CONNECT BY WITH FILTERING | | | | | | |
|* 46 | FILTER | | | | | | |
| 47 | COUNT | | | | | | |
| 48 | VIEW | | 683 | 1527K| | 1550 (2)| 00:00:19 |
| 49 | WINDOW SORT | | 683 | 1518K| 3656K| 1550 (2)| 00:00:19 |
| 50 | VIEW | | 683 | 1518K| | 1221 (2)| 00:00:15 |
| 51 | WINDOW BUFFER | | 683 | 1536K| | 1221 (2)| 00:00:15 |
| 52 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
| 53 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
|* 54 | HASH JOIN OUTER | | 683 | 1536K| | 228 (4)| 00:00:03 |
| 55 | VIEW | | 683 | 79228 | | 99 (6)| 00:00:02 |
| 56 | SORT UNIQUE | | 683 | 26637 | | 98 (5)| 00:00:02 |
|* 57 | HASH JOIN | | 683 | 26637 | | 97 (4)| 00:00:02 |
| 58 | TABLE ACCESS FULL | APPL_COMMON_MST | 17 | 289 | | 3 (0)| 00:00:01 |
|* 59 | HASH JOIN | | 683 | 15026 | | 94 (4)| 00:00:02 |
| 60 | NESTED LOOPS | | 228 | 3420 | | 9 (12)| 00:00:01 |
|* 61 | HASH JOIN | | 228 | 2964 | | 9 (12)| 00:00:01 |
| 62 | NESTED LOOPS | | 102 | 714 | | 5 (0)| 00:00:01 |
|* 63 | INDEX UNIQUE SCAN | SYS_C005404 | 1 | 2 | | 0 (0)| 00:00:01 |
|* 64 | INDEX FAST FULL SCAN | INDX_AST_HDR_ACTL_CAT_ID | 102 | 510 | | 5 (0)| 00:00:01 |
| 65 | TABLE ACCESS FULL | APPL_PROD_CAT_MAP | 150 | 900 | | 3 (0)| 00:00:01 |
|* 66 | INDEX UNIQUE SCAN | SYS_C005409 | 1 | 2 | | 0 (0)| 00:00:01 |
| 67 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 17094 | 116K| | 84 (2)| 00:00:02 |
| 68 | VIEW | | 145 | 309K| | 128 (3)| 00:00:02 |
| 69 | NESTED LOOPS | | 145 | 18560 | | 128 (3)| 00:00:02 |
|* 70 | HASH JOIN | | 145 | 17255 | | 127 (3)| 00:00:02 |
|* 71 | TABLE ACCESS FULL | APPL_ASSET_HDR_ACTL | 102 | 2346 | | 42 (3)| 00:00:01 |
|* 72 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 5698 | 534K| | 85 (3)| 00:00:02 |
| 73 | TABLE ACCESS BY INDEX ROWID| APPL_BRANCH_MST | 1 | 9 | | 1 (0)| 00:00:01 |
|* 74 | INDEX UNIQUE SCAN | PK_BRHCD | 1 | | | 0 (0)| 00:00:01 |
|* 75 | HASH JOIN | | | | | | |
| 76 | CONNECT BY PUMP | | | | | | |
| 77 | COUNT | | | | | | |
| 78 | VIEW | | 683 | 1527K| | 1550 (2)| 00:00:19 |
| 79 | WINDOW SORT | | 683 | 1518K| 3656K| 1550 (2)| 00:00:19 |
| 80 | VIEW | | 683 | 1518K| | 1221 (2)| 00:00:15 |
| 81 | WINDOW BUFFER | | 683 | 1536K| | 1221 (2)| 00:00:15 |
| 82 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
| 83 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
|* 84 | HASH JOIN OUTER | | 683 | 1536K| | 228 (4)| 00:00:03 |
| 85 | VIEW | | 683 | 79228 | | 99 (6)| 00:00:02 |
| 86 | SORT UNIQUE | | 683 | 26637 | | 98 (5)| 00:00:02 |
|* 87 | HASH JOIN | | 683 | 26637 | | 97 (4)| 00:00:02 |
| 88 | TABLE ACCESS FULL | APPL_COMMON_MST | 17 | 289 | | 3 (0)| 00:00:01 |
|* 89 | HASH JOIN | | 683 | 15026 | | 94 (4)| 00:00:02 |
| 90 | NESTED LOOPS | | 228 | 3420 | | 9 (12)| 00:00:01 |
|* 91 | HASH JOIN | | 228 | 2964 | | 9 (12)| 00:00:01 |
| 92 | NESTED LOOPS | | 102 | 714 | | 5 (0)| 00:00:01 |
|* 93 | INDEX UNIQUE SCAN | SYS_C005404 | 1 | 2 | | 0 (0)| 00:00:01 |
|* 94 | INDEX FAST FULL SCAN | INDX_AST_HDR_ACTL_CAT_ID | 102 | 510 | | 5 (0)| 00:00:01 |
| 95 | TABLE ACCESS FULL | APPL_PROD_CAT_MAP | 150 | 900 | | 3 (0)| 00:00:01 |
|* 96 | INDEX UNIQUE SCAN | SYS_C005409 | 1 | 2 | | 0 (0)| 00:00:01 |
| 97 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 17094 | 116K| | 84 (2)| 00:00:02 |
| 98 | VIEW | | 145 | 309K| | 128 (3)| 00:00:02 |
| 99 | NESTED LOOPS | | 145 | 18560 | | 128 (3)| 00:00:02 |
|*100 | HASH JOIN | | 145 | 17255 | | 127 (3)| 00:00:02 |
|*101 | TABLE ACCESS FULL | APPL_ASSET_HDR_ACTL | 102 | 2346 | | 42 (3)| 00:00:01 |
|*102 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 5698 | 534K| | 85 (3)| 00:00:02 |
| 103 | TABLE ACCESS BY INDEX ROWID| APPL_BRANCH_MST | 1 | 9 | | 1 (0)| 00:00:01 |
|*104 | INDEX UNIQUE SCAN | PK_BRHCD | 1 | | | 0 (0)| 00:00:01 |
| 105 | COUNT | | | | | | |
| 106 | VIEW | | 683 | 1527K| | 1550 (2)| 00:00:19 |
| 107 | WINDOW SORT | | 683 | 1518K| 3656K| 1550 (2)| 00:00:19 |
| 108 | VIEW | | 683 | 1518K| | 1221 (2)| 00:00:15 |
| 109 | WINDOW BUFFER | | 683 | 1536K| | 1221 (2)| 00:00:15 |
| 110 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
| 111 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
|*112 | HASH JOIN OUTER | | 683 | 1536K| | 228 (4)| 00:00:03 |
| 113 | VIEW | | 683 | 79228 | | 99 (6)| 00:00:02 |
| 114 | SORT UNIQUE | | 683 | 26637 | | 98 (5)| 00:00:02 |
|*115 | HASH JOIN | | 683 | 26637 | | 97 (4)| 00:00:02 |
| 116 | TABLE ACCESS FULL | APPL_COMMON_MST | 17 | 289 | | 3 (0)| 00:00:01 |
|*117 | HASH JOIN | | 683 | 15026 | | 94 (4)| 00:00:02 |
| 118 | NESTED LOOPS | | 228 | 3420 | | 9 (12)| 00:00:01 |
|*119 | HASH JOIN | | 228 | 2964 | | 9 (12)| 00:00:01 |
| 120 | NESTED LOOPS | | 102 | 714 | | 5 (0)| 00:00:01 |
|*121 | INDEX UNIQUE SCAN | SYS_C005404 | 1 | 2 | | 0 (0)| 00:00:01 |
|*122 | INDEX FAST FULL SCAN | INDX_AST_HDR_ACTL_CAT_ID | 102 | 510 | | 5 (0)| 00:00:01 |
| 123 | TABLE ACCESS FULL | APPL_PROD_CAT_MAP | 150 | 900 | | 3 (0)| 00:00:01 |
|*124 | INDEX UNIQUE SCAN | SYS_C005409 | 1 | 2 | | 0 (0)| 00:00:01 |
| 125 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 17094 | 116K| | 84 (2)| 00:00:02 |
| 126 | VIEW | | 145 | 309K| | 128 (3)| 00:00:02 |
| 127 | NESTED LOOPS | | 145 | 18560 | | 128 (3)| 00:00:02 |
|*128 | HASH JOIN | | 145 | 17255 | | 127 (3)| 00:00:02 |
|*129 | TABLE ACCESS FULL | APPL_ASSET_HDR_ACTL | 102 | 2346 | | 42 (3)| 00:00:01 |
|*130 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 5698 | 534K| | 85 (3)| 00:00:02 |
| 131 | TABLE ACCESS BY INDEX ROWID | APPL_BRANCH_MST | 1 | 9 | | 1 (0)| 00:00:01 |
|*132 | INDEX UNIQUE SCAN | PK_BRHCD | 1 | | | 0 (0)| 00:00:01 |
|*133 | HASH JOIN | | | | | | |
| 134 | CONNECT BY PUMP | | | | | | |
| 135 | COUNT | | | | | | |
| 136 | VIEW | | 683 | 1416K| | 1550 (2)| 00:00:19 |
|*137 | FILTER | | | | | | |
|*138 | CONNECT BY WITH FILTERING | | | | | | |
|*139 | FILTER | | | | | | |
| 140 | COUNT | | | | | | |
| 141 | VIEW | | 683 | 1527K| | 1550 (2)| 00:00:19 |
| 142 | WINDOW SORT | | 683 | 1518K| 3656K| 1550 (2)| 00:00:19 |
| 143 | VIEW | | 683 | 1518K| | 1221 (2)| 00:00:15 |
| 144 | WINDOW BUFFER | | 683 | 1536K| | 1221 (2)| 00:00:15 |
| 145 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
| 146 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
|*147 | HASH JOIN OUTER | | 683 | 1536K| | 228 (4)| 00:00:03 |
| 148 | VIEW | | 683 | 79228 | | 99 (6)| 00:00:02 |
| 149 | SORT UNIQUE | | 683 | 26637 | | 98 (5)| 00:00:02 |
|*150 | HASH JOIN | | 683 | 26637 | | 97 (4)| 00:00:02 |
| 151 | TABLE ACCESS FULL | APPL_COMMON_MST | 17 | 289 | | 3 (0)| 00:00:01 |
|*152 | HASH JOIN | | 683 | 15026 | | 94 (4)| 00:00:02 |
| 153 | NESTED LOOPS | | 228 | 3420 | | 9 (12)| 00:00:01 |
|*154 | HASH JOIN | | 228 | 2964 | | 9 (12)| 00:00:01 |
| 155 | NESTED LOOPS | | 102 | 714 | | 5 (0)| 00:00:01 |
|*156 | INDEX UNIQUE SCAN | SYS_C005404 | 1 | 2 | | 0 (0)| 00:00:01 |
|*157 | INDEX FAST FULL SCAN | INDX_AST_HDR_ACTL_CAT_ID | 102 | 510 | | 5 (0)| 00:00:01 |
| 158 | TABLE ACCESS FULL | APPL_PROD_CAT_MAP | 150 | 900 | | 3 (0)| 00:00:01 |
|*159 | INDEX UNIQUE SCAN | SYS_C005409 | 1 | 2 | | 0 (0)| 00:00:01 |
| 160 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 17094 | 116K| | 84 (2)| 00:00:02 |
| 161 | VIEW | | 145 | 309K| | 128 (3)| 00:00:02 |
| 162 | NESTED LOOPS | | 145 | 18560 | | 128 (3)| 00:00:02 |
|*163 | HASH JOIN | | 145 | 17255 | | 127 (3)| 00:00:02 |
|*164 | TABLE ACCESS FULL | APPL_ASSET_HDR_ACTL | 102 | 2346 | | 42 (3)| 00:00:01 |
|*165 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 5698 | 534K| | 85 (3)| 00:00:02 |
| 166 | TABLE ACCESS BY INDEX ROWID| APPL_BRANCH_MST | 1 | 9 | | 1 (0)| 00:00:01 |
|*167 | INDEX UNIQUE SCAN | PK_BRHCD | 1 | | | 0 (0)| 00:00:01 |
|*168 | HASH JOIN | | | | | | |
| 169 | CONNECT BY PUMP | | | | | | |
| 170 | COUNT | | | | | | |
| 171 | VIEW | | 683 | 1527K| | 1550 (2)| 00:00:19 |
| 172 | WINDOW SORT | | 683 | 1518K| 3656K| 1550 (2)| 00:00:19 |
| 173 | VIEW | | 683 | 1518K| | 1221 (2)| 00:00:15 |
| 174 | WINDOW BUFFER | | 683 | 1536K| | 1221 (2)| 00:00:15 |
| 175 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
| 176 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
|*177 | HASH JOIN OUTER | | 683 | 1536K| | 228 (4)| 00:00:03 |
| 178 | VIEW | | 683 | 79228 | | 99 (6)| 00:00:02 |
| 179 | SORT UNIQUE | | 683 | 26637 | | 98 (5)| 00:00:02 |
|*180 | HASH JOIN | | 683 | 26637 | | 97 (4)| 00:00:02 |
| 181 | TABLE ACCESS FULL | APPL_COMMON_MST | 17 | 289 | | 3 (0)| 00:00:01 |
|*182 | HASH JOIN | | 683 | 15026 | | 94 (4)| 00:00:02 |
| 183 | NESTED LOOPS | | 228 | 3420 | | 9 (12)| 00:00:01 |
|*184 | HASH JOIN | | 228 | 2964 | | 9 (12)| 00:00:01 |
| 185 | NESTED LOOPS | | 102 | 714 | | 5 (0)| 00:00:01 |
|*186 | INDEX UNIQUE SCAN | SYS_C005404 | 1 | 2 | | 0 (0)| 00:00:01 |
|*187 | INDEX FAST FULL SCAN | INDX_AST_HDR_ACTL_CAT_ID | 102 | 510 | | 5 (0)| 00:00:01 |
| 188 | TABLE ACCESS FULL | APPL_PROD_CAT_MAP | 150 | 900 | | 3 (0)| 00:00:01 |
|*189 | INDEX UNIQUE SCAN | SYS_C005409 | 1 | 2 | | 0 (0)| 00:00:01 |
| 190 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 17094 | 116K| | 84 (2)| 00:00:02 |
| 191 | VIEW | | 145 | 309K| | 128 (3)| 00:00:02 |
| 192 | NESTED LOOPS | | 145 | 18560 | | 128 (3)| 00:00:02 |
|*193 | HASH JOIN | | 145 | 17255 | | 127 (3)| 00:00:02 |
|*194 | TABLE ACCESS FULL | APPL_ASSET_HDR_ACTL | 102 | 2346 | | 42 (3)| 00:00:01 |
|*195 | TABLE ACCESS FULL | APPL_INVENTORY_HDR_ACTL | 5698 | 534K| | 85 (3)| 00:00:02 |
| 196 | TABLE ACCESS BY INDEX ROWID| APPL_BRANCH_MST | 1 | 9 | | 1 (0)| 00:00:01 |
|*197 | INDEX UNIQUE SCAN | PK_BRHCD | 1 | | | 0 (0)| 00:00:01 |
| 198 | COUNT | | | | | | |
| 199 | VIEW | | 683 | 1527K| | 1550 (2)| 00:00:19 |
| 200 | WINDOW SORT | | 683 | 1518K| 3656K| 1550 (2)| 00:00:19 |
| 201 | VIEW | | 683 | 1518K| | 1221 (2)| 00:00:15 |
| 202 | WINDOW BUFFER | | 683 | 1536K| | 1221 (2)| 00:00:15 |
| 203 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
| 204 | WINDOW SORT | | 683 | 1536K| 3656K| 1221 (2)| 00:00:15 |
|*205 | HASH JOIN OUTER | | 683 | 1536K| | 228 (4)| 00:00:03 |
| 206 | VIEW | | 683 | 79228 | | 99 (6)| 00:00:02 |
| 207 | SORT UNIQUE | | 683 | 26637 | | 98 (5)| 00:00:02 |
|*208 | HASH JOIN | | 683 | 26637 | | 97 (4)| 00:00:02 |
| 209 | TABLE ACCESS FULL | APPL_COMMON_MST | 17 | 289 | | 3 (0)| 00:00:01 |
|*210 | HASH JOIN | | 683 | 15026 | | 94 (4)| 00:00:02 |
| 211 | NESTED LOOPS | | 228 | 3420 | | 9 (12)| 00:00:01 |
|*212 | HASH JOIN | | 228 | 2964 | | 9 (12)| 00:00:01 |
| 213 | NESTED LOOPS | | 102 | 714 | | 5 (0)| 00:00:01 |
|*214 | INDEX UNIQUE SCAN | SYS_C005404 | 1 | 2 | | 0 (0)| 00:00:01 |
|*215 | INDEX FAST FULL SCAN | INDX_AST_HDR_ACTL_CAT_ID | 102 | 510 | | 5 (0)| 00:00:01 |
| 216 | TABLE ACCESS FULL | APPL_PROD_CAT_MAP | 150 | 900 | | 3 (0)| 00:00:01 | -
Processing of a deployed Tabular model inside SSDT
Hi,
operating inside SSDT, does it exist a manner to process a tabular model (or a table/partition) already deployed on the SSAS instance?
I know that it is possible to process only the workspace data.
ThanksHi Pscorca,
According to your description, you want to process data for a tabular model which had already been deployed on the SQL Server Analysis Services instance. When authoring your model project, process actions must be initiated manually in SQL Server Data Tools
(SSDT). After a model has been deployed, process operations can be performed by using SQL Server Management Studio or scheduled by using a script. So we cannot process data for a tabular model which had already been deployed on the SQL Server Analysis Services
instance.
If you have any concern about this behavior, you can submit a feedback at
http://connect.microsoft.com/SQLServer/Feedback and hope it is resolved in the next release of service pack or product.
Thank you for your understanding.
Regards,
Charlie Liao
TechNet Community Support -
SSRS report with tabular model - MDX query to filter parameter data based on Tuple value.
Hello Everyone,
I am working on SSRS report in which a tabular model is being used as a backend.
I want to filter the report parameters which are dependent to other parameters. Like, country, state, and cities drop downs.
All are multi-select parameters. I am using MDX queries to filter the parameters data.
Based on selected one or more countries, the data of states needs to be filtered.
The point is the text which is being displayed in state dropdown for each state name is combination of 3 different members.
So, I created the following Tuple for the same and can see the expected display names in states dropdown.
"("+
[Location].[Code 1].CURRENTMEMBER.UNIQUENAME +","+
[Location].[Code 2].CURRENTMEMBER.UNIQUENAME +","+
[Location].[Descr].CURRENTMEMBER.UNIQUENAME +")"
Now, when I would like filter the cities data based on selected one or more states, I am unable to pass the multiple Tuples (more than one selected Tuples) as parameter for cities dropdown.
The following is my query for City parameter. It is working well when I select only one State from the dropdown.
However, when I select multiple states, it is unable to convert the Tuple into SET in ELSE part of IIF condition specified in following query.
Can anybody help me how to resolve the error that I am getting about STRTOSET function?
Or
Are there any other alternatives to achieve this requirement?
Any help would be much appreciated.
Query:
WITH MEMBER [Measures].[ParameterCaption] AS [City].[City Business].CURRENTMEMBER.MEMBER_CAPTION
MEMBER [Measures].[ParameterValue] AS [City].[City Business].CURRENTMEMBER.UNIQUENAME
MEMBER [Measures].[ParameterLevel] AS [City].[City Business].CURRENTMEMBER.LEVEL.ORDINAL
SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS ,
[City].[City Business].Children ON ROWS
FROM (
SELECT ( STRTOSET(@State, CONSTRAINED) ) ON COLUMNS FROM [Model])
WHERE ( IIF( STRTOSET(@State).Count= 1,
STRTOTUPLE(@State, CONSTRAINED),
STRTOSET("{
("+
[Location].[Code 1].CURRENTMEMBER.UNIQUENAME +","+
[Location].[Code 2].CURRENTMEMBER.UNIQUENAME +","+
[Location].[Descr].CURRENTMEMBER.UNIQUENAME
+ ")
}",CONSTRAINED )) ) CELL PROPERTIES VALUE
Thanks, Ankit Shah
Inkey Solutions, India.
Microsoft Certified Business Management Solutions Professionals
http://www.inkeysolutions.com/MicrosoftDynamicsCRM.htmlHi,
I used following dynamic query in expression of dataset of parameter and it works like a charm.
"WITH MEMBER [Measures].[ParameterCaption] AS [City].[City Business].CURRENTMEMBER.MEMBER_CAPTION "&
"MEMBER [Measures].[ParameterValue] AS [City].[City Business].CURRENTMEMBER.UNIQUENAME "&
"MEMBER [Measures].[ParameterLevel] AS [City].[City Business].CURRENTMEMBER.LEVEL.ORDINAL "&
"SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS , " &
"[City].[City Business].Children ON ROWS " &
" FROM [Model] WHERE ({"& join(Parameters!Location.Value,",") &"}) CELL PROPERTIES VALUE"
Thanks, Ankit Shah
Inkey Solutions, India.
Microsoft Certified Business Management Solutions Professionals
http://www.inkeysolutions.com/MicrosoftDynamicsCRM.html
Maybe you are looking for
-
Event id 8010 - Document Management Server
Still got issues with this 8010 event id : "Content Organizer processing for site http://mysite/personal/<username> encountered an error. Error: Exception of type 'System.ArgumentException' was thrown." and this: "Content Organizer processing for s
-
Printing, Soft Proofing & Color Management in LR 1.2: Two Questions
Printing, Soft Proofing, and Color Management in LR 1.2: Two Questions There are 2 common ways to set color management in Adobe CS2: 1. use managed by printer setting or, 2. use managed by Adobe CS2 program. I want to ask how Color Management for Ado
-
HT1937 Where can I get my phone screen replaced, it has a crack in it.
Where can I get a repair on my iphone, it has a crack on the screen.
-
Mp3 files in Finder doesn't show all the Cover Art
Recently I buy some new tracks but when I add the cover with ID3 Editor (or iTunes), I can't see the covers of the files in the Finder. Moreover when you copy & paste a MP3 with an available cover, it will disappear. I find it very annoying. I made a
-
I want to make a bunch of smart collections in Adobe Bridge CS6. Is there a way to put the actual collections inside of some group hierarchy to keep things from getting unwieldy? Thanks