次の方法で共有


COMBINEVALUES

適用対象:計算列計算テーブルMeasureビジュアル計算

2 つの or 複数のテキスト文字列を 1 つのテキスト文字列に結合します。 この関数の主な目的は、DirectQuery モデルで複数列のリレーションシップをサポートすることです。 詳細については、解説 を参照してください。

構文

COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)

パラメーター

用語 定義
delimiter 連結中に使用する区切り記号。 value定数にする必要があります。
expression value が 1 つのテキスト文字列に結合される DAX 式。

value を返す

連結された文字列。

備考

  • COMBINEVALUES 関数は、入力 values が異なる場合、出力文字列も異なっていることを前提としていますが、検証 not。 この前提に基づいて、COMBINEVALUES を使用して 2 つの DirectQuery テーブルから複数の列を結合するリレーションシップを作成するために計算列を作成すると、クエリ timeで最適化された結合条件が生成されます。 たとえば、Table1(Column1, Column2) and Table2 (Column1, Column2) の間にリレーションシップを作成する if、次のように各テーブルに 1 つずつ、2 つの計算列を作成できます。

    Table1[CalcColumn] = COMBINEVALUES(",", Table1[Column1], Table1[Column2])
    

    and

    Table2[CalcColumn] = COMBINEVALUES(",", Table2[Column1], Table2[Column2])
    

    And Table1[CalcColumn] and Table2[CalcColumn]間にリレーションシップを作成します。 他の DAX 関数 and 演算子とは異なり、リテラルで関数 and 対応する SQL 演算子に変換される演算子は、上記のリレーションシップによって次のように SQL 結合述語が生成されます。

    (Table1.Column1 = Table2.Column1 OR Table1.Column1 IS NULL AND Table2.Column1 IS NULL)
    

    and

    (Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
    
  • 結合述語は、複雑な SQL 演算子 and 関数を含むクエリ パフォーマンスよりもはるかに優れている可能性があります。

  • COMBINEVALUES 関数は、ユーザーが適切な区切り記号を選択して、入力 values の一意の組み合わせによって個別の出力文字列が生成されるようにしますが、想定が trueされていることを検証 not。 たとえば、ユーザーが区切り記号として "| " を選択 if、Table1 の 1 つの行に Table1[Column1] = "| "andTable2 [Column2] = " "があるのに対し、Table2 の 1 行は Table2[Column1] = " "andTable2[Column2] = "| "、連結された 2 つの出力は同じ "|| "になります。これは、2 つの行が結合操作で一致していることを示しているようです。 2 つの行 not 結合 if、両方のテーブルが同じ DirectQuery ソースから取得されますが、両方のテーブルがインポート if 結合されます。

次の DAX クエリ:

EVALUATE
DISTINCT (
    SELECTCOLUMNS ( Date, "Month", COMBINEVALUES ( ", ", [MonthName], [CalendarYear] ) )
)

次の単一列テーブルを返します。

[Month]
2020 年 1 月
2020 年 2 月
2020 年 3 月
2020 年 4 月
2020 年 5 月
2020 年 6 月
2020 年 7 月
2020 年 8 月
2020 年 9 月
2020 年 10 月
2020 年 11 月
2020 年 12 月
2021 年 1 月
2021 年 1 月
2021 年 2 月
2021 年 3 月
2021 年 4 月
2021 年 5 月
2021 年 6 月
2021 年 7 月
2021 年 8 月
2021 年 9 月
2021 年 10 月
2021 年 11 月
2021 年 12 月