Tableau api 获取在Tableau中使用应用程序A的用户使用的应用程序的不同计数

Tableau api 获取在Tableau中使用应用程序A的用户使用的应用程序的不同计数,tableau-api,calculated-field,Tableau Api,Calculated Field,我有一个用户和他们使用的应用程序的数据集。对于每个应用程序,我想计算仅使用此应用程序、使用此应用程序+另一个应用程序、+2个其他应用程序的用户总数,。。。最后,我需要得到一个树形图,其中每个方块表示仅使用应用程序、应用程序+1应用程序、+2应用程序的用户总数,……并计算重叠百分比,即仅使用此应用程序的用户数与使用此应用程序与另一应用程序的用户数。如果不添加应用程序约束,我可以计算这些指标,也就是计算使用一个应用程序、两个应用程序、三个应用程序的用户数量。。。。。重叠百分比是指使用多个应用程序的用

我有一个用户和他们使用的应用程序的数据集。对于每个应用程序,我想计算仅使用此应用程序、使用此应用程序+另一个应用程序、+2个其他应用程序的用户总数,。。。最后,我需要得到一个树形图,其中每个方块表示仅使用应用程序、应用程序+1应用程序、+2应用程序的用户总数,……并计算重叠百分比,即仅使用此应用程序的用户数与使用此应用程序与另一应用程序的用户数。如果不添加应用程序约束,我可以计算这些指标,也就是计算使用一个应用程序、两个应用程序、三个应用程序的用户数量。。。。。重叠百分比是指使用多个应用程序的用户百分比

为此,

  • 我创建了一个计算字段来计算每个用户的应用程序总数
  • 然后我用这个字段创建了BIN,它给出了使用1个应用程序、2个应用程序的用户总数。。。。。N应用程序

    然后,我创建了一个树形图,其中每个方块的大小是countD(用户)


    如何做到这一点,而不是只拥有(所有)应用程序,只需要一个应用程序及其配套应用程序就可以做到这一点。我需要一个应用程序选择器,每次我更改应用程序时,树映射都会更改。

    由于您没有提供示例数据,我建议一个解决方案-

    • 没有重复的行,即每个用户与任何唯一的应用程序关联不超过一次
    • 应用程序类型的变化不得超过15-20(在这种情况下,鉴于表格的计算范围,解决方案可能不起作用)
    我收集了以下数据样本-

    步骤1创建名为
    CF
    as的计算字段(CF)-

    // map every application with a number
    
    CASE [Apl id]
    WHEN 'apl1' THEN 1
    WHEN 'apl2' THEN 2
    WHEN 'apl3' THEN 3
    WHEN 'apl4' THEN 4
    WHEN 'apl5' THEN 5
    END
    
    您可以添加尽可能多的值(apl的所有唯一值)

    步骤2添加另一个CF
    CF1
    as

    // binary representation of each application used
    
    {FIXED [User id]: sum(10^([CF]-1))}
    
    // checking which user uses selected application mandatorily
    
    If 
    LEFT(RIGHT(RIGHT('00000'+STR([CF1]),5), [Parameter 1]),1)  = '1' 
    then 'Y' else 'N' end
    
    步骤3创建一个参数作为

    步骤4添加另一个CF
    CF2
    as

    // binary representation of each application used
    
    {FIXED [User id]: sum(10^([CF]-1))}
    
    // checking which user uses selected application mandatorily
    
    If 
    LEFT(RIGHT(RIGHT('00000'+STR([CF1]),5), [Parameter 1]),1)  = '1' 
    then 'Y' else 'N' end
    
    现在,您可以构建视图,如下所示

    选择参数值将筛选出用户至少与所选值关联的记录。Distinct count值将显示这些用户使用的应用程序总数。现在,您可以继续构建树映射。请说明解决方案中是否需要其他帮助/解释

    注1此解决方案是基于二进制逻辑提出的(因此受到限制)。如果您将看到sum(CF1),则值将给出该用户使用的应用程序的二进制表示,其中最右边的占位符表示该用户正在使用apl1是(1)还是不是(0);同样地,从右向左


    注2:在计算
    CF2
    时,我已将
    CF1
    值填充为最多5个前导零。您必须根据应用程序的总数进行更改。

    由于您没有提供示例数据,我建议一个解决方案,假设-

    • 没有重复的行,即每个用户与任何唯一的应用程序关联不超过一次
    • 应用程序类型的变化不得超过15-20(在这种情况下,鉴于表格的计算范围,解决方案可能不起作用)
    我收集了以下数据样本-

    步骤1创建名为
    CF
    as的计算字段(CF)-

    // map every application with a number
    
    CASE [Apl id]
    WHEN 'apl1' THEN 1
    WHEN 'apl2' THEN 2
    WHEN 'apl3' THEN 3
    WHEN 'apl4' THEN 4
    WHEN 'apl5' THEN 5
    END
    
    您可以添加尽可能多的值(apl的所有唯一值)

    步骤2添加另一个CF
    CF1
    as

    // binary representation of each application used
    
    {FIXED [User id]: sum(10^([CF]-1))}
    
    // checking which user uses selected application mandatorily
    
    If 
    LEFT(RIGHT(RIGHT('00000'+STR([CF1]),5), [Parameter 1]),1)  = '1' 
    then 'Y' else 'N' end
    
    步骤3创建一个参数作为

    步骤4添加另一个CF
    CF2
    as

    // binary representation of each application used
    
    {FIXED [User id]: sum(10^([CF]-1))}
    
    // checking which user uses selected application mandatorily
    
    If 
    LEFT(RIGHT(RIGHT('00000'+STR([CF1]),5), [Parameter 1]),1)  = '1' 
    then 'Y' else 'N' end
    
    现在,您可以构建视图,如下所示

    选择参数值将筛选出用户至少与所选值关联的记录。Distinct count值将显示这些用户使用的应用程序总数。现在,您可以继续构建树映射。请说明解决方案中是否需要其他帮助/解释

    注1此解决方案是基于二进制逻辑提出的(因此受到限制)。如果您将看到sum(CF1),则值将给出该用户使用的应用程序的二进制表示,其中最右边的占位符表示该用户正在使用apl1是(1)还是不是(0);同样地,从右向左


    注2:在计算
    CF2
    时,我已将
    CF1
    值填充为最多5个前导零。您必须根据您的应用程序总数进行更改。

    我认为xan必须完成。请提供一些示例数据/csv。您的数据中有多少不同的应用程序?它是否达到了目的?我认为xan应该完成。请提供一些示例数据/csv。您的数据中有多少不同的应用程序?它不符合目的吗?