# En iyi veri modelleme uygulamaları

Bu bölümde, verilerin nasıl yapılandırıldığına ve hangi veri modelini elde etmek istediğinize bağlı olarak, verilerinizi bir Qlik Sense uygulamasına yüklemek için kullanabileceğiniz birkaç farklı yöntem açıklanmaktadır.



## Veri sütunlarını satırlara dönüştürme

Verilerim muhtemelen şöyle görünüyor ve satış rakamlarının ayrı bir alanda görünmesini istiyorum:

Orijinal veri tablosu

| Yıl | Q1 | Q2 | Q3 | Q4 |
| --- | --- | --- | --- | --- |
| 2013 | 34 | 54 | 53 | 52 |
| 2014 | 47 | 56 | 65 | 67 |
| 2015 | 57 | 56 | 63 | 71 |

Önerilen eylem

Tabloyu yüklerken Crosstable önekini kullanın.

Sonuç şöyle görünür:

Crosstable öneki uygulandıktan sonra tablo

| Year | Quarter | Sales |
| --- | --- | --- |
| 2013 | Q1 | 34 |
| 2013 | Q2 | 54 |
| 2013 | Q3 | 53 |
| 2013 | Q4 | 52 |
| 2014 | Q1 | 47 |
| ... | ... | ... |

Crosstable'lar hakkında daha fazla bilgi edinmek için bkz. [Veri yükleme betiğinde çapraz tablolarla çalışma](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/work-with-cross-tables.htm) ve [Crosstable](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/crosstable.htm).

## Veri satırlarını alanlara dönüştürme

Buna benzer üç alana sahip genel bir tablom var ve her özniteliğin ayrı bir tablo olmasını istiyorum:

Üç alan içeren genel tablo

| Object | Attribute | Value |
| --- | --- | --- |
| ball | color | red |
| ball | diameter | 25 |
| ball | weight | 3 |
| box | color | 56 |
| box | height | 30 |
| box | length | 20 |
| box | width | 25 |

Önerilen eylem

Genel yükleme önekini kullanarak genel veri modeli oluşturun.

Şuna benzer bir veri modeli elde edeceksiniz:

![Genel veri modeli.](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Resources/Images/ex_gen_GenericDatabase_300x300.png)

Genel veriler hakkında daha fazla bilgi edinmek için bkz. [Genel veritabanları](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataSource/generic-databases.htm) ve [Generic](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Generic.htm).

## Verileri kuruluş şeması gibi hiyerarşik düzeylerde yükleme

Verilerim şuna benzer bitişik düğümler tablosunda depolanıyor:

Bitişik düğümler tablosu

| NodeID | ParentNodeID | Title |
| --- | --- | --- |
| 1 | - | General manager |
| 2 | 1 | Country manager |
| 3 | 2 | Region manager |

Önerilen eylem

Genişletilmiş düğümler tablosu oluşturmak için Hiyerarşi önekiyle verilerini yükleyin:

Genişletilmiş düğümler tablosu

| NodeID | ParentNodeID | Title | Level1 | Level2 | Level3 |
| --- | --- | --- | --- | --- | --- |
| 1 | - | General manager | General manager | - | - |
| 2 | 1 | Country manager | General manager | Country manager | - |
| 3 | 2 | Region manager | General manager | Country manager | Region manager |

Hiyerarşik düzeyler hakkında daha fazla bilgi edinmek için bkz. [Hiyerarşi verilerini yükleme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataSource/hierarchies.htm) ve [Hierarchy](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Hierarchy.htm).

## Büyük bir veritabanından yalnızca yeni veya güncellenmiş kayıtları yükleme

Çok sayıda kayda sahip bir veritabanım var ve uygulamamdaki verileri yenilemek için tüm veritabanını yeniden yüklemek istemiyorum. Yalnızca yeni veya güncellenmiş kayıtları yüklemek ve veritabanından silinen kayıtları kaldırmak istiyorum.

Önerilen eylem

QVD dosyalarını kullanarak artışlı yükleme çözümü uygulayın.

Daha fazla bilgi için şuraya bakın: [Yeni ve güncellenmiş kayıtları artışlı yükleme ile yükleme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/use-QVD-files-incremental-load.htm).

## Ortak bir alanı olan iki tablodaki verileri birleştirme

Qlik Sense ortak bir alanı olan tabloları otomatik olarak ilişkilendirecek, ancak tabloların nasıl birleştirildiğini ben kontrol etmek istiyorum.

Önerilen eylem : Join / Keep

Join veya Keep önekleriyle iki tabloyu tek bir dahili tabloda birleştirebilirsiniz.

Daha fazla bilgi için şuraya bakın: [Join ve Keep ile tabloları birleştirme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/combine-tables-join-keep.htm).

Önerilen eylem : Eşleme

Tabloları birleştirmenin alternatifi, eşleme tablosunda ilişkili değerlerin aranmasını otomatik hale getiren eşlemeyi kullanmaktır. Bu, yüklenecek verilerin miktarını azaltabilir.

Daha fazla bilgi için şuraya bakın: [Birleştirmeye alternatif olarak eşlemeyi kullanma](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/use-mapping-as-alternative-join.htm).

## Ayrık değeri dahili değerle eşleme

Ayrık sayısal değerlerden oluşan bir tablom (Event) var ve bunu bir veya daha fazla aralıkla (Start ve End) eşlemek istiyorum.

Ayrık sayısal değerler tablosu (EventEvent)

| Saat | Olay | Yorum |
| --- | --- | --- |
| 00:00 | 0 | 1. vardiya başlangıcı |
| 01:18 | 1 | Hattın durması |
| 02:23 | 2 | Hattın yeniden başlatılması %50 |
| 04:15 | 3 | Hat hızı %100 |
| 08:00 | 4 | 2. vardiya başlangıcı |
| 11:43 | 5 | Bitiş veya üretim |

Aralıklar (StartStart ve End End) içeren tablo

| Başlat | Son | Sıra |
| --- | --- | --- |
| 01:00 | 03:35 | A |
| 02:30 | 07:58 | B |
| 03:04 | 10:27 | C |
| 07:23 | 11:43 | D |

Önerilen eylem

IntervalMatch önekini kullanarak Time alanını Start ve End tarafından tanımlanan aralığa bağlantılandırın.

[Aralıkları ayrık verilerle eşleme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/matching-intervals-to-discrete-data.htm)

Aralık başlangıç ve bitişle açık bir şekilde tanımlanmazsa ve yalnızca aşağıdaki tabloda olduğu gibi değişiklik zaman damgasıyla tanımlanırsa, aralık tablosu oluşturmanız gerekir.

Değişiklik zaman damgası içeren tablo

| Para Birimi | Değişiklik Verileri | Oran |
| --- | --- | --- |
| EUR | - | 8.59 |
| EUR | 28/01/2013 | 8.69 |
| EUR | 15/02/2013 | 8.45 |
| USD | - | 6.50 |
| USD | 10/01/2013 | 6.56 |
| USD | 03/02/2013 | 6.30 |

Daha fazla bilgi için şuraya bakın: [Tek bir tarihten bir tarih aralığı oluşturma](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/create-date-interval-from-single-date.htm).

## Tutarsız alan değerlerini yönetme

Verilerim farklı tablolarda tutarlı bir şekilde adlandırılmamış alan değerleri içeriyor. Örneğin, bir tablo Ülke alanında US değerini, diğeri ise United States değerini içeriyor. Bu durum ilişkilendirmelere engel olur.

Tablo 1

| Ülke | Bölge |
| --- | --- |
| ABD | Maryland |
| ABD | Idaho |
| ABD | New York |
| ABD | Kaliforniya |

Table 2

| Country | Population |
| --- | --- |
| United States | 304 |
| Japan | 128 |
| Brazil | 192 |
| China | 1333 |

Önerilen eylem

Alan değerlerini karşılaştıracak ve doğru ilişkilendirmeler sağlayacak bir eşleme tablosu kullanarak veri temizleme gerçekleştirin.

[Veri temizleme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/data-cleansing.htm)

## Tutarsız alan değeri büyük/küçük harf kullanımını yönetme

Verilerim farklı tablolarda tutarlı bir şekilde biçimlendirilmiş alan değerleri içeriyor. Örneğin, bir tablo Type alanında single değerini, diğeri ise aynı alanda Single değerini içeriyor. Bu durum ilişkilendirmeleri engeller; Type alanı hem single hem de Single değerlerini içerdiğinden büyük/küçük harf kullanımı önemli olur.

Tablo 1

| Tür | Fiyat |
| --- | --- |
| tek | 23 |
| çift | 39 |

Tablo 2

| Tür | Renk |
| --- | --- |
| Tek | Kırmızı |
| Tek | Mavi |
| Çift | Beyaz |
| Çift | Siyah |

Önerilen eylem

Verileri Veri ekle ile yüklediyseniz, bunu veri yöneticisinde düzeltebilirsiniz.

Aşağıdakileri yapın:

1. Veri yöneticisinde, tablo düzenleyicisindekiTable2'yi açın.

2. Type alanının adını Table2.Type olarak değiştirin.

   Tabloyu, veri profili oluşturma etkin durumdayken Veri ekle ile eklediyseniz, otomatik ilişkilendirmeyi önlemek için alan zaten Table2.Type olarak adlandırılmış olabilir. Bu durumda, bu prosedür iki tabloyu ilişkilendirecektir.

3. `Lower(Table2.Type)` ifadesini kullanarak hesaplanan bir alan oluşturun ve Type olarak adlandırın.

4. Veri yükle'ye tıklayın.

Table1 ve Table2, artık yalnızca single ve double gibi küçük harfli değerler içeren Type alanıyla ilişkilendirilmelidir.

Farklı bir büyük/küçük harf kullanımı uygulamak isterseniz, bunu benzer prosedürlerle gerçekleştirebilirsiniz, ancak tabloların aynı ada sahip alanlar kullanılarak ilişkilendirileceğini unutmayın.

* Single gibi tüm değerlerin büyük harfle başlamasını sağlamak için bunun yerine Table1'de hesaplanan Type alanını oluşturun ve `Capitalize(Table1.Type)` ifadesini kullanın.
* SINGLE gibi tüm değerlerin büyük harfle yazılmasını sağlamak için iki tabloda da hesaplanan Type alanını oluşturun ve `Upper(Table1.Type)` ve `Upper(Table2.Type)` ifadelerini kullanın.

Hesaplanan alanlar hakkında daha fazla bilgi edinmek için bkz. [Hesaplanan alanları kullanma](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/add-calculated-field.htm).

Büyük küçük harfe dönüştürme hakkında daha fazla bilgi edinmek için bkz. [Capitalize Komut dosyası ve grafik fonksiyonu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Capitalize.htm), [Lower Komut dosyası ve grafik fonksiyonu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Lower.htm) ve [Upper Komut dosyası ve grafik fonksiyonu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Upper.htm).

## Verileri bir haritayla görselleştirmek için jeo-uzamsal verileri yükleme

Ülke veya mağaza başına satış verileri gibi bir harita kullanarak görselleştirmek istediğim verilerim var. Harita görselleştirmesi kullanmak için alan veya nokta verileri yüklemem gerekiyor.

Önerilen eylem

Bir KML veya Excel dosyasından veri değeri konumlarınızla eşleşen alan ya da konum verilerini yükleyebilirsiniz. Ayrıca, gerçek harita arka planını yüklemeniz gerekir.

Daha fazla bilgi için şuraya bakın: [Kendi harita verilerinizi yükleme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/Map/load-map-data.htm).