VALUES ve DISTINCT, her ikisi de bir sütundaki benzersiz değerleri ayrı bir tablo olarak döndüren DAX fonksiyonlarıdır. Görünüşte aynı işi yapsalar da aralarında ince ama önemli bir fark var.
Yeni Bir Tablo Olarak Kullanmak
Model görünümünde Yeni Tablo ile:
Ulkeler = VALUES(NufusTablosu[Country])
veya
Ulkeler = DISTINCT(NufusTablosu[Country])
İkisi de kaynak sütundaki tekrar eden değerleri tek bir kez listeleyen yeni bir tablo üretir.
Aradaki Fark: Boş Satır Davranışı
Fark, kaynak tabloda ilişkili başka bir tabloda karşılığı olmayan değerler olduğunda ortaya çıkar:
DISTINCT, yalnızca gerçekten var olan benzersiz değerleri döndürür.VALUES, eğer sütun bir ilişkinin "bir" tarafındaysa ve karşı tabloda eşleşmeyen satırlar varsa, bunları temsil eden ekstra bir boş satır ekler.
Bu, örneğin iki tablo arasında RELATED veya LOOKUPVALUE ile veri çekerken, ilişkide eşleşmeyen kayıtların olup olmadığını fark etmenizi sağlayan faydalı bir yan etkidir — DISTINCT kullansaydınız bu uyarı sinyalini kaçırabilirdiniz.
Pratik Kural
Verinizin tutarlılığını (eksik eşleşme olup olmadığını) kontrol etmek istiyorsanız VALUES tercih edin; sadece temiz bir benzersiz liste istiyorsanız ve boş satır görmek istemiyorsanız DISTINCT kullanın.
Sırada Ne Var?
Sırada, iki farklı tablodaki değerlerin kesişimini bulan INTERSECT fonksiyonunu göreceğiz.