Only
Only() , toplanmış verilerden sadece tek bir olası sonuç olduğu takdirde bir değer döndürür. Örneğin, birim fiyatın =9 olduğu tek bir ürün arandığında, birden fazla ürünün birim fiyatı 9 ise NULL döndürülür.
Söz Dizimi:
Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)
Dönüş verileri türü: dual
Bağımsız Değişkenler:
- expr: Hesaplanacak verileri içeren ifade veya alan.
- SetExpression: Toplama işlevi, varsayılan olarak, seçim tarafından tanımlanmış olası kayıtlar kümesi üzerinden toplanır. Bir set analizi ifadesi ile alternatif bir kayıt kümesi tanımlanabilir.
- TOTAL: TOTAL sözcüğü fonksiyon bağımsız değişkenlerinden önce gelirse, hesaplama yalnızca geçerli boyutsal değere ait olanlar için değil de, geçerli seçimlerde verilen tüm olası değerler üzerinden yapılır; yani grafik boyutlarını göz ardı eder. TOTAL niteleyicisinin ardından açılı ayraçlar içindeki bir veya daha fazla alan adından oluşan bir liste gelebilir <fld>. Bu alan adları grafik boyut değişkenlerinin bir alt kümesi olmalıdır.
Örnekler:
Örnek | Sonuç |
---|---|
Only({<UnitPrice={9}>} Product) |
BB; çünkü UnitPrice değeri '9' olan tek Product budur. |
Only({<Product={DD}>} Customer) |
Betacab; çünkü 'DD' adında bir Product satan tek Customer budur. |
Only({<UnitPrice={20}>} UnitSales) |
UnitPrice değeri 20 olan UnitSales sayısı 2'dir; çünkü UnitPrice =20 olan tek bir UnitSales değeri vardır. |
Only({<UnitPrice={15}>} UnitSales) |
NULL; çünkü UnitPrice =15 olan iki UnitSales değeri vardır. |
Örneklerde kullanılan veriler:
ProductData:
LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD||25
Canutility|AA|8|15
Canutility|CC||19
] (delimiter is '|');
Customer | Product | UnitSales | UnitPrice |
---|---|---|---|
Astrida | AA | 4 | 16 |
Astrida | AA | 10 | 15 |
Astrida | BB | 9 | 9 |
Betacab | BB | 5 | 10 |
Betacab | CC | 2 | 20 |
Betacab | DD | - | 25 |
Canutility | AA | 8 | 15 |
Canutility | CC | - | 19 |