DAX、PowerBI中的动态GROUPBY
我不熟悉PowerBI和DAX语言 考虑下表DAX、PowerBI中的动态GROUPBY,powerbi,dax,Powerbi,Dax,我不熟悉PowerBI和DAX语言 考虑下表所有交互(这是用户与系统交互的集合): 我想创建以下可视化: (X轴上为总交互次数,Y轴上为系统中具有该数量交互的用户百分比) 这可以通过创建动态表来实现,如: TableFoo = GROUPBY ( 'All interactions', 'All interactions'[user_name], "total_interactions", COUNTX ( CURRENTGROUP (), 'All interacti
所有交互
(这是用户与系统交互的集合):
我想创建以下可视化:
(X轴上为总交互次数,Y轴上为系统中具有该数量交互的用户百分比)
这可以通过创建动态表来实现,如:
TableFoo =
GROUPBY (
'All interactions',
'All interactions'[user_name],
"total_interactions", COUNTX ( CURRENTGROUP (), 'All interactions'[user_name] )
)
可以按预期可视化:
问题在于我无法动态过滤数据。例如,当试图通过选择某些类型
或用户详细信息来缩小结果范围时。性别
所有分组数据保持静态
我怎样才能做到这一点
谢谢。使事物动态化的关键是使用度量值,而不是计算列或计算表(除非这些是在度量值内计算的)
我建议创建一个单独的表格,用作x轴
X-axis = GENERATESERIES ( 1, COUNTROWS ( 'All Interactions' ) )
(这比您需要的要大,但应能达到此目的。)
将“X轴”[值]
放在图表轴上,然后定义用于值字段的度量
Contact Distribution =
VAR Interactions = SELECTEDVALUE ( 'X-axis'[Value] )
VAR Summary =
GROUPBY (
'All interactions',
'All interactions'[user_name],
"total_interactions", COUNTX ( CURRENTGROUP (), 'All interactions'[user_name] )
)
RETURN
COUNTROWS ( FILTER ( Summary, [total_interactions] = Interactions ) )
这将读取x轴上的值,然后统计在您的GROUPBY
摘要表中有那么多交互的用户数
这是动态的,因为汇总表是在度量值内计算的,并且可以响应筛选,这与固定的计算表不同。您必须在All函数中指定仅在列Username上删除筛选。 您不需要使用groupby函数 您可以尝试以下公式:(format函数强制查看小数)
谢谢一切正常。但有一个问题-我如何切换到百分比而不是只报告交互的数量?您可以在度量中除以
COUNTROWS('All interactions')
(或您希望分母是什么)。实际上,当我尝试执行修改后的查询时:“total_interactions”,COUNTX(CURRENTGROUP(),“所有交互”[user_name])/COUNTROWS('All interactions')
我最后遇到了一个错误,如“Function”GROUPBY“标量表达式必须是CurrentGroup()上的聚合函数。每个聚合的表达式必须是常量或直接引用CurrentGroup()中的列。”
format(
Divide(
countx(Sheet3,Sheet3[username]),
Calculate(COUNTROWS(Sheet3),ALL(Sheet3[username])
)
,0)
, "PERCENT" )