在达到一定数量的行后,是否可以将表分成多列?
+----+----+
| A | 1 |
| B | 2 |
| C | 3 |
| D | 4 |
+----+----+
这会转变为:
+----+----+ +----+----+
| A | 1 | | C | 3 |
| B | 2 | | D | 4 |
+----+----+ +----+----+
答案 0 :(得分:1)
我不认为你可以在一个对象中做到这一点。尺寸的相关性不允许A和C在同一条线上。
每次超出限制时,您都可以使用此逻辑公开隐藏的直表,因此您必须根据需要创建和放置任意数量的对象。 (创建一个新的将需要大量的宏编码,这不是我的驾驶室)
理论是;
为脚本中维度的每个不同值创建一个数字ID;
如果数字ID尚不存在, load *,
autonumber(DIMENSION) as DIMENSIONID
from (DATASOURCE)
将起作用
在表达式选项卡中,您需要创建一个表达式,该表达式使用集合分析和min()
函数的排名功能,以便仅显示每个对象中低于组阈值的值组;
对象1表达式:sum({<DIMENSIONID={$(=min(DIMENSIONID,1))}>} VALUE) + sum({<DIMENSIONID={$(=min(DIMENSIONID,2))}>} VALUE)
对象2表达式:sum({<DIMENSIONID={$(=min(DIMENSIONID,3))}>} VALUE) + sum({<DIMENSIONID={$(=min(DIMENSIONID,4))}>} VALUE)
。 (您可以使用发烧友集分析仅在一个语句中执行min(y),但我不会这样做,因为每个对象只有2行。)
使用条件show在达到限制时公开下一个对象;
第一个对象将始终显示。第二个对象在布局选项卡中需要这样的内容 - &gt;显示 - &gt;条件count(DISTINCT DIMENSION)>2