Ekinlikler
31 Mar 23 - 2 Nis 23
Microsoft Fabric, Power BI, SQL ve yapay zeka topluluğu tarafından yönetilen nihai etkinlik. 31 Mart - 2 Nisan 2025.
Bugün kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Power BI and Excel gibi raporlama istemcileri, raporda görseller her görüntülendiğinde DAX sorgular yürütür or tabloya eklenen bir alanı andfilter uygulandığında bu DAX sorguları ayarlanır. Power BI Desktop'taki performans çözümleyicisi size bu DAX sorgularını gösterebilir andeven bunları DAX sorgu görünümünde çalıştırabilir.
Power BI Desktop'ta DAX sorgu görünümü kullanarak orPower BI hizmetinde DAX yazma sorguları oluşturabilir and kendi DAX sorgularınızı çalıştırabilirsiniz.
DAX sorgular, sonuçları araç içinde bir tablo right olarak döndürerek, ölçütlerde DAX formüllerinizin performansını hızla oluşturmanıza, test etmenize and ve yalnızca anlamsal modelinizdeki verileri görüntülemenize or olanak sağlar. BİlGİ and BİlGİ. VIEW DAX işlevleri, tablo, sütun, ölçü and çok daha fazlasını içeren bir liste gibi anlamsal modeliniz hakkında da bilgi alabilir.
Sorgular hakkında bilgi edinmeden önce DAX temel bilgileri iyi anlamanız önemlidir. Henüz yapmadıysanız, DAXgenel bakışına If göz attığınızdan emin olun.
DAX sorgularının, tek bir gerekli anahtar sözcük olan EVALUATEile oluşan basit bir söz dizimi vardır. EVALUATE, çalıştırıldığında bir sonuç tablosunun çıkışını veren DAX işlevi or tablo adı gibi bir tablo ifadesi izler. Sonuç tablosunun çıkışını veren tablo ifadeleri şunlardır:
DAX sorgularına özgü birkaç isteğe bağlı anahtar sözcük vardır: ORDER BY, START AT, DEFINE, MEASURE, VAR, TABLE, and COLUMN.
En temel düzeyde DAX sorgu, tablo ifadesi içeren bir EVALUATE
deyimidir. En az bir EVALUATE deyimi gereklidir, ancak sorgu herhangi bir sayıda EVALUATEstatementsiçerebilir.
EVALUATE <table>
Terim | Tanım |
---|---|
table |
Bir tablo ifadesi. |
EVALUATE
'Sales Order'
all satır, and sütun ile Sales Order tablosundan sonuç tablosu döndürür. Bu, ORDER BYile sıralanmış andTOPNorFILTERkullanımıyla sınırlandırılabilir.
İsteğe bağlı ORDER BY
anahtar sözcüğü, sorgu sonuçlarını sıralamak için kullanılan sorgu or ifadelerinde bir or daha fazla sütun tanımlar. Sonucun her satırı için değerlendirilebilecek tüm ifadeler geçerlidir. Sorgudaki herhangi bir sütun da geçerlidir.
Anlam modellerindeki sütun özelliğine göre sıralama, DAX sorgu sonuçlarına not uygulanır. If bir sütun modelde farklı bir sütuna göre sıralanmalıdır; örneğin, Month Adı söz konusu olduğunda, sütuna göre sıralama, ORDER BYkullanılacak DAX sorgusuna da eklenmelidir.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]]
Terim | Tanım |
---|---|
expression |
Herhangi bir DAX ifadesi, DAX sorgusuna dahil edilen or sütununu içeren tek bir skaler valuedöndürüyor. |
ASC |
(varsayılan) Artan sıralama düzeni. |
DESC |
Azalan sıralama düzeni. |
EVALUATE
SUMMARIZECOLUMNS(
// Group by columns
'Date'[Month Name],
'Date'[Month of Year],
'Product'[Category],
// Optional filters
FILTER(
VALUES('Product'[Category]),
[Category] = "Clothing"
),
// Measures or explicit DAX formulas to aggregate and analyze the data by row
"Orders", [Orders],
"Avg Profit per Order", DIVIDE(
[Total Sales Profit],
[Orders]
)
)
// DAX queries do not use sort order defined in Power BI,
// sort by columns must be included in the DAX query to be used in order by
ORDER BY 'Date'[Month of Year] ASC
Sonuç tablosu olarak, giyim siparişlerini sipariş başına andaverage karla, monthartan düzende ve montholarak döndürür.
TOPN, ORDER BYiçinde belirtilen sıralama düzenine göre döndürülecek satır sayısını not seçer. Bunun yerine, TOPN kendi söz dizimiyle, isteğe bağlı olarak, ilk 100 satır döndürülmeden önce bir sıralama belirtir. ORDER BY yalnızca TOPNtarafından döndürülen sonuç tablosunu sıralar.
EVALUATE
TOPN(
100,
'Sales Order',
// The way the data is sorted before the top 100 rows are selected
'Sales Order'[SalesOrderLineKey], ASC
)
// The way the data is sorted for the results
ORDER BY
'Sales Order'[Sales Order] ASC,
'Sales Order'[Sales Order Line] ASC
SalesOrderLienKey'e göre artan düzende sıralanmış ilk 100 satış siparişini döndürür, ardından sonuçları satış siparişine göre first ve ardından satış siparişi satırına göre sıralar.
İsteğe bağlı START AT
anahtar sözcüğü bir ORDER BY
yan tümcesi içinde kullanılır. Sorgu sonuçlarının başladığı yeri value olarak tanımlar.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]
[START AT {<value>|<parameter>} [, …]]]
Terim | Tanım |
---|---|
value |
Sabit bir value. İfade olarak kullanılamaz. |
parameter |
@ karakteri ön ekli XMLA ifadesindeki parametrenin adı. |
START AT bağımsız değişkenlerin ORDER BY yan tümcesindeki sütunlarla birebir karşılığı vardır. START AT yan tümcesinde ORDER BY yan tümcesinde olduğu kadar çok bağımsız değişken olabilir, ancak daha fazla not. first argümanı, START AT'de ORDER BY sütunlarının 1. sütunundaki başlangıç value'yi tanımlar. START AT'deki second bağımsız değişkeni, 1. sütun için firstvalue karşılayan satırlardaki ORDER BY sütunlarının 2. sütunundaki başlangıç value'yi tanımlar.
EVALUATE
'Sales Order'
ORDER BY 'Sales Order'[Sales Order] ASC
// Start at this order, orders before this order will not be displayed
START AT "SO43661"
Satış Siparişleri tablosundaki all sütunları, SO43661 numaralı siparişten başlayarak Satış Siparişine göre artan düzende döndürülür. Bu satış siparişinden önceki satırlar, sonuç tablosuna not dâhil edilir.
İsteğe bağlı DEFINE
anahtar sözcüğü, yalnızca sorgunun duration için var olan bir or daha fazla hesaplanmış varlık tanımı sağlar.
EVALUATE
aksine, bir DAX sorgusunda birden fazla or tanım içeren yalnızca bir DEFINE
blok olabilir.
DEFINE
, sorgudaki allEVALUATEstatements için geçerli andfirstEVALUATE
deyiminden önce olmalıdır. Tanımlar değişkenler, ölçüler, tablolar1, and sütunlar1olabilir. Tanımlar, mevcut tanımdan sonra ve or'dan önce görünen diğer tanımlara başvurabilir.
DEFINE
anahtar sözcüğü bir sorguya dahil if en az bir tanım gereklidir.
DEFINE MEASURE
, yeni ölçüler oluşturmak or mevcut ölçüleri anlamsal bir modelde düzenlemek için yaygın bir senaryodur.
measure modelde zaten mevcut olduğunda, DAX sorgusu sorguda tanımlanan measureDAX formülünü kullanır. Bu, modeli güncelleştirmeden önce ölçüleri DAX sorguyla test etme konusunda yararlıdır.
DEFINE MEASURE
, özel bir DAX sorgusu için DAX formüllerle ek analiz oluşturmanıza, model ekleme izninizin not olduğu durumlarda, measureor modelde olması not gerektiğinde de yardımcı olur.
[DEFINE
(
(MEASURE <table name>[<measure name>] = <scalar expression>) |
(VAR <var name> = <table or scalar expression>) |
(TABLE <table name> = <table expression>) |
(COLUMN <table name>[<column name>] = <scalar expression>) |
) +
]
(EVALUATE <table expression>) +
Terim | Tanım |
---|---|
Entity |
MEASURE, VAR, TABLE1, or COLUMN1. |
name |
measure, var, tablo or sütun tanımının adı. Bu bir ifade olamaz. Adın benzersiz olması not. Ad yalnızca sorgunun duration için var. |
expression |
skaler valueor tablo döndüren herhangi bir DAX ifadesi. İfade tanımlı varlıklardan herhangi birini kullanabilir.
If bir skaler ifadeyi tablo ifadesine convert, ifadeyi {} küme ayraçlarıyla bir tablo oluşturucusunun içine sarmalamanız or tek satırlı bir tablo döndürmek için ROW() işlevini kullanın. |
[1]Dikkat: Sorgu kapsamlı TABLE and COLUMN tanımları yalnızca iç kullanım içindir. Söz dizimi errorolmayan bir sorgu için TABLE and COLUMN ifadelerini define kullanabilirsiniz, ancak bunlar çalışma zamanı hataları oluşturabileceğinden and önerilmez not.
DAX sorguda birden çok EVALUATEstatementsolabilir, ancak yalnızca bir DEFINE deyimi bulunabilir. DEFINE deyimindeki tanımlar sorgudaki herhangi bir EVALUATEstatements'ye uygulanabilir.
DEFINE deyiminde en az bir tanım gereklidir.
Bir sorgu için Measure tanımları aynı ada sahip model ölçülerini geçersiz kılar, ancak yalnızca sorgu içinde kullanılır. not modeli measureetkileyecek.
VAR adların özgün kısıtlamaları vardır. Daha fazla bilgi için bkz. VAR - Parametreler.
DEFINE
VAR _firstyear = MIN('Date'[Fiscal Year])
VAR _lastyear = MAX('Date'[Fiscal Year])
TABLE 'Unbought products' = FILTER('Product', [Orders] + 0 = 0)
COLUMN 'Unbought products'[Year Range] = _firstyear & " - " & _lastyear
MEASURE 'Unbought products'[Unbought products] = COUNTROWS('Unbought products')
EVALUATE
'Unbought products'
EVALUATE
{[Unbought products]}
DAX sorgusunda tanımlanan tabloyu döndürerek, satın alınmamış ürünleri tanımlı değişkenlere göndermede bulunan ek bir sütunla gösterir. Bir measure ayrıca tanımlanır ve count satın alınmamış ürünlerin satırları and değerlendirilir.
DEFINE
MEASURE 'Pick a sales measure'[Orders] = DISTINCTCOUNT('Sales Order'[Sales Order])
MEASURE 'Pick a sales measure'[Customers] = CALCULATE(
COUNTROWS(Customer),
FILTER(
'Sales',
[Orders] > 0
)
)
MEASURE 'Pick a sales measure'[Orders per Customer] = DIVIDE(
[Orders],
[Customers],
0
)
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Fiscal Year],
"Orders", [Orders],
"Customers", [Customers],
"Orders per Customer", [Orders per Customer]
)
Mali yeargöre sonuçları göstermek için üç tanımlı ölçüleri değerlendiren bir tablo döndürür. All ölçüleri modelde de bulunur, and Müşteri Başına Siparişler DAX sorgusunda değiştirilmiştir.
İyi tanımlanmış bir DAX sorgu deyimi parametreleştirilebilir and ardından and üzerinden parametresindeki değişikliklerle values.
Yürütme Yöntemi (XMLA) yönteminde, parametrelerin valueatanmasına and tanımlanmasına izin veren bir Parameters Öğesi (XMLA) koleksiyon öğesi vardır. Koleksiyonda, her Parametre Öğesi (XMLA) öğesi, parametrenin adını and bir value tanımlar.
Parametrenin adını bir @
karakteriyle ön ekleyerek XMLA parametrelerine başvurun. Söz diziminde bir value'ın izin verildiği herhangi bir yerde, value bir parametre çağrısıyla değiştirilebilir.
All XMLA parametreleri metin olarak yazılır.
Önemli
XMLA'da error yanıtında, generate<STATEMENT>
öğesinde kullanılan andnot parametreler, parametreler bölümünde tanımlanmıştır.
XMLA'da <Parameters>
öğesi generate içinde error yanıtında tanımlanan andvenot parametreleri kullanılır.
Ekinlikler
31 Mar 23 - 2 Nis 23
Microsoft Fabric, Power BI, SQL ve yapay zeka topluluğu tarafından yönetilen nihai etkinlik. 31 Mart - 2 Nisan 2025.
Bugün kaydolunEğitim
Öğrenme yolu
Power BI Desktop'ta DAX kullanma - Training
Bu öğrenme yolunda Veri Çözümleme İfadeleri (DAX) tanıtılıyor ve hesaplamalarla anlamsal modelleri geliştirmek için gereken temel beceriler sağlanmaktadır. Öncelikle Power BI Desktop model yapısını inceleyecek ve DAX hesaplamalarıyla nasıl iyileştirebileceğinizi öğreneceksiniz. Daha sonra DAX formülü yazmayı ve hesaplanmış tablolar ve sütunların yanı sıra ölçüler gibi farklı model türü hesaplamalarını öğreneceksiniz. Değerlendirme bağlamları hakkında bilgi edinecek ve ilerleyen derslerde filtre bağlamını de
Sertifikasyon
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Demonstrate methods and best practices that align with business and technical requirements for modeling, visualizing, and analyzing data with Microsoft Power BI.