2

PowerQueryCityとに 2 つのテーブルがありPeopleます。

Id, Name
 1, Brisbane
 2, Sydney
 3, Melbourne

Id, Name,  CityId
 1, Jay,   1
 2, Sam,   2
 3, Paul,  1
 4, Sarah, 3

その都市に何人の人が属しているかを示す列を City に追加したいと思います。これまでのところ、私は持っています:

Table.AddColumn(City, "People.Count", each
    Table.RowCount(
        Table.SelectRows(
            People, 
            each [CityId] = [Id]
        )
    )
)

これにより、新しい列にすべてゼロが返されます。と置き換える[Id]1、 が得られ2ます。

現在の行の値を参照しているように見えます[]が、同じテーブルにあります。次のように書く方法はありますか

Table.AddColumn(City, "People.Count", each 
    Table.RowCount(
        Table.SelectRows(
            People, 
            each People[CityId] = City[Id]
        )
    )
)

Excelでは、これは次のように基本的です

=COUNTIF(People[CityId],[@Id])

次に、 PEOPLEの新しい列をプルダウンします(添付の .xlsx に従って)

十分に単純に思えますが、絶対に立ち往生しています! イーク。

4

3 に答える 3

3

ああ、今私はあなたが求めているものを見ます. 単純な列でそれを行うための気の利いたトリックがあります。

= Table.AddColumn(City, "People.Count", each let Id=[Id] in Table.RowCount(Table.SelectRows(People, each [CityId] = Id)))

現在の「コンテキスト」(People's テーブル) から「離れる」ためには、列名を変数として定義する必要があります。

于 2016-02-01T16:47:52.523 に答える
3

PEOPLE から開始し、次に Groups By City でカウントを計算するクエリを作成します。

次に、CITY クエリをその新しいクエリとマージし、Count 列を展開します。

コードや数式は必要ありません。実際には、Excel の数式よりも簡単です。

于 2016-02-01T06:22:09.837 に答える