QlikSense 中的嵌套集分析

Nested Set Analysis in QlikSense

我的 User_ID 有几张图片,通过这段代码,我收到了最大的 IMAGE_NR 。

  max({$<USER_ID = {'8638087'}> } IMAGE_NR) 

每个图像编号都链接到 IMAGE_ID。我如何获得这个?

文字:

Give me IMAGE_ID where IMAGE_NR = largest IMAGE_NR of my USER_ID

我试过以下方法无效:

  sum({$<max({<USER_ID={'8638087'}> } IMAGE_NR)>} IMAGE_ID)

感谢您的任何想法!

我没有测试过,但我相信它是这样的:

only({<IMAGE_NR={'$(=max(IMAGE_NR))'}, USER_ID={'8638087'}>} IMAGE_ID)

如果 table 的维度是 USER_ID 那么这将 return 每个 USER_ID 的最大值 IMAGE_NR 的 IMAGE_ID。应该适用于任何维度的 / return 结果,但是无论该维度是什么,都必须将其读取为最大值 IMAGE_NR 。 IMAGE_NR 上的减号是得到 largest/last 排序后的值

firstsortedvalue(IMAGE_ID,-IMAGE_NR)

如果您在没有维度的文本框中使用它,那么您还可以添加集合分析

firstsortedvalue({<USER_ID={'8638087'}>} IMAGE_ID,-IMAGE_NR)

这是一个分步解决方案。

你提到这已经带回了正确的 IMAGE_NR:

max({$<USER_ID = {'8638087'}> } IMAGE_NR)

现在你想要 IMAGE_ID。逻辑是:

=only({CORRECT_IMAGE_NR_SET_ANALYSIS} IMAGE_ID)

我通常更喜欢避免搜索模式(元素列表中的双引号),而是在顶部计算中使用更高的评估级别,所以我建议:

$(=
    'only({<IMAGE_NR={'
    & max({$<USER_ID = {'8638087'}> } IMAGE_NR)
    & '}>} IMAGE_ID)'
)

这还会在公式编辑器中为您提供一个很好的预览公式,例如:

only({<IMAGE_NR={210391287}>} IMAGE_ID)