根据切片器选择的聚合动态更改频带

问题描述 投票:0回答:1

有一个名为客户警报的表,我们有客户、警报持续时间以及每个警报持续时间的警报计数

客户 闹钟持续时间 报警计数
C01 15米 3
c01 15m-3h 4

有一个名为 AlarmBands 的单独表,其中包含值

0
1-5
6-10
10+
根据警报计数指定频段

警报带
0
1-5
6-10
10+

有一个具有警报持续时间的过滤器(

15m
15m to 3h
3h to 7h
7h+
) 这是我们在客户表中的同一列

根据从过滤器中选择的值,它应该总结客户警报,然后从 AlarmBands 表中选择一个波段值。

例如:客户C01有3个15m的警报和4个15m至3h持续时间的警报 当用户从过滤器中选择 15m 时。该客户应计入 1-5 段,因为有 3 个 15m 警报,3 个位于 1-5 之间

但是如果用户从过滤器中选择了 15m 和 15m-3h(两者)。警报总数 =7,因此该客户应计入第 6 至 10 段

我无法在 Power BI 中实现这一目标。任何线索都会有很大帮助

我需要 X 轴上的 AlarmBands 和 Y 轴上的客户数量。连接到警报持续时间过滤器

我尝试用下面的 dax 来完成它

Measure= 
var _a1=ALLSELECTED('Table'[AlarmDuration])
var _a2= SUMMARIZE(CALCULATETABLE('Table',FILTER('Table',CONTAINSROW(_a1,'Table'[AlarmDuration]))),'Table'[Customer],"CountOFAlarm",SUM('Table'[CountofAlarm]))
var _a3=ADDCOLUMNS(_a2,"AlarmBand", IF([abc]=0,0,[abc]>=1 && [abc]<=5,"1-5",[abc]>5 && [abc]<=10,"6 to10","10+"))
var _a4= COUNT(_a2[{Customer],USERELATIONSHIP(_a3[AlarmBand],ALrmB[AlarmBand]))

附上预期输出的详细图像

powerbi dax powerbi-desktop measure
1个回答
0
投票

您可以尝试创建如下所示的警报带表。

enter image description here

然后创建一个度量

MEASURE =
VAR _list =
    DISTINCT ( 'customer alarms'[AlarmDuration] )
VAR _tbl =
    SUMMARIZE (
        FILTER ( 'customer alarms', 'customer alarms'[AlarmDuration] IN _list ),
        'customer alarms'[Customer],
        "total", SUM ( 'customer alarms'[BandwiseAlarmCount] )
    )
RETURN
    COUNTROWS (
        FILTER (
            _tbl,
            [total] >= MAX ( 'AlarmBands'[Left] )
                && [total] <= MAX ( AlarmBands[Right] )
        )
    ) + 0

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.