Aracılığıyla paylaş


Takvim tablosu için veri çevirileri uygulama

Veri çevirileri uyguluyorsanız, takvim tablolarındaki metin tabanlı sütunlar için çeviri desteği ekleyebilirsiniz. Bu tablolarda ay adları veya haftanın günleri için çeviriler yer alır. Bu yaklaşım, gün veya aylardan bahseden görseller oluşturmanıza olanak tanır.

Ay ve gün adlarını görüntüleyen rapor görsellerini gösteren ekran görüntüsü.

Çevrilmiş sürümler, görselin desteklenen dillerinizde okunmasını kolaylaştırır.

Yerelleştirilmiş ay ve gün adlarını gösteren rapor görsellerini gösteren ekran görüntüsü.

Takvim tablosu sütun çevirileri için bu makaledeki stratejide Power Query ve M sorgu dili kullanılır. Power Query, bir parametreyi kabul Date.MonthName eden ve metin tabanlı takvim adı döndüren gibi Dateyerleşik işlevler sağlar. .pbix projenizde varsayılan dil ve yerel ayar olarak en-US varsa, aşağıdaki Power Query işlev çağrısı Ocak'ın metin tabanlı değerini değerlendirir.

Date.MonthName( #date(2023, 1, 1) )

İşlev, Date.MonthName belirli bir dili ve yerel ayarı geçirmek için ikinci, isteğe bağlı bir dize parametresini kabul eder.

Date.MonthName( #date(2023, 1, 1), "en-US")

Ay adını Fransızcaya çevirmek istiyorsanız fr-FR metin değerini geçirebilirsiniz.

Date.MonthName( #date(2022, 12, 1), "fr-FR")

Takvim çevirisi tablosu oluşturma

Önceki örneklerde kullanılan Languages tablosuna bakın. Bir DefaultCulture sütunu içerir.

Varsayılan kültür sütunu olan Languages tablosunu gösteren ekran görüntüsü.

Power Query, M adlı işlevsel bir sorgu dili üzerine kurulmuştur. Bu dille, hangi dilleri ve projenin hangi varsayılan kültürleri desteklediğini keşfetmek için Languages tablosunun satırlarında yineleme yapabilirsiniz. Ayların veya haftanın günlerinin adlarını içeren bir takvim çevirisi tablosu oluşturmak için kaynak olarak Languages tablosunu kullanan bir sorgu yazabilirsiniz.

Diyagramda, ay ve gün adı tabloları oluşturmak için Power Query dönüşümünün kaynağı olarak kullanılan Diller tablosu gösterilir.

Çevrilmiş Ay Adları Tablosunu oluşturan M kodu aşağıdadır.

let
  Source = #table( type table [ MonthNumber = Int64.Type ], List.Split({1..12},1)),
  Translations = Table.AddColumn( Source, "Translations",
    each
      [ MonthDate = #date( 2022, [ MonthNumber ], 1 ),
        Translations = List.Transform(Languages[DefaultCulture], each Date.MonthName( MonthDate, _ ) ),
        TranslationTable = Table.FromList( Translations, null ),
        TranslationsTranspose = Table.Transpose(TranslationTable),
        TranslationsColumns = Table.RenameColumns(
          TranslationsTranspose,
          List.Zip({ Table.ColumnNames( TranslationsTranspose ),
            List.Transform(Languages[Language],
            each "MonthNameTranslations" & _ ) })
          )
      ]
  ),
  ExpandedTranslations = Table.ExpandRecordColumn(Translations,
                                                  "Translations",
                                                  { "TranslationsColumns" },
                                                  { "TranslationsColumns" }),
  ColumnsCollection = List.Transform(Languages[Language], each "MonthNameTranslations" & _ ),
  ExpandedTranslationsColumns = Table.ExpandTableColumn(ExpandedTranslations,
                                                        "TranslationsColumns",
                                                        ColumnsCollection,
                                                        ColumnsCollection ),
  TypedColumnsCollection = List.Transform(ColumnsCollection, each {_, type text}),
  QueryOutput = Table.TransformColumnTypes(ExpandedTranslationsColumns, TypedColumnsCollection)
in
  QueryOutput

İpucu

Projenize takvim çevirisi tabloları eklemeniz gerektiğinde ProductSalesMultiLanguage.pbix örneğinden M kodunu kopyalayıp yapıştırabilirsiniz.

Languages tablosu İngilizce, İspanyolca, Fransızca ve Almanca için dört satır içeriyorsa, Çevrilmiş Ay Adları Tablosu sorgusu aşağıdaki ekran görüntüsünde gösterildiği gibi dört çeviri sütunu içeren bir tablo oluşturur.

Çevrilmiş Ay Adları Tablosu sorgusunu ve oluşturduğu tabloyu gösteren ekran görüntüsü.

Benzer şekilde, Çevrilmiş Gün Adları Tablosu adlı sorgu, haftanın günü adı çevirileri içeren bir tablo oluşturur.

Çevrilmiş Gün Adları Tablosu sorgusunu ve oluşturduğu tabloyu gösteren ekran görüntüsü.

Translated Month Names Table ve Translated Day Names Table adlı iki sorgu genel olacak şekilde yazılmıştır. Bunlar sabit kodlanmış sütun adı içermez. Bu sorgular, gelecekte projeye dil eklediğinizde veya kaldırdığınızda herhangi bir değişiklik gerektirmez. Tek yapmanız gereken sorgudaki veri satırlarını güncelleştirmektir.

Sıralama Düzeni bloğunda dillerin seçili olduğu Gelişmiş Düzenleyici gösteren ekran görüntüsü.

Sıralama değerlerini yapılandırma

Bu iki sorguyu ilk kez çalıştırdığınızda, anlam modelinde Çevrilmiş Ay Adları Tablosu ve Çevrilmiş Gün Adları Tablosu adlarıyla iki tablo oluştururlar. Her dil için bir çeviri sütunu vardır. Çeviri sütunlarının her biri için sıralama sütununu yapılandırmanız gerekir:

  • Çeviri Ay Adları Tablosundaki çeviri sütunlarını MonthNumber sıralama sütununu kullanacak şekilde yapılandırın
  • Çevrilmiş Gün Adları Tablosundaki çeviri sütunlarını DayNumber sıralama sütununu kullanacak şekilde yapılandırın

Ay numarasına göre sıralanacak şekilde ayarlanan ay adlarının bir sütununu gösteren ekran görüntüsü.

Çeviri tablolarını tümleştirme

Sonraki adım, iki tabloyu bir Takvim tablosuyla veri modeliyle tümleştirmektir. Takvim tablosu, aşağıdaki Veri Çözümleme İfadeleri (DAX) ifadesini temel alan hesaplanmış bir tablodur.

DAX kodunu içeren tabloyu gösteren ekran görüntüsü.

Takvim tablosu ileolgu tabloları arasında bire çok ilişki oluşturmak için Tarih sütununu kullanarak Salesgibi bir ilişki oluşturun. Takvim tablosu ve iki çeviri tablosu arasında oluşturulan ilişkiler MonthNumber sütununu ve DayNumber sütununu temel alır.

Takvim tablosuyla bir ilişkide Çevrilmiş Ay Adları tablosunu içeren Model görünümünü gösteren ekran görüntüsü.

Takvim tablosuyla gerekli ilişkileri oluşturduktan sonra, iki takvim çevirisi tablosunun her biri için yeni bir alan parametresi oluşturun. Takvim çevirisi tablosu için alan parametresi oluşturmak, daha önce gösterilen ürün adları ve kategori adları için alan parametrelerini oluşturmak gibidir.

Çevrilmiş Ay Adları tablosunun Tablo görünümünü gösteren ekran görüntüsü.

Dil filtreleme stratejisinin beklendiği gibi çalıştığından emin olmak için bu yeni alan parametre tabloları ile Languages tablosu arasında bir ilişki ekleyin.

Çevrilmiş birkaç tabloyla ilişkili Diller tablosunu gösteren ekran görüntüsü.

Çevrilmiş Ay Adları ve Çevrilen Gün Adları için alan parametrelerini oluşturduktan sonra kartezyen görselleri, tabloları ve matrisleri kullanarak bunları bir raporda ortaya çıkarmaya başlayabilirsiniz.

Ekran görüntüsü, görseldeki x ekseni için Gün değerini gösterir.

Her şeyi ayarladıktan sonra, diller arasında geçiş yapmak ve haftanın ay ve günlerinin adlarının çevirilerinin beklendiği gibi çalıştığını doğrulamak için Diller tablosundaki rapor düzeyi filtresini kullanarak çalışmanızı test edebilirsiniz.

Bir dilin seçili olduğu bir filtreyi ve seçimi yansıtan görselleri gösteren ekran görüntüsü.