Qlik中任何KPI框的动态图选择

问题描述 投票:0回答:1

我对Qlik的开发不熟悉,我正在Qlik中构建我的第一个仪表板。我目前正在开发一个仪表板,该仪表板的主表中添加了11个多KPI,其中显示了所显示的度量的各种汇总值,并且效果很好。

[我现在要做的是用剩余的空间添加一个图表(图1)(仪表盘示例的附件图像),但是我想要默认显示图表以显示第一个KPI的趋势在13周内(将创建此结果)。我的主要问题是,此图表是否有可能是动态的,以便我能够单击任何KPI来更改图表以显示单击的KPI图表?

当双击KPI时,它将进入一个单独的仪表板,所以我不确定是否可能。

[如果有人能澄清这是否可以实现,将不胜感激,因为我不确定是否需要使用某些Javascript来做,或者是否有一项功能可以让我在Qlik自身中构建它。

enter image description here

javascript qliksense
1个回答
0
投票

我附上了一个包含2个解决方案的示例:

  1. 第一个是使用替代方法进行的,因此,对于每个KPI,我都使用替代方法。在我之前的评论中,我提到了替代尺寸/度量的数量可能受到限制,但是经过一些测试后看起来似乎并不可行(至少有12项工作)。这种方法的缺点是它不会保存替代度量的顺序,但是每次您进行选择时都会更改。

  2. 第二个解决方案是使用过滤器对象制作的,如我先前的评论中所述:

制作单个折线图,该折线图取决于变量标题/度量/维度,并将其与过滤器对象合并,其中您可以更改此变量(所有选项都是您的KPI之一)。这个确实会稍微改变页面,因为您需要一个过滤器对象以及;

两者都应该起作用,但最终取决于个人喜好。

附件:https://drive.google.com/file/d/1wRgStl23DfcI5arQTZmt3w_0DEtW5iuf/view?usp=sharing

由于我无法保证该google驱动器链接将永远存在,因此请按以下步骤进行:

解决方案1:替代措施:

在数据加载编辑器中,我用以下虚拟数据创建了一个新部分:

    LOAD * Inline [
Weeks, KPI1, KPI2, KPI3, KPI4, KPI5, KPI6, KPI7, KPI8, KPI9, KPI10, KPI11, KPI12
1, 1, 2, 0, 3, 5, 1, 1, 2, 0, 3, 5, 3
2, 2, 4, 0, 8, 5, 2, 2, 4, 0, 8, 5, 3
3, 3, 6, 1, 4, 5, 3, 3, 6, 1, 4, 5, 3
4, 4, 8, 1, 7, 6, 4, 4, 8, 1, 7, 6, 3
5, 5, 10, 2, 0, 7, 5, 5, 10, 2, 0, 7, 3
6, 6, 12, 2, 9, 7, 6, 6, 12, 2, 9, 7, 3
7, 7, 14, 3, 13, 7, 7, 7, 14, 3, 13, 7, 3
8, 8, 16, 3, 6, 8, 8, 8, 16, 3, 6, 8, 3
9, 9, 18, 4, 1, 8, 9, 9, 18, 4, 1, 8, 3
10, 10, 4, 3, 9, 10, 10, 10, 4, 3, 9, 10, 3
11, 11, 5, 3, 9, 10, 11, 11, 5, 3, 9, 10, 3
12, 12, 5, 8, 9, 10, 12, 12, 5, 8, 9, 10, 3
];

然后,我在页面上添加了“折线图”对象,并为其指定了“周”度量。我还添加了一个带有表达式的度量:KPI1。然后,我为每个KPI添加了11种完全相同的替代方法。像这样:

Alternative measures

这应导致以下结果:

End result Alternative measures

解决方案2:过滤器对象

在数据加载编辑器中,我用以下虚拟数据创建了一个新部分:

LOAD * Inline [
Weeks, KPI1, KPI2, KPI3, KPI4, KPI5, KPI6, KPI7, KPI8, KPI9, KPI10, KPI11, KPI12
1, 1, 2, 0, 3, 5, 1, 1, 2, 0, 3, 5, 3
2, 2, 4, 0, 8, 5, 2, 2, 4, 0, 8, 5, 3
3, 3, 6, 1, 4, 5, 3, 3, 6, 1, 4, 5, 3
4, 4, 8, 1, 7, 6, 4, 4, 8, 1, 7, 6, 3
5, 5, 10, 2, 0, 7, 5, 5, 10, 2, 0, 7, 3
6, 6, 12, 2, 9, 7, 6, 6, 12, 2, 9, 7, 3
7, 7, 14, 3, 13, 7, 7, 7, 14, 3, 13, 7, 3
8, 8, 16, 3, 6, 8, 8, 8, 16, 3, 6, 8, 3
9, 9, 18, 4, 1, 8, 9, 9, 18, 4, 1, 8, 3
10, 10, 4, 3, 9, 10, 10, 10, 4, 3, 9, 10, 3
11, 11, 5, 3, 9, 10, 11, 11, 5, 3, 9, 10, 3
12, 12, 5, 8, 9, 10, 12, 12, 5, 8, 9, 10, 3
];

LOAD * Inline [
KPI,
KPI1,
KPI2,
KPI3,
KPI4,
KPI5,
KPI6,
KPI7,
KPI8,
KPI9,
KPI10,
KPI11,
KPI12
];

然后,我在页面上添加了“折线图”对象,并为其指定了“周”度量。我还添加了带有以下表达式的度量:

= if(WildMatch(GetFieldSelections(KPI), 'KPI1') = 1, KPI1,
  if(WildMatch(GetFieldSelections(KPI), 'KPI2') = 1, KPI2,
  if(WildMatch(GetFieldSelections(KPI), 'KPI3') = 1, KPI3,
  if(WildMatch(GetFieldSelections(KPI), 'KPI4') = 1, KPI4,
  if(WildMatch(GetFieldSelections(KPI), 'KPI5') = 1, KPI5,
  if(WildMatch(GetFieldSelections(KPI), 'KPI6') = 1, KPI6,
  if(WildMatch(GetFieldSelections(KPI), 'KPI7') = 1, KPI7,
  if(WildMatch(GetFieldSelections(KPI), 'KPI8') = 1, KPI8,
  if(WildMatch(GetFieldSelections(KPI), 'KPI9') = 1, KPI9,
  if(WildMatch(GetFieldSelections(KPI), 'KPI10') = 1, KPI10,
  if(WildMatch(GetFieldSelections(KPI), 'KPI11') = 1, KPI11,
  if(WildMatch(GetFieldSelections(KPI), 'KPI12') = 1, KPI12,
))))))))))))

[之后,我向页面添加了一个新的“过滤器对象”,其尺寸为:KPI。最后一步,我转到“字段”->右键单击“ KPI”->单击“字段设置”->选中“始终选择一个值”->单击“保存”。

所以像这样:check "Always one selected value"

就这样,现在您有了一个影响折线图的过滤器对象。

希望它有所帮助,如果尚不清楚,请通知我。

© www.soinside.com 2019 - 2024. All rights reserved.