【问题标题】:Making Rows Out of Column in SAP HANA Calculation View(Scripted/Graphical)在 SAP HANA 计算视图中从列中创建行(脚本/图形)
【发布时间】:2017-11-27 13:06:03
【问题描述】:

主要来源数据

TYPE    ID  VERSION      Column_NAME    VALUE
A   WXYZ    0            COLUMN_A       ABC
A   WXYZ    0            COLUMN_B       DEF
A   WXYZ    0            COLUMN_C      CHI
A   WXYZ    0           COLUMN_C       JKL
A   WXYZ    0           COLUMN_D       MNO

在源上应用 Union 后,我得到了下表:

我们还有许多其他基于类型、ID、版本的行。

联合后的数据(类似于):。

TYPE    ID     VERSION  COLUMN_A    COLUMN_B    COLUMN_C    COLUMN_D
A    WXYZ       0         ABC         <Null>    <Null>      <Null>
A    WXYZ       0        <Null>        DEF      <Null>      <Null>
A    WXYZ       0         <Null>      <Null>     CHI        <Null>
A    WXYZ       0        <Null>       <Null>     JKL        <Null>
A    WXYZ       0        <Null>       <Null>     <Null>     MNO

我需要的输出:

 TYPE   ID       VERSION    COLUMN_A    COLUMN_B    COLUMN_C    COLUMN_D
    A     WXYZ         0          ABC         DEF        CHI      MNO
    A     WXYZ         0          ABC         DEF        JKL      MNO

我尝试使用聚合节点获取 Column_A、Column_B、Column_C、Column_D 的最大值。但问题是 Design Studio 不支持获取任何属性的最大值的 CV。

任何人都可以建议任何其他方式吗?

【问题讨论】:

  • D 列中的 NULL 是什么意思?我在问为什么 NULL 对我来说意味着 NO 所以我使用这个代码: if (IsNull("field"), 'N', if("field"='Yes', 'Y', 'N'))
  • @MatheusOliveira 我已经编辑了最后一列,您现在可以查看,Null 表示没有值。它在 HANA 中显示为 ->(?)
  • 您可以发布您的 SQL 以及您想要什么输出,以便我可以更好地帮助您吗?
  • @MatheusOliveira 实际上我正在处理 SAP HANA 中的图形计算视图,因此没有脚本。
  • @MatheusOliveira 我已经更新了主要来源,请立即查看!

标签: sql join union hana


【解决方案1】:

您为什么不简单地在以原始视图作为输入的新计算视图中执行“按联合和聚合进行透视”? UNION + AGGREGATION 节点可以对字符串执行MAX 聚合。

【讨论】:

  • 如果您检查 C 列中的数据,则无法取最大值,因为我们将在输出中仅得到 1 行,@LarsBr。
  • 我明白了。在这种情况下,您将不得不使用左外连接技术来“旋转”您的数据集。为此,您可以单独投影每个属性并加入共享密钥(typeidversion
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多