首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于切割机的动态桶

基于切割机的动态桶
EN

Stack Overflow用户
提问于 2018-09-04 09:22:57
回答 2查看 696关注 0票数 1

我有这张桌子

代码语言:javascript
复制
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个设备。

如果切割机中没有选择:

  • 计数distinct (通用)=3
  • 2 usr ->超过3台设备
  • 1个usr -> 3器件

如果使用b1作为筛选器:

  • 计数不同的usr =2
  • 1个usr -> 3器件
  • 1 usr -> 1器件

如果使用a1作为筛选器:

  • 计数distinct (通用)=3
  • 3 usr -> 2器件

如果使用a1和b1作为筛选器:

  • 计数不同的usr =2
  • 1个usr -> 2器件
  • 1 usr -> 1器件

我该怎么做?

稍后编辑

我对源表做了一些修改,使其与现在的完全相同。您可以从这里下载报表,我想要一个动态计数组。每次对切片器进行过滤时,都应该有一个由usr组成的计数(设备)组,然后根据这个计数生成桶:当前过滤器上有多少用户有1台设备、2台设备、3台设备或多于3台设备。在axis上,我放置了月份列,但它与本例无关,因为它只有一个值。

EN

回答 2

Stack Overflow用户

发布于 2018-09-06 15:39:58

正如我前面提到的,这个问题实质上是:DAX按测量结果分组的重复。

您需要为您的类别创建一个新的表Buckets

代码语言:javascript
复制
Bucket
------
1 device
2 devices
3 devices
>3 devices

完成后,将其放在“图例”框中,并对“值”框使用以下度量:

代码语言:javascript
复制
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 ) )

请注意,在这个度量中,我将计数和随后的测试分成两个步骤,而不是像我在链接问题中所做的那样将它们合并为一个步骤。

票数 1
EN

Stack Overflow用户

发布于 2018-09-12 10:01:03

太棒了!当我没有在Axis上使用月份时,它可以正常工作。在更大的数据集上,在多个月的数据上,在所有的轴值上,它做了所有数据的总和。所以,所有的桶组都有相同的数据。我试着按如下方式添加一个月的专栏:

代码语言:javascript
复制
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] )
    )

但它并不像预期的那样起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52163002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档