0

私は mdx クエリを持っており、その結果データは 2 列に表示されます。Java で CellSet を使用して 2 列目のデータを読み取るにはどうすればよいですか。CellSet.getcell(index) を使用して、mdx クエリの 1 列目からデータを読み取ります。

| | 列 1 | 列 2 |

| | 111 | 222 |

4

1 に答える 1

0

CellSet.getCell(index)実際には、最初の列のセルだけでなく、任意のセルにアクセスできます。2 列 3 行の場合、セルの序数は次のようになります。

       Col0  Col1
 Row0     0     1
 Row1     2     3
 Row2     4     5

ご覧のとおり、最初の列 ("Col0") を読み取るには、インデックス 0、2、4 を読み取る必要があり、2 番目の列 ("Col1") を読み取るには、インデックス 1、3、5 を読み取る必要があります。

このラスター スキャンの配置が頭を悩ませる場合は、cellSet.getCell(List<Integer>)代わりに API を使用してみてください。各軸に独立した座標を指定できます。たとえば、行 2、列 1 を読み取るには、 write cellSet.getCell(Arrays.asList(2, 1)). すべてのインデックスは 0 ベースであるため、左上隅が (0, 0) であることに注意してください。

2 番目の列 (列 #1、0 ベース) の値を出力するには、次のように記述します。

CellSet cellSet;
CellSetAxis rowsAxis = cellSet.getAxes().get(1);
for (int i = 0; i < rowsAxis.getPositionCount(); i++) {
  Cell cell = cellSet.getCell(Arrays.asList(1, i));
  System.out.println(cell.getFormattedValue());
}
于 2016-04-06T20:30:08.873 に答える