Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OLAP多维数据集数据源表中计算的度量值性能不佳_Olap_Tableau Api - Fatal编程技术网

OLAP多维数据集数据源表中计算的度量值性能不佳

OLAP多维数据集数据源表中计算的度量值性能不佳,olap,tableau-api,Olap,Tableau Api,各位专家好 我是Tableau的新手,目前正在编写一个连接到OLAP多维数据集的报表。然而,在我创建的一些计算度量中,我得到了一些奇怪的性能 这一点上我的查询是非常基本的——我在那里得到了订单号,这是最低的粒度级别,我正在按当前日期的输入日期过滤数据。我有一个度量,这是净价,查询总共返回大约200个结果 然后,我使用以下公式创建一个计算度量: CASE sign([Price Net]) when 1 then 1 else 0 end 然后,当我将其放入报告中时,它工作正常,并在几秒钟

各位专家好

我是Tableau的新手,目前正在编写一个连接到OLAP多维数据集的报表。然而,在我创建的一些计算度量中,我得到了一些奇怪的性能

这一点上我的查询是非常基本的——我在那里得到了订单号,这是最低的粒度级别,我正在按当前日期的输入日期过滤数据。我有一个度量,这是净价,查询总共返回大约200个结果

然后,我使用以下公式创建一个计算度量:

   CASE sign([Price Net]) when 1 then 1 else 0 end
然后,当我将其放入报告中时,它工作正常,并在几秒钟内返回正确的值。然后,我创建以下公式,该公式基本上返回相同的值:

   IF [Price Net] <=0 then 1 else 0 end

IF[Price Net]这确实很奇怪,我认为在大多数应用程序中,CASE的效率低于简单的IF。我不知道这两个例程是如何在Tableau中设计的,但可能使用符号([something])比[something]本身更容易,因为符号([something])只有3个可能的值。并不是因为结果是一样的,计算机在做同样的事情


顺便说一句,放下这个案例,直接使用符号([Price Net])作为度量,它应该可以节省更多的内存和处理时间

我知道我在这里玩游戏有点晚了,但是对于那些将Tableau连接到OLAP数据源的人来说,理解中描述的Tableau限制非常重要

阐述了一些问题


外卖课程:将Tableau连接到OLAP源会牺牲查询速度与灵活性和易实现性:连接到关系源时可以动态创建的许多计算度量必须在多维数据集本身中实现,或者使用MDX实现,这降低了Tableau Report对于非技术业务用户的单调乏味的易用性。

您使用哪种品牌的cube?分析服务?蒙德里安?Cognos?这是一个AnalysisServices多维数据集-不同的多维数据集可能工作得更好/更差的原因是什么?也许您可以通过在多维数据集级别将其作为计算度量来实现,从而获得更好的性能。我也在想同样的事情,但我仍然希望tableau能够处理非常简单的计算-它在平面数据源上处理得很好!谢谢你的回复-至少我没有做任何明显的错误!仅供参考-符号查询符合我的要求,但我想我还需要编写更复杂的if,因此可能需要重新考虑这一点。我们可以在立方体中计算度量值,但老实说,我希望tableau能够在前端计算这种性质的度量值:(完全同意。在我充分探索这个工具之前,我不想匆忙下结论。我不知道Tableau中的数据源是如何构造的,但计算字段在性能和限制方面让我有点失望(后者可能是由于我迄今为止的无知)。计算不是窗口计算(因此,无论您使用的是什么视图,都会给出相同的结果)应计算一次并作为值存储在数据库中(并且仅在更新基础时重新计算)。这将稍微提高性能