知识库

手动选择某个数据集中的数据桶数


发布时间: 22 Dec 2016
上次修改日期: 20 Jul 2023

问题

如何定义数据桶数以及每个数据桶中相等(具有余数)的项数。

环境

Tableau Desktop

答案

单击以展开步骤
步骤 1: 为索引创建计算字段以从 1 开始显示排名
  1. 选择“分析”>“创建计算字段”
  2. 在“名称”文本框中,键入“Index”(索引)。
  3. 在“公式”文本框中,键入:
    INDEX()
    
  4. 完成后,单击“确定”
单击以展开步骤
步骤 2: 创建一个用以分割所选维度的数据桶数参数
  1. 在“数据”窗口中,单击维度右上角的下拉箭头,然后选择“创建”>“参数”
  2. 在“名称”文本框中,键入“Number of Bins”(数据桶数)。
  3. 对于“数据类型”,选择“整数”
  4. “当前值”文本框中,键入一个数字(例如 50)。
  5. 选择“范围”
    • 选择最小值和最大值(例如从 1 到 100)
  6. 完成后,单击“确定”
注意:因为数据桶的数量将是一个整数,所以请选择“整数”。您可能需要选择一个列表(如果您有特定的数据桶数)或范围(如果您希望更灵活地决定要创建的数据桶数)。
 
单击以展开步骤
步骤 3:创建一个用于定义数据桶大小的计算字段
  1. 选择“分析”>“创建计算字段”
  2. 在“名称”文本框中,键入“Size of Each Bin”(每个数据桶的大小)。
  3. 在“公式”文本框中,键入下面的公式,然后单击“确定”
    IF ([Number of Bins]/SIZE()>.5) AND (([Number of Bins]-1)/SIZE()<.5)
    THEN 2
    ELSEIF [Number of Bins]/SIZE()>.5
    THEN 1
    ELSEIF ROUND((SIZE()/[Number of Bins])-10^(-10), 0) !=INT(SIZE()/[Number of Bins]) THEN
    INT((SIZE()/([Number of Bins])))+ 1
    ELSE
    INT((SIZE()/([Number of Bins])))
    END
    
单击以展开步骤
步骤 4:为索引创建一个计算字段,以确定要用于每个所选项数的正确数据桶数
  1. 选择“分析”>“创建计算字段”
  2. 在“名称”文本框中,键入“Dynamic Bins”(动态数据桶)。
  3. 在“公式”文本框中,键入下面的公式,然后单击“确定”
    IF INT(([Index]-.1)/[Size of Each Bin]) = [Number of Bins] THEN
    INT(([Index]-.1)/[Size of Each Bin])
    ELSEIF INT(([Index]-.1)/[Size of Each Bin]) < [Number of Bins] THEN
    INT(([Index]-.1)/[Size of Each Bin])+1
    ELSE
    [Number of Bins]
    END
    
单击以展开步骤
步骤 5: 生成视图
  1. 使用 Superstore 示例数据源,将度量拖到“文本”
  2. 将维度拖到“行”
  3. 将“Index”(索引)和“Size of Each Bin”(每个数据桶的大小)计算字段拖到“详细信息”
  4. “数据”窗口中右键单击参数,然后选择“显示参数控件”。参数控件现在已添加到工作表中,可以进行自定义。
  5. 右键单击“Dynamic Bins”(动态数据桶)字段,选择“离散”,然后将其放在“行”功能区上现有字段的前面。
这也适用于图形。若要使用上面创建的视图创建条形图,只需将“Sales”(销售额)字段从“文本”拖到“列”功能区。可以在本文附加的“选择数据桶数”工作簿中找到示例。

其他信息

若要查看这些步骤的实际运行效果,请观看下面的视频:

注意:视频没有声音。


此文章是否已解决问题?