【问题标题】:How to remove records when ID has at least one related measure = 0当 ID 至少有一个相关度量 = 0 时如何删除记录
【发布时间】:2022-10-25 07:37:09
【问题描述】:

本质上,参考该表,我想在这种情况下排除所有匹配的 ID C123,因为它至少具有 UsedResources = 0 之一。

任何帮助或建议将不胜感激。

PersonalID ID_Holder AssigmentTags UsedResources
C123 Kratos AS001 0
C123 Kratos AS999 15
C123 Kratos AS542 20
P567 Zesus AS874 25
P567 Zesus AS123 10
P567 Zesus AS983 5

【问题讨论】:

  • 从数据/脚本或图表/表格中删除它们?
  • 我非常喜欢脚本和前端的解决方案。如果不是太多要求?

标签: qlikview qliksense qlik-expression


【解决方案1】:

脚本

您可以标记这些记录并使用该标记在 UI 中将它们过滤掉

RawData:
Load * Inline [
PersonalID, ID_Holder, AssigmentTags, UsedResources
C123      , Kratos   , AS001        , 0
C123      , Kratos   , AS999        , 15
C123      , Kratos   , AS542        , 20
P567      , Zesus    , AS874        , 25
P567      , Zesus    , AS123        , 10
P567      , Zesus    , AS983        , 5
];

join

Load
  PersonalID,
  if(MinUsedResources > 0, 1, 0) as HasNonZeroResources
;  
Load
distinct
  PersonalID,
  min(UsedResources) as MinUsedResources
Resident
  RawData
Group By
    PersonalID
;

重新加载应用程序后,可以在表达式中使用 HasNonZeroResources 字段:

使用集合分析:

count( {< HasNonZeroResources = {1} >} AssigmentTags)

没有集合分析:

// not sure how effective is this
count( AssigmentTags ) * HasNonZeroResources

表达

一种方法是仅包含PersonalID,其中UsedResources 的最小值为

count( {< PersonalID = {"=min(UsedResources) > 0"} >}  AssigmentTags)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2021-09-28
    相关资源
    最近更新 更多