Digitális és informatikai

Hiányzó ár vagy valódi nulla? Importáláskor őrizd meg a különbséget

A null, az üres szöveg és a valódi nulla eltérő üzleti állapot. Egy háromrekordos példán mutatjuk meg, hogyan torzulhat az átlag és a termékajánlat.

Dajka Gábor3 perc olvasás

Egy beszállítói fájl egyik termékénél nincs ár. Az importáló program mégis 0 Ft-ot ír a termék mellé, mert az üres értéket automatikusan számmá alakította. A kész rekord így szabályos számot tartalmaz, miközben a forrásból nem következik, hogy a termék ingyenes.

Az adatminőség egyik alapfeladata az ismeretlen, a hiányzó és a valóban nulla érték elkülönítése. Ez a megjelenítésre, az átlagokra, a szűrésre és a publikálásra is hat. Az üres mező eltüntetése nem javítja meg a hiányzó üzleti információt.

Három termék, két ismert ár

Legyen három saját mintatermék. Az első ismert ára 1000 Ft, a másodiké 1200 Ft, a harmadiknál pedig hiányzik az ár. A két ismert adat átlaga (1000 + 1200)/2 = 1100 Ft.

Ha a hiányzó mezőből nulla lesz, a program (1000 + 1200 + 0)/3 = 733,33 Ft átlagot számol. Ez 366,67 Ft-tal kisebb az ismert árak átlagánál. A 733,33 Ft csak akkor volna a három termék helyes átlaga, ha a harmadik valóban 0 Ft-ba kerülne.

A megbízható riport ezért ezt írja: három termékből kettőnél ismert az ár; az ismert árak átlaga 1100 Ft. A lefedettség 2/3 = 66,67%. Így a hiányt nem rejti el egy látszólag pontos összesítés.

A nyelvi típusátalakítás nem üzleti döntés

A JavaScript Number átalakítása a null értékből és az üres szövegből nullát képezhet, a false értékből szintén nullát, a true értékből pedig egyet. Ezt az MDN Number dokumentációja részletesen leírja.

Ezek szabályos programnyelvi viselkedések. Attól még hibásak lehetnek egy ármező értelmezéseként. A „véges számmá alakítható” feltétel ezért túl gyenge, ha a forrás kizárólag valódi numerikus adatot vagy szigorúan meghatározott szöveges számformátumot enged meg.

Először az eredeti típust és az ürességet vizsgáld. Ezután következzen a megengedett alak, majd a tartomány. Egy termékárnál külön kell eldönteni, hogy a nulla engedélyezett-e, milyen pénznemről van szó, és tartalmazza-e az adót.

A hibaállapot legyen önálló adat

Hasznos saját importmodellben az árhoz tartozhat állapot: ismert, hiányzó, hibás formátumú vagy később ellenőrzendő. A tényleges numerikus érték csak az ismert állapothoz kerül. A hibás eredeti szöveget korlátozott hozzáférésű napló vagy hibajegyzék őrizheti meg.

A „kérésre ár” felirat például nem numerikus nulla. A 0 viszont lehet jóváhagyott ingyenes kiegészítő ára. A két eset megjelenítési és publikálási szabálya eltérhet. Ezt a mezőszerződésben előre rögzítsd, ne egy általános igaz/hamis feltétel döntse el.

A JSON-összehasonlító segít megmutatni, ha a null értékből 0 lett, vagy szövegből szám keletkezett. A JSON-formázó a szerkezetet ellenőrzi; a hiányzó ár üzleti pótlására egyik eszköz sem ad önmagában bizonyítékot.

A közzétételhez külön döntési szabály kell

Ár nélküli rekordnál a saját rendszered dönthet a termék visszatartásáról vagy egyértelmű tájékoztatásáról. Korábbi ár felhasználásakor annak forrását és érvényességét is vizsgáld. Ne alakíts egy másik termékből másolt vagy régi értéket hallgatólagosan friss adattá.

Az importpróbában szerepeljen legalább null, üres szöveg, szóköz, false, valódi nulla, pozitív szám és hibás számnak látszó szöveg. Minden esetre külön várt állapotot adj. A sikeres import itt azt jelenti, hogy a rendszer a bizonytalanságot is helyesen őrzi meg.

Gyakori kérdések

A hiányzó árat átlaggal pótolhatom?

Elemzési becslésként csak külön jelöléssel és megnevezett módszerrel. Közzétett termékárként egy más termékekből számolt átlag nem tekinthető igazolt árnak.

Miért nem elég minden nullát kiszűrni?

Mert valódi, megengedett nulla érték is létezhet. A mező eredete és üzleti jelentése fontosabb, mint a puszta számérték.

A hiányzó rekordot kihagyhatom az átlagból?

Igen, ha az ismert adatok átlagát számolod, és megmutatod az ismert, illetve hiányzó rekordok számát. A lefedettséget ne hagyd el.

További cikkek

Kapcsolódó olvasnivalók

Gyorskereső

Kalkulátorok és útmutatók keresése

↑↓ választásEnter megnyitásEsc bezárás