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?

VISUALTOTALS

階層順にメンバのセットを指定すると、その表示部分の合計と共にセットを返します。表示部分の合計では、任意の上位レベルのメンバの実際の値は、クエリに含まれている子の値の合計値に置き換えられます。

返りタイプ

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

構文および詳細

VISUALTOTALS(set_expression, optional_parent_name_pattern)

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

  • set_expression は、メンバセットに対して評価される式です。このセットには、同じディメンジョン内の異なるレベルのメンバを含めることができますが、それらのメンバは階層順になっている必要があります。

  • optional_parent_name_pattern は、親名が使用される場所にアスタリスク (*) がある文字列です。例えば、"SUB *""* (SUBTOTAL)" などです。

    これを省略すると、親の名前には余分な文字列が追加されません。

まず参考のために、この例で使用される階層を以下の図に示します。

generated description: hierarchy example

以下のクエリについて考えてみます。ここでは VISUALTOTALS を使用していません。

WITH SET demo AS 'HIERARCHIZE({homed.32006,homed.34577,homed.CYPRESS,homed.PINE,homed.SPRUCE})' 
SELECT MEASURES.[%COUNT] ON 0, demo ON 1 FROM patients
                             Patient Count
1 32006                               2,272
2 Spruce                              1,117
3 34577                               3,399
4 Cypress                             1,150
5 Pine                                1,138

このクエリは、リストされた郵便番号および市町村ごとの患者数を示しています。郵便番号ごとの患者数は、その郵便番号の患者数の合計です。

ここで、以下のバリエーションについて考えてみます。ここでは、VISUALTOTALS を使用しています。

WITH SET demo AS 'HIERARCHIZE({homed.32006,homed.34577,homed.CYPRESS,homed.PINE,homed.SPRUCE})' 
SELECT MEASURES.[%COUNT] ON 0, VISUALTOTALS(demo) ON 1 FROM patients
                             Patient Count
1 32006                               1,117
2 Spruce                              1,117
3 34577                               2,288
4 Cypress                             1,150
5 Pine                                1,138

この場合、すべての上位レベルのメンバ (郵便番号) の患者数には、クエリに含まれている子のみが反映されています。例えば、郵便番号 34577 の患者数は、Pine と Cypress の各市町村の患者数の合計です。

別のバリエーションとして、以下のクエリについて考えてみます。これは、上記のバリエーションに似ていますが、VISUALTOTALS の 2 番目の引数も使用している点が異なります。

VISUALTOTALS */WITH SET demo AS 'HIERARCHIZE({homed.32006,homed.34577,homed.CYPRESS,homed.PINE,homed.SPRUCE})' 
SELECT MEASURES.[%COUNT] ON 0, VISUALTOTALS(demo,"* (included cities)") ON 1 FROM patients
                             Patient Count
1 32006 (included cities)             1,117
2 Spruce                              1,117
3 34577 (included cities)             2,288
4 Cypress                             1,150
5 Pine                                1,138

表示される値は上記のクエリと同じですが、それぞれの郵便番号は、末尾に文字列 (included cities) が付いて表示されます。

関連項目

FeedbackOpens in a new tab