Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

HIERARCHIZE

セットを指定すると、階層順に (階層で指定された順序で) セットを返します。

返りタイプ

この関数は、メンバセットを返します。

構文および詳細

HIERARCHIZE(set_expression)

または、以下のようにします。

HIERARCHIZE(set_expression, POST)

以下は、この指定の説明です。

セット・メンバがさまざまな階層内にある場合、階層そのものの順序は不確定になります。つまり、一部のメンバが階層 A にあり、他のメンバが階層 B にある場合、A のメンバは階層順に連続してリストされ、B のメンバも階層順に連続してリストされますが、全体として A のメンバと B のメンバのいずれが先かを定める規則はありません。

階層内では、階層順は以下のように決定されます。

  • ディメンジョンの All メンバがある場合は、これが最初になります。

  • 次のメンバは、その階層の最高レベルの最初のメンバです。

  • 次のメンバは、そのメンバの最初の子です。

以降、同様に繰り返されます。例えば、以下の階層を考えてみます。

generated description: hierarchy example

これらのメンバの全体の階層順を表示するには、以下のクエリを使用します。これは、これらのメンバが属するディメンジョンのすべてのメンバで構成されるセットを使用します。

SELECT MEASURES.[%COUNT] ON 0, HIERARCHIZE(homed.members) ON 1 FROM patients
                             Patient Count
 1 32006                              2,272
 2 Juniper                            1,155
 3 Spruce                             1,117
 4 32007                              1,111
 5 Redwood                            1,111
 6 34577                              3,399
 7 Cypress                            1,150
 8 Magnolia                           1,111
 9 Pine                               1,138
10 36711                              1,069
11 Centerville                        1,069
12 38928                              2,149
13 Cedar Falls                        1,045
14 Elm Heights                        1,104

以下の例は、Home City レベルおよび Home ZIP レベルのいくつかのメンバのセットを作成し、HIERARCHIZE 関数を使用して、これらのメンバを階層順に配置します。

SELECT MEASURES.[%COUNT] ON 0, 
HIERARCHIZE({homed.36711, homed.38928, homed.[elm heights], homed.Spruce}) ON 1 
FROM patients
                             Patient Count
1 36711                               1,069
2 Spruce                              1,117
3 38928                               2,149
4 Elm Heights                         1,104

一方、次の例では POST キーワードを使用しています。

SELECT MEASURES.[%COUNT] ON 0, 
HIERARCHIZE({homed.36711, homed.38928, homed.[elm heights], homed.Spruce}, POST) ON 1 
FROM patients
                             Patient Count
1 36711                               1,069
2 Spruce                              1,117
3 Elm Heights                         1,104
4 38928                               2,149

関連項目

FeedbackOpens in a new tab