Viimeisin muokkauspäivä:04 huhtikuuta 2023
Kysymys
Kuinka yhdistää useita päivämääräkenttiä yhdeksi akseliksi tai yhdeksi päivämääräotsikoksi.Jokaisella tilauksella on esimerkiksi [Tilauspäivä] ja [Lähetyspäivä]. Lopullisena tavoitteena on näyttää joko viivakaavio tai ristitaulukko kuukausittain tehtyjen ja toimitettujen tilausten määrästä. Jos [Tilauksen päivämäärä] käytetään akselina tai otsikkona, kuukausittain lähetettyjen tilausten määrä on virheellinen ja päinvastoin.
Ympäristö
Tableau työpöytäVastaus
Liitteenä oleva esimerkkityökirja käyttää esimerkkitietojoukkoa Superstore kaikkien vaihtoehtojen esittelyyn.NAPSAUTA LAAJENTAA RATKAISUA
Vaihtoehto 1: Kierrä päivämääräkenttiä
- Kierrä päivämääräkenttiä niin, että niissä on vain yksi kenttä, jossa on päivämäärätietoja, ja toinen kenttä, kuten "Tapahtuma", joka kertoo, onko tapahtuma "tilaus tehty" vai "tilaus lähetetty". Huomautus: joissakin tietolähteissä kierto voidaan tehdä. suoraan Tableau Desktopissa. Katso tarkemmat ohjeetPivot tiedot sarakkeista riveihin
- Napsauta hiiren kakkospainikkeella ja vedä [Pivot Field Values] Rivit-hyllylle
- Valitse Pudota kenttä -valintaikkunassa MY (Pivot Field Values) ja napsauta OK
- Napsauta hiiren kakkospainikkeella tietoruudussa [Pivot Field Names] ja valitse Aliakset…
- Anna Muokkaa aliaksia -valintaikkunassa Tilauspäivä- ja Lähetyspäivämäärälle kuvaava alias ja napsauta OK
- Vedä [Pivot Field Names] Sarakkeet-hyllylle
- Napsauta hiiren kakkospainikkeella ja vedä [Tilaustunnus] Marks-kortin tekstiin
- Valitse Pudota kenttä -valintaikkunassa CNTD (tilaustunnus) ja napsauta OK
NAPSAUTA LAAJENTAA RATKAISUA
Vaihtoehto 2: Käytä LOD-laskentaa
Tämä vaihtoehto edellyttää, että jokaisessa päivämääräkentässä on vähintään yksi tietue jokaiselle näkymän päivämäärälokerolle. Tässä esimerkissä jokainen rivi on kuukausi, joten sekä [Tilauspäivä]- että [Lähetyspäivä]-kohdassa on oltava vähintään yksi tilaus jokaiselle kuukaudelle.
- Valitse yksi päivämääräkenttä luodaksesi päivämääräakselin tai otsikot. Tässä esimerkissä käytetään [tilauspäivämäärä]
- Napsauta hiiren kakkospainikkeella ja vedä [Tilauksen päivämäärä] Rivit-hyllylle
- Valitse Pudotuskenttä -valintaikkunassa MY (tilauspäivämäärä) sinisellä #-kuvakkeella ja napsauta OK
- Napsauta hiiren kakkospainikkeella ja vedä [Tilaustunnus] Marks-kortin tekstiin
- Valitse Pudota kenttä -valintaikkunassa CNTD (tilaustunnus)
- Napsauta hiiren kakkospainikkeella otsikkoa "Erillinen tilaustunnuksen määrä" näkymässä ja valitse Muokkaa aliasta…
- Kirjoita Muokkaa aliasta -valintaikkunaan uusi nimi ja napsauta OK
- Luo laskettu kenttä, jonka nimi on esimerkiksi "Tilaukset lähetetty" seuraavankaltaisella laskutoimituksella:
MIN(
JOS DATETRUNC('kuukausi', [tilauspäivä]) = DATETRUNC('kuukausi', [lähetyspäivämäärä])
SIIN { KIINTEÄ PÄIVÄMÄÄRÄ('kuukausi', [lähetyspäivä]) : COUNTD([tilaustunnus]) }
LOPPU
)9. Lisää kenttä näkymään kaksoisnapsauttamalla [Orders Shipped] tietoruudussa
NAPSAUTA LAAJENTAA RATKAISUA
Vaihtoehto 3: Käytä päivämäärätelineitä
Tämä vaihtoehto edellyttää, että yksi päivämääräkenttä tulee aina ennen toista päivämääräkenttää, ja se toimii parhaiten, kun kaksi päivämääräkenttää määrittävät alueen.
- Luo taulukko, joka sisältää pääluettelon kaikista mahdollisista päivämääristä, jotka liitetään alkuperäiseen datayhteyteen. Tässä esimerkissä taulukon nimi on "Päiväpäiväluettelo".
- Siirry Tableau Desktopin Tietolähde-välilehteen
- Lisää Taulukko 1 -taulukko kanvasalueelle
- Liity-valintaikkunassa toimi seuraavasti:
- Valitse Vasen
- Valitse Tietolähde-kohdasta Tilauspäivä
- Valitse taulukosta 1 Päivämäärä
- Napsauta yhtäläisyysmerkkiä ja valitse <=
- Napsauta Tietolähde-kohdassa Lisää uusi liittymislauseke ja valitse Lähetyspäivä
- Valitse taulukosta 1 Päivämäärä
- Napsauta yhtäläisyysmerkkiä ja valitse >=
- Valitse Analyysi > Luo laskettu kenttä
- Toimi seuraavasti avautuvassa Laskettu kenttä -valintaikkunassa ja napsauta sitten OK:
- Nimeä laskettu kenttä. Tässä esimerkissä lasketun kentän nimi on "Tehdyt tilaukset"
- Luo kaavakenttään seuraavanlainen laskutoimitus:
COUNTD(
JOS DATETRUNC('kuukausi', [tilauspäivämäärä]) = DATETRUNC('kuukausi', [päivämäärä])
SITTEN [tilaustunnus]
LOPPU
)
- Luo laskettu kenttä, jonka nimi on esimerkiksi "Tilaukset lähetetty" seuraavankaltaisella laskutoimituksella:
COUNTD(
JOS DATETRUNC('kuukausi', [lähetyspäivä]) = DATETRUNC('kuukausi', [päivämäärä])
SITTEN [tilaustunnus]
LOPPU
) - Napsauta hiiren kakkospainikkeella ja vedä [Päiväys] Rivit-hyllylle
- Valitse Pudota kenttä -valintaikkunassa MY(Päivämäärä) ja napsauta OK
- Vedä [Tilaukset] Marks-kortin tekstiin
- Lisää kenttä näkymään kaksoisnapsauttamalla [Orders Shipped] tietoruudussa
NAPSAUTA LAAJENTAA RATKAISUA
Vaihtoehto 4: Käytä tietojen yhdistämistä
Tämä vaihtoehto ei toimi tietyillä päivämäärillä.
- Luo taulukko, joka sisältää pääluettelon kaikista mahdollisista päivämääristä, ja luo uusi yhteys kyseiseen luetteloon. Tässä esimerkissä yhteys on nimeltään "Taulukko1 (pääpäivämääräluettelo)"
- Siirry kohtaan Tiedot > Näyte - Superstore > Kopioi. Tässä esimerkissä olen nimennyt kaksi kappaletta "Näyte - Superstore" nimellä "Näyte - Superstore (linkki tilauspäivänä)" ja "Näyte - Superstore (linkki lähetyspäivänä)" selvyyden vuoksi.
- Siirry kohtaan Tiedot > Muokkaa suhteita…
- Suhteet-valintaikkunassa toimi seuraavasti:
- Valitse ensisijaiseksi tietolähteeksi Taulukko1 (pääpäivämääräluettelo)
- Valitse toissijaiseksi tietolähteeksi Näyte - Superstore (linkki tilauspäivänä)
- Valitse Mukautettu-valintanappi
- klikkaa Lisää…
- Tee lisää/muokkaa kenttäkartoitusta -valintaikkunassa seuraavasti:
- Laajenna päivämääräasetukset napsauttamalla Päivämäärä-kohdan vieressä olevaa nuolta
- Valitse päivämäärätaso, joka vastaa näkymässä käytettyä tarkinta päivämäärätasoa. Tässä esimerkissä näkymä käyttää MY(Päivämäärä).
- Napsauta oikeanpuoleisessa ruudussa Tilauspäivämäärän vieressä olevaa nuolta
- Valitse tilauspäivämäärälle vastaava päivämäärätaso
- Napsauta OK
- Toista vaiheet 4-5 käyttämällä "Näyte - Superstore (linkki lähetyspäivänä)" toissijaisena tietolähteenä ja lisäämällä suhteen MY(Päiväys) = MY(lähetyspäivä)
- Napsauta OK sulkeaksesi Suhteet-valintaikkunan
- Napsauta uudessa laskentataulukossa hiiren kakkospainikkeella ja vedä [Päivämäärä] "Sheet1 (pääpäivämääräluettelo)" -tietoyhteydestä näkymään
- Valitse Pudota kenttä -valintaikkunassa MY(Päivämäärä) ja napsauta OK
- Napsauta hiiren kakkospainikkeella otsikkoa "Erillinen tilaustunnuksen määrä" näkymässä ja valitse Muokkaa aliasta…
- Kirjoita Muokkaa aliasta -valintaikkunaan kuvaavampi nimi ja napsauta OK
- Napsauta hiiren kakkospainikkeella ja vedä [Tilaustunnus] "Näyte - Superstore (linkki tilauspäivämäärä)" -tietolähteestä Marks-tarrassa olevaan tekstiin
- Valitse Pudota kenttä -valintaikkunassa CNTD (tilaustunnus) ja napsauta OK
- Napsauta hiiren kakkospainikkeella ja vedä [Tilaustunnus] "Näyte - Superstore (linkki lähetyspäivämäärä)" -tietolähteestä Marks-tarrassa olevaan tekstiin
- Valitse Pudota kenttä -valintaikkunassa CNTD (tilaustunnus) ja napsauta OK
- Vedä CNTD (tilaustunnus) Marks-kortin yksityiskohdista näkymän numeroiden päälle ja pudota kenttä
- Kirjoita Muokkaa aliasta -valintaikkunaan kuvaavampi nimi ja napsauta OK
lisäinformaatio
Huomautuksia vaihtoehdosta 2 (yksityiskohtaisuuslauseke):- Jokaisessa päivämääräkentässä on oltava vähintään yksi tietue näkymässä käytetylle päivämäärätasolle
- FIXED-lauseke palauttaa lähetettyjen tilausten kokonaismäärän kullekin kuukaudelle [Lähetyspäivä] riippumatta siitä, missä [Lähetyspäivä]-kuukausi näkyy näkymässä. Esimerkiksi helmikuussa lähetetyt tilaukset tehtiin sekä tammi- että helmikuussa. Siten FIXED-lauseke itsessään palauttaisi 59 tilausta sekä MY(tilauspäivä) = tammikuu että MY(tilauspäivä) = helmikuu.
- Koko IF-lause on kääritty muotoon MIN(), jotta vältetään ongelma, jossa LOD-lausekkeet palauttavat päällekkäisiä arvoja IF-käskyn sisällä.
Huomautuksia vaihtoehdosta 3 (päiväteline):
- On myös mahdollista listata kaikki päivämäärät korkeammalla päivämäärätasolla, kuten kunkin kuukauden ensimmäinen päivä. Käytä sitten vaiheissa 4-2 ja 4-5 liitoslaskentaa, joka asettaa päivämäärän alkuperäisessä taulukossa oikealle päivämäärätasolle, kuten DATETRUNC('kuukausi', [Tilauksen päivämäärä])
- Jos alkuperäiseen tietolähteeseen ei ole mahdollista lisätä taulukkoa kaikilla päivämäärillä, luo tietokannan välinen liitos ulkoiseen taulukkoon, joka sisältää kaikki päivämäärät. Tämä edellyttää päivittämistä Tableau Desktop 10.5:een tai uudempaan, jotta voidaan hyödyntää tietokantojen välisten liitosominaisuuden liitoslauseiden epätasa-arvoa.
- Tämä vaihtoehto kopioi tiedot, mikä voi vaikuttaa muihin samaa tietolähdettä käyttäviin näkymiin
- Tableau Prep 2021.3.1 -versiosta alkaen on mahdollista luoda päivämäärän rakennustelineitä Tableau Prepissä ilman päivämääräluettelon luomista. KatsoTäytä aukot peräkkäisissä tiedoissaohjeita varten
- Tietojen yhdistämisellä on monia rajoituksia. Jos tarvitset apua mahdollisiin ongelmiin, katsoTietojen yhdistämisen vianetsintä
- Linkitettyjen päivämäärien on vastattava täsmälleen Suhteet-valintaikkunassa valitun tarkimman päivämäärätasoa
- Eri tietolähteiden kenttien välisiä suhteita luotaessa kukin kenttä voidaan liittää vain yhteen toiseen kenttään kerrallaan, minkä vuoksi alkuperäinen tietolähde piti kopioida.
- Kaikki kenttiin [Tilauspäivä] liittyvät kentät on vedettävä alkuperäisen tietolähteen kopiosta, joka on linkitetty MY(Päivämäärä) = MY(Tilauspäivämäärä) ja päinvastoin kaikille [lähetyspäivämäärä]-kentille.
Aktiivisten tietueiden näyttäminen ajan mittaan
Yhdistä tietosi
Luo yksityiskohtaisen tason ilmaisuja Tableaussa
CASE- ja IF-lausekkeet, jotka sisältävät yksityiskohtaisen ilmaisun tason, tuottavat odottamattomia tuloksia
Kiitos palautteestasi artikkelin tehokkuudesta. Napsauta tätä palataksesi tukisivullemme. Avaa uusi kotelo Avaa uusi tapaus Jatka hakua Napsauta tästä siirtyäksesi tukisivullemme. Tietopohja Saat yksityiskohtaisia vastauksia ja vaiheittaiset ohjeet ongelmiisi ja teknisiin kysymyksiisi. Yhteisö Etsi ja jaa ratkaisuja aktiivisen yhteisömme kanssa foorumien, käyttäjäryhmien ja ideoiden kautta. Tuoteohje Selaa täydellistä luetteloa tuoteoppaista ja oppaista. Saatavilla online-, offline- ja PDF-muodoissa. Koulutus ja opetusohjelmat Opi hallitsemaan Tableaun tuotteet tilaus-, live- tai luokkahuonekoulutuksemme avulla.