我有这张桌子
usr box app device bucket bucket_box bucket_app bucket_box_app month
u1 b1 a1 d1 > 3 3 devices 2 devices 2 devices 201809
u1 b1 a1 d2 > 3 3 devices 2 devices 2 devices 201809
u1 b1 a2 d3 > 3 3 devices 2 devices 1 device 201809
u1 b2 a2 d4 > 3 1 device 2 devices 1 device 201809
u2 b1 a1 d5 > 3 1 device 2 devices 1 device 201809
u2 b2 a3 d6 > 3 2 devices 1 device 1 device 201809
u2 b2 a4 d7 > 3 2 devices 1 device 1 device 201809
u2 b3 a1 d8 > 3 1 device 2 devices 1 device 201809
u3 b3 a1 d9 3 devices 2 devices 2 devices 1 device 201809
u3 b4 a1 d10 3 devices 1 device 1 device 1 device 201809
u3 b3 a2 d11 3 devices 2 devices 2 devices 1 device 201809我在列box、和应用程序上创建了两个切片器。在群集列图中,值上有不同的usr。在图例中,我想按设备计算usr的故障。桶是1个设备,2个设备,3个设备,超过3个设备。
如果切割机中没有选择:
如果使用b1作为筛选器:
如果使用a1作为筛选器:
如果使用a1和b1作为筛选器:
我该怎么做?
稍后编辑
我对源表做了一些修改,使其与现在的完全相同。您可以从这里下载报表,我想要一个动态计数组。每次对切片器进行过滤时,都应该有一个由usr组成的计数(设备)组,然后根据这个计数生成桶:当前过滤器上有多少用户有1台设备、2台设备、3台设备或多于3台设备。在axis上,我放置了月份列,但它与本例无关,因为它只有一个值。
发布于 2018-09-06 15:39:58
正如我前面提到的,这个问题实质上是:DAX按测量结果分组的重复。
您需要为您的类别创建一个新的表Buckets:
Bucket
------
1 device
2 devices
3 devices
>3 devices完成后,将其放在“图例”框中,并对“值”框使用以下度量:
DynamicBucketingMeasure =
VAR Summary =
SUMMARIZE (
ALLSELECTED ( pbi_box_active_devices_4 ),
pbi_box_active_devices_4[usr],
"Devices", DISTINCTCOUNT ( pbi_box_active_devices_4[device] )
)
VAR Bucketed =
ADDCOLUMNS (
Summary,
"Bucket", SWITCH (
TRUE (),
[Devices] > 3, ">3 devices",
[Devices] = 1, "1 device",
[Devices] & " devices"
)
)
RETURN
SUMX ( Bucketed, IF ( [Bucket] = SELECTEDVALUE ( Buckets[Bucket] ), 1, 0 ) )请注意,在这个度量中,我将计数和随后的测试分成两个步骤,而不是像我在链接问题中所做的那样将它们合并为一个步骤。
发布于 2018-09-12 10:01:03
太棒了!当我没有在Axis上使用月份时,它可以正常工作。在更大的数据集上,在多个月的数据上,在所有的轴值上,它做了所有数据的总和。所以,所有的桶组都有相同的数据。我试着按如下方式添加一个月的专栏:
VAR Summary =
SUMMARIZE (
ALLSELECTED ( pbi_box_active_devices_4 ),
pbi_box_active_devices_4[usr],
pbi_box_active_devices_4[month],
"Devices", DISTINCTCOUNT ( pbi_box_active_devices_4[device] )
)但它并不像预期的那样起作用。
https://stackoverflow.com/questions/52163002
复制相似问题