EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB484826: Simplify user experience by providing functional parity between Report-as-Dataset and Cube-as-Dataset


Min Zhao

Quality Engineer, Principal • MicroStrategy


Enhance dossier using report as dataset capability to be the same as dossier using cube as dataset with "Data Engine Version" set to 2021.

Starting with the release of Strategy ONE (March 2024), dossiers are also known as dashboards.
Background
Applications Architect might have been getting different results when Report are used as dataset Cube as dataset. Cube-as-Dataset has more capability and better data behavior as compared to Report-as-Dataset. Report-as-Dataset can only generate single pass Cube Subsetting Instruction (aka CSI) which limits the functional and cannot leverage features that are only supported by multi-pass CSI such as Metric Qualification, Level Metrics, Non-Aggregation etc.
Content
Objects that are affected:

  1. Dossier/Document based on Standard Report.
  2. Dossier/Document based on Subset Report (a report based on an Intelligent Cube).
  3. OLAP Report.
  4. Dossier/Document based on OLAP Report.

CSI differences:
There are additional information for “Table Accessed” and “with Table Join Tree” in the Cube-as-Dataset CSI.
Before the fix: Report-as-Dataset CSI
select    [Category]@[CATEGORY_ID_2],
                [Category]@[CATEGORY_DESC],
                [Year]@[YEAR_ID_2],
                sum([Profit])@{[Category],[Year]},
                sum([Revenue])@{[Category],[Year]}
from      R01
After the fix: Same as Cube-as-Dataset CSI
Tables Accessed:
Table2   [L_CATEGORY]: Category,                            LOOKUP_TABLE               
Table3   [F_YEAR_COUNTRY_CATEGORY]:             Year, Country, Category,              Revenue, Profit,               FACT_TABLE               
select    [Category]@[CATEGORY_ID_2],
                [Category]@[CATEGORY_DESC],
                [Year]@[YEAR_ID_2],
                sum([[F_YEAR_COUNTRY_CATEGORY].Profit])@{[Category],[Year]} as [Profit],
                sum([[F_YEAR_COUNTRY_CATEGORY].Revenue])@{[Category],[Year]} as [Revenue]
from      R01
with Table Join Tree:      [F_YEAR_COUNTRY_CATEGORY]
Steps to Reproduce:
This procedure is using Strategy Tutorial WH that is shipped with Strategy products.

  1. Login to Strategy Web, create a report with Attributes Year, Country, Category, and Metrics Profit, Revenue, save the report as R01
  2. Create a dossier based on Report R01, add into visualization: Year, Category, Profit, Revenue
ka0PW0000001Jf8YAE_0EM4W000001KY4H.png
  1. Check the Query Details

************   Individual Step Start   ************
Number of Rows Returned: 12
Time Spent: 0.068 sec(s)
Query Execution Start Time: 1/19/2021 5:53:15 PM
Query Execution End Time: 1/19/2021 5:53:15 PM
select    [Category]@[CATEGORY_ID_2],
                [Category]@[CATEGORY_DESC],
                [Year]@[YEAR_ID_2],
                sum([Profit])@{[Category],[Year]},
                sum([Revenue])@{[Category],[Year]}
from      R01
************   Individual Step End     ************
 

  1. Check Query Details after the fix in Strategy 2021 with Data Engine Version 2021.

************   Individual Step Start   ************
Number of Rows Returned: 12
Time Spent: 0.190 sec(s)
Query Execution Start Time: 1/20/2021 11:54:36 AM
Query Execution End Time: 1/20/2021 11:54:36 AM
Tables Accessed:
Table2   [L_CATEGORY]: Category,                            LOOKUP_TABLE               
Table3   [F_YEAR_COUNTRY_CATEGORY]:             Year, Country, Category,              Revenue, Profit,               FACT_TABLE               
select    [Category]@[CATEGORY_ID_2],
                [Category]@[CATEGORY_DESC],
                [Year]@[YEAR_ID_2],
                sum([[F_YEAR_COUNTRY_CATEGORY].Profit])@{[Category],[Year]} as [Profit],
                sum([[F_YEAR_COUNTRY_CATEGORY].Revenue])@{[Category],[Year]} as [Revenue]
from      R01
with Table Join Tree:      [F_YEAR_COUNTRY_CATEGORY]
************   Individual Step End     ************
Difference when there is Security Filter:

  1. Report-as-Dataset: Security filter will not be applied to the dossier/document execution, since it’s already applied during dataset preparation
  2. Cube-as-Dataset: Security filter will be applied to the dossier/document execution.

Exceptions:
When the Report contains the following features which are not supported in Intelligent Cubes, it’s exempt from this feature:

  • Custom Groups
  • Consolidations
  • Derived Element

Cause:
This is a known issue in Strategy.
Solution:
This issue has been addressed in Strategy 2021.
To pick up the fix, upgrade to Strategy 2021 or above and enable project level setting "Data Engine Version" to 2021 or above. For more details on enabling the setting, refer to Change Data Engine Version.
Strategy internal reference number for this technical note is F25102.


Comment

0 comments

Details

Knowledge Article

Published:

January 13, 2021

Last Updated:

March 21, 2024