Import CSV s elementami v stlpcoch/riadkoch

Ahoj, prosim o radu.

Mam importovaci CSV subor od dodavatela v ktorom mam:
1 stlpec “ProductID”
2 stlpec ATTRIBUT a pod nim uvedene vlastnosti ako Material, Farbe, a pod.
3 stlpec WERT a pod nim su hodnoty danych vlastnosti z 2 stlpca

Viem prosim nejak naimportovat tieto hodnoty do projektu (cez pravidlo Import datoveho suboru)?

Zdrojove csv ma navyse oddelovac TAB.

Dakujem za radu. Martin

Nebojte Import určitě půjde zajistit. :slight_smile:

Nejprve je třeba zkontrolovat, zda jsou ve vašem projektu elementy s názvy, které jsou v samotném CSV souboru.

Pravidlo pro Import datového souboru dokáže totiž hodnoty do elementů naplňovat, ale pokud samotný element (kam se má hodnota doplnit) v projektu neexistuje, tak jej pravidlo nevytvoří - prostě neexistující element v projektu (sloupec z CSV tabulky) přeskočí.

Takže postupujte takto:

  1. V rámci vašeho projektu na stránce Elementy nejprve zkontrolujte, zda jsou přítomny všechny tři elementy, se kterými budete pracovat: productId, Attribut, Wert
    (Důležité: Při vytváření elementů v Mergadu zachovejte stejnou velikost písmen v názvu elementů, jako je ve vašem CSV)

  2. Pokud element productId nebyl v projektu k dispozici a vy jste jej vytvářel (viz předchozí bod), tak bude třeba jiným pravidlem tento element nejprve vyplnit hodnotami.

    :information_source: První sloupec v CSV souboru je tzv. párovací. Mergado tedy postupuje tak, že se podívá na hodnotu v CSV souboru v elementu productId v CSV a pak se dívá do projektu, jestli je v něm položka, která má vyplněný element productId nějakou hodnotou.
    Pokud se hodnoty v CSV a Projektu shodují, například číslo 109533, které je v prvním řádku souboru v ukázce, tak začne Mergado hledat další elementy Attribut a Wert a tyto vyplní odpovídající hodnotou z CSV souboru.

    Pokud tedy tento první z CSV souboru nemáte jako element v projektu vyplněný, je třčba jej nejprve jiným pravidlem vyplnit.
    Samozřejmě tedy předpokládáme, že v rámci projektu je někde jiný element, který obsahuje produkt id.

    Dejme tomu, že id produktu je třeba v elementu product_sku.
    Tak si prostě jenom vytvoříte další pravidlo, které bude ještě před pravidlem pro Import datového souboru.

    Použijte například pravidlo Hromadné zkopírování hodnot:

Tímto zajistíte, že se předvyplní párovací element productId potřebnými hodnotami.


:information_source: Další info k systému Importu datového souboru najdete zde:

Ahoj,
dakujem za odpoved.

Import datoveho suboru mi ide OK, + productId mam naparovane.

Hodnoty Attribut a Wert sa mi ukazuju ale iba jedna, konkretne Attribut “Language Instructions” a Wert “Universeel”.

Ako si zobrazim ine parametre ako “Breite” a pod.??

Diky Moc, Martin

Aha, už to vidím. On je to vícenásobný element:

V tom CSV souboru je tedy jedna položka uvedena vícekrát, jelikož má více hodnot v Attribut. Jedna stejná položka je tedy ve více řádcích a každý další řádek tak přepíše ten předchozí. :frowning:

Jenže se přiznám, že teď v rychlosti nevím, jak to ošetřit, aniž by musel upravit vstupní CSV.

Předám info kolegům z technické podpory, zda je něco napadne. Prosím o strpění. :wink:

Ahoj,
ano, produktID “xyz” ma “Attribut” “MATERIAL” a ten moze mat hodnotu zaroven aj “metal” aj “textile” (latkova stolicka s kovovou nohou napr.)
Ten isty produkt mozem mat “Attribut” “FARBE” a ten tiez moze mat viac hodnot.

Idealne keby som povodny subor nemusel upravovat a tahal ho priamo od dodavatela v tomto formate. Udajne to ostatni odberatelia v pohode s tymto suborom pracuju, no neviem ako :slight_smile:

Pekny den. Martin

Zdravím Martine,

děkujeme za trpělivost. Probírali jsme to i s dalšími kolegy a bohužel jsme se shodli na tom, že bez úpravy CSV to nepůjde. Je opravdu potřeba mít pro každý produkt jen jeden řádek a jednotlivé parametry + jejich hodnoty ve sloupcích, jinak to do projektu nedostaneme.

První sloupec by zůstal “productId” a následně by bylo potřeba to nahrát do Mergada pomocí pozic, takže další sloupce v CSV by byly Attribut { @@POSITION = 1 } , Wert { @@POSITION = 1 } , Attribut { @@POSITION = 2 } , Wert { @@POSITION = 2 } a tak dále.

Dakujem za odpoved. Pekny den.
Martin