【问题标题】:How to Select multiple related columns in add calculated fields in Quicksight parameter using ifelse?如何使用 ifelse 在 Quicksight 参数中的添加计算字段中选择多个相关列?
【发布时间】:2023-01-04 02:28:30
【问题描述】:

我有一个参数'类型'在一个表中,它可以有多个值,如下所示 -

  1. 人类
  2. 黑猩猩
  3. 猩猩

    我有 3 列与表中的每种类型相关 -

    1. human_avg_height, human_avg_weight, human_avg_lifespan
    2. chimpanzee_avg_height, chimpanzee_avg_weight, chimpanzee_avg_lifespan
    3. orangutan_avg_height, orangutan_avg_weight, orangutan_avg_lifespan

      所以如果我选择类型作为人类, quicksight 仪表板应该只显示三列 -

      1. human_avg_height, human_avg_weight, human_avg_lifespan

        并且不应显示以下列 -

        1. chimpanzee_avg_height, chimpanzee_avg_weight, chimpanzee_avg_lifespan
        2. orangutan_avg_height, orangutan_avg_weight, orangutan_avg_lifespan

          我创建了参数类型在添加计算字段中,我尝试使用 ifelse 根据选择的参数选择列,如下所示 -

          ifelse(${type}='human',{human_avg_height}, {human_avg_weight}, {human_avg_lifespan},{function})

          我也试过 -

          ifelse(${type}='human',{{human_avg_height}, {human_avg_weight}, {human_avg_lifespan},{function}})

          和 -

          ifelse(${type}='human',{human_avg_height, human_avg_weight, human_avg_lifespan},{function}})

          但它们都不起作用。我究竟做错了什么 ?

【问题讨论】:

    标签: amazon-quicksight quicksight-embedding


    【解决方案1】:

    一种方法是使用三个不同的计算字段,一个用于所有高度,一个用于重量,一个用于寿命。这高度一个看起来像这样:

    ifelse(
        ${type}='human',{human_avg_height}, ifelse(
        ${type}='chimpanzee', { chimpanzee_avg_height},  ifelse(
        ${type}='orangutan',{ orangutan_avg_height},  
        NULL
        )))
    

    为另一个计算字段权重寿命然后将这些计算字段添加到您的表中,并按以下条件过滤类型.

    为了让查看者清楚显示了哪些数据,请编辑视觉对象的标题以包含类型:

    ${type} Data

    【讨论】:

      【解决方案2】:

      您必须使用带有类型的 ifelse 为每个度量创建一个计算字段以选择正确的值,但没有必要像 skabo 那样创建内部 ifelse,if else 语法是 ifelse(if, then [, if, then ...], else) 因此您可以将计算字段定义为如下:

      avg_height = ifelse(${type}='human', {human_avg_height}, ${type}='chimpanzee', {chimpanzee_avg_height},${type}='orangutan', {orangutan_avg_height}, NULL)
      
      avg_weight = ifelse(${type}='human', {human_avg_weight}, ${type}='chimpanzee', {chimpanzee_avg_weight},${type}='orangutan', {orangutan_avg_weight}, NULL)
      
      avg_lifespan = ifelse(${type}='human', {human_avg_lifespan}, ${type}='chimpanzee', {chimpanzee_avg_lifespan},${type}='orangutan', {orangutan_avg_lifespan}, NULL)
      

      然后在您的视觉效果中使用这些计算字段。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-17
        • 2022-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多