2017-08-27 85 views
1

为什么为什么不同值不会产生在非雾化的序列

(<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>, 
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>)/distinct-values(.) 

收率20170101 20170301 20170101 20170501(即重复未消除)

不同的值,但将它应用到的雾化版本序列

distinct-values((20170701,20170301,20170701,20170501))产生

+0

我知道一个解决方案是在应用distinct-值。我的问题是为什么我必须首先这样做。 –

+0

=>与原子化无关,您没有将序列传递给distinct-values(。) – michael

回答

3
(
    <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>, 
    <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate> 
)/distinct-values(.) 

是不一样:

distinct-values(
    <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>, 
    <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate> 
) 

后者回报元素的序列的不同值。

你的代码返回这些元素的不同的值,就好似叫:

(
    distinct-values(<benefitStartDate>20170101</benefitStartDate>), 
    distinct-values(<benefitEndDate>20170301</benefitEndDate>), 
    distinct-values(<benefitStartDate>20170101</benefitStartDate>), 
    distinct-values(<benefitEndDate>20170501</benefitEndDate>) 
) 

另一个变种,它返回你所期望的结果是:

(
    <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>, 
    <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate> 
) => distinct-values() 

最佳

Michael

相关问题