我们正在构建一个包含许多报告的仪表板。表之间的关系在微策略中定义。我们发现Microstrategy没有为不同的报告使用不同的SQL。它从数据库(4600万)中提取所有数据,然后对这些数据应用后处理以生成单独的报告。 这需要花费大量时间,而且不使用数据库的查询引擎。 我们如何配置微策略,以便为不同的报告生成不同的查询,并仅收集特定报告所需的数据,而不是所有数据。
一种方法是使用fre form SQL。但我们希望能够拖放各类报告。 我们怎样才能做到这一点? 我们正在使用Microstrategy 10.1
答案 0 :(得分:1)
根据您的描述,听起来Microstrategy首先使用其SQL引擎从数据库中提取所有数据(4600万条记录),然后在此之后应用过滤。
如果您的报告是使用属性过滤器在Microstrategy开发人员(或Web)中创建的,则每个报告都应该正确执行具有转换为这些属性过滤器的条件的sql。例如如果您的报告中包含名为“Fruit' Fruit'并且您只想显示苹果,那么您将在该报告上设置一个属性过滤器,该过滤器仅显示“果实”的结果。 =' Apple'。执行报告时,这将转换为SQL引擎中的where条件。 但是,如果您要对报告应用视图过滤器,那么SQL引擎将首先获取所有内容,然后过滤分析引擎中的整个数据集,这将很慢,尤其是在运行多个报告的情况下在仪表板上。
了解如何将数据集引入仪表板非常重要 - 它是使用多维数据集作为数据集还是报表,还是?有几种方法可以实现您正在寻找的性能,以下是一对:
以下是我要做的第一步:
答案 1 :(得分:0)
这听起来像你有:
答案 2 :(得分:0)
你在使用立方体吗?我假设你执行一次查询的意思。
您需要使用新报告定期报告替换单个报告,而不是使用多维数据集制作报告。这是唯一的方法