A COALESCE operátort kettős kérdőjel ( ?? ) jelöli . Ez az operátor hasonlóan működik, mint a vagy operátor a Pythonban vagy az alapértelmezett függvény a . Visszaadja az első operandust, ha az létezik, és nem nulla, egyébként pedig a második operandust adja vissza.
Az első probléma az értékek feltételes helyettesítésével foglalkozik. Például, ha a második oszlop null értéket tartalmaz, az eredménynek az első oszlopban lévő értéket kell visszaadnia. Ellenkező esetben az oszlop megtartja a 2. oszlop értékét.
Az Excel BI napi kihívásokat kínál a számára. De a legtöbb esetben az Excel kihívásai a Power Query segítségével is megoldhatók. A második példa célja az összes olyan karakterlánc kiszűrése, amely nem két szóból áll.
1. példa: Cserélje ki az értékeket a COALESCE operátor használatával
Nyissa meg a Lekérdezésszerkesztőt. Győződjön meg arról, hogy az Ön és a Lekérdezés beállítása panelek láthatók. Ha nem, lépjen a Nézet lapra, és váltson az Elrendezés beállításai között.
Az első példában egy két oszlopot tartalmazó táblázatot használunk.
Válassza a 2. oszlopot, és lépjen az Átalakítás fülre. Ezután kattintson a lehetőségre.
Az Értékek cseréje varázslóban ne végezzen módosításokat, és nyomja meg az OK gombot .
Ez létrehozza a szükséges szintaxist. Nincs más dolga, mint frissíteni a kódot a képletsorban, hogy megjelenjenek a kívánt módosítások.
Ebben az esetben a kódnak null értéket kell keresnie. Ha a 2. oszlop null értéket tartalmaz, akkor azt az 1. oszlopban szereplő érték váltja fel.
Ha végzett a kód frissítésével, kattintson a képletsor melletti pipára.
Ez az egyik módja annak, hogy feltételesen lecserélje a null értékeket a táblázatban. Van azonban egy egyszerűbb módszer is, mégpedig a COALESCE operátor használata az M nyelvben.
A COALESCE operátor használata
A COALESCE operátort kettős kérdőjel ( ?? ) jelöli .
A COALESCE használható null értékek feltételes tesztelésekor.
A COALESCE operátor használatához először át kell másolnia az előző példa szintaxisát, majd kattintson a képletsor bal oldalán található fx fülre. Ez egy új lépést hoz létre a lekérdezésben.
Illessze be a szintaxist, majd frissítse a COALESCE operátor segítségével. Tehát az If Then Else utasítás használata helyett tegye a dupla kérdőjelet a 2. oszlop és az 1. oszlop közé.
Ha a 2. oszlop nem ad vissza nullát, az értéket ugyanabból az oszlopból kapja meg. De ha nullát ad vissza, akkor az 1. oszlopból kapja meg az értéket.
2. példa: Feltételes szűrők alkalmazása
A második példában a cél az olyan adatok kiszűrése, amelyek nem két szóból állnak.
Kattintson a szűrő opcióra a táblázatban, és válasszon egy véletlenszerű szűrőt. Ezzel a Power Query generál egy .
Ezután frissítse a szintaxist, hogy kiszűrje a nem két szóból álló karakterláncot. Mivel két szót általában szóközzel választanak el, a Text.Split parancsot kell használni . Ezután el kell helyeznie egy List.Count függvénybe, hogy az eredmény egy értéklistát adjon vissza.
Ha végzett, kattintson a képletsáv melletti pipára. Az eredményül kapott táblázatban látható, hogy két szóból álló karakterláncokat tartalmaz. Azonban az utolsó sorban van egy hiba.
Hiba jelenik meg, mert a kód null értéket talált az adatkészletben. Az ehhez hasonló hibák elkerülése érdekében a COALESCE operátort kell használnia.
Tehát a Text.Split argumentumban helyezze el a ?? a Név érték után, majd adja meg, hogy mi jelenjen meg a táblázatban, ha null értéket talál.
Következtetés
Ebben az oktatóanyagban két olyan gyakorlati példát láthattunk, amelyekre a COALESCE operátor implementálható az If Then Else utasítás vagy a Try else konstrukció helyett.
A COALESCE operátor hasznos eszköz egy olyan változó alapértelmezett értékének megadására, amely lehet null vagy más alapértelmezett értékkel rendelkezik. Gyakran használják a nulla hivatkozási kivételek elkerülésére, vagy alapértelmezett érték megadására, ha olyan adatokkal dolgozik, amelyek esetleg hiányoznak vagy hiányosak.