Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
Çevrilmiş sürümler, görselin desteklenen dillerinizde okunmasını kolaylaştırır.
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 Date
yerleş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.
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.
Ç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.
Benzer şekilde, Çevrilmiş Gün Adları Tablosu adlı sorgu, haftanın günü adı çevirileri içeren bir tablo oluşturur.
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 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
Ç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.
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.
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ş 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.
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.