首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止Microstrategy拉取所有数据

问如何防止Microstrategy拉取所有数据
EN

Stack Overflow用户
提问于 2015-12-16 04:41:58
回答 3查看 917关注 0票数 1

我们正在构建一个包含许多报告的仪表板。表之间的关系在微策略中定义。我们发现Microstrategy并没有为不同的报告使用不同的SQL。它从数据库中提取所有数据(4600万),然后对这些数据进行后处理以生成单独的报告。这需要花费很多时间,而且它没有使用数据库的查询引擎。我们如何配置微策略,以便它为不同的报告生成不同的查询,并仅收集特定报告所需的数据,而不是所有数据。

一种方法是使用fre form SQL。但是我们想要有拖放报告的能力。我们如何才能做到这一点?我们使用的是Microstrategy 10.1

EN

回答 3

Stack Overflow用户

发布于 2016-01-19 20:18:44

从您的描述中,听起来Microstrategy首先使用其SQL引擎从数据库中提取所有数据(4600万条记录),然后在此之后应用过滤。

如果您的报告是在Microstrategy developer (或web)中使用属性筛选器创建的,则每个报告都应该正确地执行sql,该sql具有明确的where条件,可转换为这些属性筛选器。例如,如果您有一个标题为'Fruit‘的报告,并且您只想显示苹果,那么您应该在该报告上使用一个属性过滤器,只显示'Fruit’= 'Apple‘的结果。这将在执行报表时转换为SQL引擎中的where条件。但是,如果您要对报告应用视图筛选器,则引擎将首先获取所有内容,然后在分析引擎中筛选整个数据集,这将很慢,特别是在仪表板上运行多个报告时。

重要的是要知道如何将数据集带入仪表板-是将多维数据集用作数据集,还是将其用作报表,或者?有几种方法可以实现你想要的性能,下面是几种方法:

  • Option 1:根据需要在Microstrategy developer中使用属性过滤器开发每个报告。这将要求您定义了所有的属性关系,correctly.
  • Option 2:将您的4600万条记录都拉入一个多维数据集中。将多维数据集用作仪表板的数据集,然后根据需要对要放在report.
  • Option 1+2上的各种报告使用视图筛选器:如果愿意,可以将以上两个选项组合在一起。将整个数据集存储在多维数据集中,定义几个可以根据需要使用筛选器从多维数据集中动态生成的报告(普通报告,而不是多维数据集报告),然后将这些报告添加到仪表板中。

以下是我第一步要做的事情:

SQL检查您的属性和属性关系是否已定义,然后创建一个测试报告并尝试根据其中一个attributes

  • Try进行筛选以创建几个报告,每个报告都具有基于其中一个报告的不同筛选条件,并将这些报告放到仪表板中,查看每个报告是否生成不同的

语句。

票数 1
EN

Stack Overflow用户

发布于 2015-12-16 14:19:57

这听起来像是你有两种情况:

  1. 使用视图筛选器(这些筛选器应用于查询执行后的筛选)而不是在生成的SQL中应用筛选器,或者
  2. 您没有定义属性关系,这样系统就不会认为您定义的筛选器与包含数据的事实数据表无关。
票数 0
EN

Stack Overflow用户

发布于 2015-12-23 09:23:39

你在使用多维数据集吗?我假设你所说的执行一次查询是什么意思。

您需要用新的报告-常规报告-而不是由多维数据集组成的报告来替换单个报告。这是唯一的办法

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34299012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档