Megosztás a következőn keresztül:


Feltételes oszlop hozzáadása

A Power Queryvel létrehozhat új oszlopokat, amelyek értékei a tábla más oszlopaira alkalmazott egy vagy több feltételen alapulnak.

A Feltételes oszlop parancs az Oszlop hozzáadása lapon, az Általános csoportban található.

Screenshot of the Power Query ribbon with the Add column tab open and the Conditional column option emphasized.

Feltételes oszlop hozzáadása

Ebben a példában az alábbi képen látható táblázatot használja.

Screenshot of the sample table to use when adding a conditional column.

Ebben a táblában van egy mező, amely megadja a CustomerGroup nevet. Az adott ügyfélre az 1. rétegbeli ár, a 2. réteg ára és a 3. réteg ár mezőjében eltérő árak vonatkoznak. Ebben a példában a cél egy új, Végleges ár nevű oszlop létrehozása a CustomerGroup mezőben található érték alapján. Ha a CustomerGroup mező értéke 1, akkor az 1. réteg ár mezőjéből származó értéket szeretné használni, ellenkező esetben a 3. réteg árából származó értéket használja.

A feltételes oszlop hozzáadásához válassza a Feltételes oszlop lehetőséget. A Feltételes oszlop hozzáadása párbeszédpanelen adja meg a következő szakaszokat:

  • Új oszlopnév: Az új oszlop nevét határozza meg. Ebben a példában használja a Végleges ár nevet.
  • Feltételes záradékok: Meghatározza a feltételes záradékokat. További záradékok hozzáadásához válassza a Záradék hozzáadása lehetőséget. A rendszer minden feltételes záradékot a párbeszédpanelen látható sorrendben tesztel felülről lefelé. Mindegyik záradék négy részből áll:
    • Oszlop neve: A legördülő listában válassza ki a feltételes teszthez használni kívánt oszlopot. Ebben a példában válassza a CustomerGroup lehetőséget.
    • Operátor: Válassza ki a feltételes teszthez tartozó teszt típusát vagy operátorát. Ebben a példában a CustomerGroup oszlopban szereplő értéknek 1-nek kell lennie, ezért válassza az egyenlőséget.
    • Érték: Adjon meg egy értéket, vagy válasszon ki egy oszlopot, amelyet a feltételes teszthez szeretne használni. Ebben a példában adja meg az 1 értéket.
    • Kimenet: Ha a teszt pozitív, akkor az itt megadott érték vagy a kijelölt oszlop a kimenet. Ebben a példában, ha a CustomerGroup értéke 1, akkor a kimeneti értéknek az 1. réteg ár oszlopában szereplő értéknek kell lennie.
  • Final Else záradék: Ha a fenti záradékok egyike sem eredményez pozitív tesztet, akkor a művelet kimenete itt van definiálva manuálisan megadott értékként vagy oszlopból származó értékként. Ebben az esetben a kimenet a 3. réteg ár oszlopának értéke.

Screenshot of the Add conditional column dialog with all of the example values filled in.

A művelet eredménye egy új Végleges ár oszlopot ad, amely az 1. rétegbeli ár és a 3. réteg ároszlopainak értékeit tartalmazza.

Screenshot of the table with the Final Price column containing the Any data type produced by the example conditional clauses.

Feljegyzés

Az új feltételes oszlopok nem rendelkeznek definiált adattípussal. Az újonnan létrehozott oszlop adattípusának meghatározásához új lépést adhat hozzá a Power Query adattípusaiban leírt lépések követésével.

Több záradék hozzáadása és rendszerezése

Ebben a példában változtassuk meg a célt. Az új feltételes záradékok a következők:

  • Ha a CustomerGroup oszlop értéke 1, akkor a Kimenet az 1. réteg ár oszlopának értéke.
  • Ha a CustomerGroup oszlop értéke 2, akkor a Kimenet a 2. réteg ár oszlopának értéke.
  • Ha az előző tesztek egyike sem pozitív, a Kimenet a 3. réteg ár oszlopának értéke.

Screenshot of Add conditional column with two different conditional clauses defined for the values of the Final Price column.

Feljegyzés

Az egyes záradékok végén a három pont gombra (...) kattintva törölheti, feljebb vagy lejjebb helyezheti a záradékot.

A művelet eredménye a Végső ár oszlopot adja meg az 1. rétegbeli ár, a 2. réteg ára és a 3. réteg ároszlopaiból származó árakkal.

Screenshot of the table with the Final Price that contains the Any data type produced by the multiple conditional clauses.