Power Bi计算行数并获取比率

Power Bi calculating row and getting ratio

我是 power bi 的新手,我正在尝试获取 table 的比率。以下是 table

user_id 状态 尝试
1 还行 完成
1 失败 完成
2 还行 完成
2 还行 完成
2 失败 完成

现在我必须向每个用户展示他尝试了多少次,失败了多少次,还好多少次。

我需要显示以下结果 | user_id |比例| |--------|-----| | 1 | 60% | | 2 | 40% | 计算来自总计行并除以第一个尝试的用户然后我必须通过确定和失败进一步。我尝试了很多方法,通过创建新的 table 计数然后分组,但不幸的是 id 不起作用。

请使用“分组依据”高级选项按 user_id 和状态分组并计算行数。

此处Hospital_id应为user_id,名称应为status。

之后添加另一个组以获取每个用户的总尝试次数。

只需使用 user_id 进行分组并进行聚合,添加所有行并展开 table。这会给你尝试的次数和正确与错误的计数。添加另一个计算字段来进行除法,你就可以开始了。您也可以使用度量来进行此计算,因为您是新手,我会建议您这样做。

通过使用 M;

let
    Source = Excel.Workbook(File.Contents("C:\Users\kkaplan\Desktop\a.xlsx"), null, true),
    Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(Sheet1_Sheet,{{"Column1", Int64.Type}, {"Column2", type text}, {"Column3", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Column1"}, {{"ok", each 100*Table.RowCount(Table.SelectRows(_, each [Column2] = "ok"))/Table.RowCount(_) , type nullable number},
    {"fail", each 100*Table.RowCount(Table.SelectRows(_, each [Column2] = "fail"))/Table.RowCount(_) , type nullable number}}),
    #"Rounded Off" = Table.TransformColumns(#"Grouped Rows",{{"ok", each Number.Round(_, 2), type number}}),
    #"Rounded Off1" = Table.TransformColumns(#"Rounded Off",{{"fail", each Number.Round(_, 2), type number}}),
    #"Renamed Columns" = Table.RenameColumns(#"Rounded Off1",{{"Column1", "user"}})
in
    #"Renamed Columns"

数据在哪里

输出就像;

您可以使用 DAX 和您当前的数据模型轻松完成此操作。无需添加具有不同分组等的额外 tables - 您只需要向模型添加一些度量。为简单起见,这里有三个措施:

在当前过滤器上下文中计算尝试次数的一般度量:

# attempts = 
COUNTROWS ( 'Table' )

一秒钟计算当前过滤器上下文中的尝试次数与总尝试次数:

% of attempts = 
VAR _total = CALCULATE ( [# attempts] , ALL ( 'Table' ) )
RETURN
DIVIDE ( [# attempts] , _total )

第三个计算在当前过滤器上下文中成功尝试与所有尝试的比率:

success ratio = 
VAR _oks = CALCULATE ( [# attempts] , 'Table'[status] = "ok" )
RETURN
DIVIDE ( _oks , [# attempts] )

Measure Tools 中应用正确的格式并将 user_id 与三个小节(# attempts% of attemptssuccess ratio)一起放入新的 table 可视化: