Powerquery数式でExcelのCountifs/Sumifs数式を実行することは可能ですか? [Column1]を「Criteriarange」、[Column2]を「Criteria」(基準の例[Column2]のテキストに「Product」が含まれている)があり、新しいカスタム列([Column3 ])
次の式を試してみてください。
List.Count(List.FindText(Source[Column1], [Column2]))
sUMIFほど柔軟ではありませんが、Column2の現在の行にあるWordを含むColumn1のレコードの数をカウントします。
フィルタを使用して条件に基づいてフィルタリングし、[変換]リボンタブの[行数をカウント]を使用できます。フィルタリングは、列の矢印をクリックして実行できます。
または、列をフィルタリングしてから、GroupByを使用してカウントまたは合計を計算することもできます。
COUNTIFのPowerQuery Editorでこの関数を使用していますが、COUNTIFSまたはSUMIFSをまだ習得していません。
let
countif = (tbl as table, col as text, value as any) as number =>
let
select_rows = Table.SelectRows(tbl, each Record.Field(_, col) = value),
count_rows = Table.RowCount(select_rows)
in
count_rows
in
countif
私はそれを次のように使用します
add_column = Table.AddColumn(
last_expression,
"count",
each
f_countif(Product, "Id",[ProductId]))
私はこれを私のブログにかなり広範囲に書いています、そしてこれはそれをする私の好ましい方法です。
http://jaykilleen.com/posts/countif-in-power-query-or-powerbi-using-m-language
これがお役に立てば幸いです:)
この例を見てください: ここ に示すように4列(Serial、Team、Name、Role)のテーブルがあり、列(Team、HasAdmin?、CountOfMembers)の要約テーブルを作成したいと思います。
示されているように、私は3つのステップでそれを行います:
ステップ1: ここ に示すように、conditional column
リボンのAdd Column
ボタンを使用して2つの新しい列を追加します。 =および ここ
ステップ2:図のように新しい列のタイプを「整数」に変更します ここ
ステップ3:[チーム]列を選択し、Home
リボンのGroup By
ボタンをクリックして、図のように入力します- ここ
終了!
「sumif」の場合、手順1で「1」の代わりにセル値を入力できます
私はこの質問を解決したと思います。
Csvを作成しました。 [Sumifstest.csv]そしてクエリをこのファイルにリンクしました。
これはソーステーブルで、次のようになります:[Header] {rows}
[アルファ1] {A A A A A A A A A}
[アルファ1] {AA AA AA AA BB BB BB BB BB}
[Num1] {1 1 1 1 1 1 1 1 1}
[Num2] {11 11 11 11 22 22 22 22 22}
[値] {1 2 3 4 5 6 7 8 9}
しましょう
Source = Csv.Document(File.Contents( "D:\ Power BI\Tests\Sumifs test.csv")、[Delimiter = "、"、Encoding = 1252])、
# "Promoted Headers1" = Table.PromoteHeaders(Source)、
# "変更されたタイプ" = Table.TransformColumnTypes(# "Promoted Headers1"、{{"Num1"、Int64.Type}、{"Num2"、Int64.Type}、{"Value"、Int64.Type }})、
Phase1 =# "変更されたタイプ"、
# "Grouped Rows" = Table.Group(# "Changed Type"、{"Alpha1"、 "Alpha1_1"}、{{"Values"、each List.Sum([Value])、type number} })、
MyList = List.Buffer(# "Grouped Rows" [Values])、
Custom1 =# "グループ化された行"、
# "追加されたカスタム" = Table.AddColumn(Custom1、 "Acumulative"、each List.Sum(List.Select(MyList、(x)=> x> = [Values])))、
# "Grouped Rows1" = Table.Group(# "Added Custom"、{"Alpha1"}、{{"Values2"、each List.Sum([Values])、type number}})、
MyList2 = List.Buffer(# "Grouped Rows1" [Values2])、
Custom2 =# "Grouped Rows1"、
# "マージされたクエリ" = Table.NestedJoin(Phase1、{"Alpha1"}、Custom2、{"Alpha1"}、 "NewColumn"、JoinKind.LeftOuter)、
# "Expanded NewColumn" = Table.ExpandTableColumn(# "Merged Queries"、 "NewColumn"、{"Values2"}、{"NewColumn.Values2"})、Phase2 =# "Expanded NewColumn"、
# "Merged Queries2" = Table.NestedJoin(Phase2、{"Alpha1_1"}、Custom1、{"Alpha1_1"}、 "NewColumn"、JoinKind.LeftOuter)、
# "Expanded NewColumn1" = Table.ExpandTableColumn(# "Merged Queries2"、 "NewColumn"、{"Values"}、{"NewColumn.Values"})
に
# "Expanded NewColumn1"