2017-08-27 4 views
1

WarumWarum distinct-values ​​nicht eindeutige Werte auf einer nicht zerstäubten Sequenz ergeben

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

Ausbeute 20.170.101 20.170.301 20.170.101 20.170.501 (dh Duplikate nicht eliminiert)

aber es zu einer zerstäubten Version der Anwendung

die Sequenz

distinct-values((20170701,20170301,20170701,20170501)) ergibt

+0

Ich weiß, dass eine Lösung ist, die Sequenz vor der Anwendung von distinct- Werte. Meine Frage ist, warum ich das überhaupt machen muss. –

+0

=> Nichts mit Atomisierung zu tun, Sie geben keine Sequenz an verschiedene Werte (.) – michael

Antwort

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

ist nicht dasselbe wie:

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

Letztere kehrt der distinct-Werte für eine Folge von Elementen.

Ihr Code die unterschiedlichen-Werte für jedes dieser Elemente zurückgibt, ist es wie der Aufruf:

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

Eine andere Variante, die das Ergebnis Sie erwartet zurückgibt, ist:

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

Beste

Michael

Verwandte Themen