Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi yang ditetapkan mengambil set dari dimensi, hierarki, tingkat, atau dengan melintasi lokasi absolut dan relatif anggota dalam objek ini, membangun set dengan berbagai cara.
Atur fungsi, seperti fungsi anggota dan fungsi tuple, sangat penting untuk menegosiasikan struktur multidmensional yang ditemukan di Analysis Services. Mengatur fungsi juga penting untuk mendapatkan hasil dari kueri Ekspresi Multidimensi (MDX) karena mengatur ekspresi menentukan sumbu kueri MDX.
Salah satu fungsi set yang paling umum adalah fungsi Anggota (Set) (MDX), yang mengambil set yang berisi semua anggota dari dimensi, hierarki, atau tingkat. Berikut ini adalah contoh penggunaannya dalam kueri:
SELECT
//Returns all of the members on the Measures dimension
[Measures].MEMBERS
ON Columns,
//Returns all of the members on the Calendar Year level of the Calendar Year Hierarchy
//on the Date dimension
[Date].[Calendar Year].[Calendar Year].MEMBERS
ON Rows
FROM [Adventure Works]
Fungsi lain yang umum digunakan adalah fungsi Crossjoin (MDX). Ini mengembalikan satu set tuple yang mewakili produk kartesius dari set yang diteruskan ke dalamnya sebagai parameter. Dalam istilah praktis, fungsi ini memungkinkan Anda membuat sumbu 'berlapis' atau 'di-crosstabbed' dalam kueri:
SELECT
//Returns all of the members on the Measures dimension
[Measures].MEMBERS
ON Columns,
//Returns a set containing every combination of all of the members
//on the Calendar Year level of the Calendar Year Hierarchy
//on the Date dimension and all of the members on the Category level
//of the Category hierarchy on the Product dimension
Crossjoin(
[Date].[Calendar Year].[Calendar Year].MEMBERS,
[Product].[Category].[Category].MEMBERS)
ON Rows
FROM [Adventure Works]
Fungsi Descendants (MDX) mirip dengan fungsi Children , tetapi lebih kuat. Ini mengembalikan turunan anggota mana pun pada satu atau beberapa tingkat dalam hierarki:
SELECT
[Pengukuran]. [Jumlah Penjualan Internet]
Kolom AKTIF,
Mengembalikan set yang berisi semua Tanggal di bawah Tahun Kalender
2004 dalam hierarki Kalender dimensi Tanggal
TURUNAN(
[Tanggal]. [Kalender]. [Tahun Kalender].&[2004]
, [Tanggal]. [Kalender]. [Tanggal])
Baris ON
FROM [Adventure Works]
Fungsi Order (MDX) memungkinkan Anda untuk memesan konten set dalam urutan naik atau turun sesuai dengan ekspresi numerik tertentu. Kueri berikut mengembalikan anggota yang sama pada baris seperti kueri sebelumnya, tetapi sekarang memesannya dengan ukuran Jumlah Penjualan Internet:
SELECT
[Measures].[Internet Sales Amount]
ON Columns,
//Returns a set containing all of the Dates beneath Calendar Year
//2004 in the Calendar hierarchy of the Date dimension
//ordered by Internet Sales Amount
ORDER(
DESCENDANTS(
[Date].[Calendar].[Calendar Year].&[2004]
, [Date].[Calendar].[Date])
, [Measures].[Internet Sales Amount], BDESC)
ON Rows
FROM [Adventure Works]
Kueri ini juga menggambarkan bagaimana set dikembalikan dari satu fungsi yang ditetapkan, Turunan, dapat diteruskan sebagai parameter ke fungsi set lain, Order.
Memfilter set sesuai dengan kriteria tertentu sangat berguna saat menulis kueri, dan untuk tujuan ini Anda dapat menggunakan fungsi Filter (MDX), seperti yang ditunjukkan dalam contoh berikut:
SELECT
[Measures].[Internet Sales Amount]
ON Columns,
//Returns a set containing all of the Dates beneath Calendar Year
//2004 in the Calendar hierarchy of the Date dimension
//where Internet Sales Amount is greater than $70000
FILTER(
DESCENDANTS(
[Date].[Calendar].[Calendar Year].&[2004]
, [Date].[Calendar].[Date])
, [Measures].[Internet Sales Amount]>70000)
ON Rows
FROM [Adventure Works]
Ada fungsi lain yang lebih canggih yang memungkinkan Anda memfilter set dengan cara lain. Misalnya, kueri berikut menunjukkan fungsi TopCount (MDX) mengembalikan item n teratas dalam satu set:
SELECT
[Measures].[Internet Sales Amount]
ON Columns,
//Returns a set containing the top 10 Dates beneath Calendar Year
//2004 in the Calendar hierarchy of the Date dimension by Internet Sales Amount
TOPCOUNT(
DESCENDANTS(
[Date].[Calendar].[Calendar Year].&[2004]
, [Date].[Calendar].[Date])
,10, [Measures].[Internet Sales Amount])
ON Rows
FROM [Adventure Works]
Akhirnya dimungkinkan untuk melakukan sejumlah operasi set logis menggunakan fungsi seperti fungsi Intersect (MDX), Union (MDX) dan Except (MDX). Kueri berikut menunjukkan contoh dua fungsi terakhir:
SELECT
//Returns a set containing the Measures Internet Sales Amount, Internet Tax Amount and
//Internet Total Product Cost
UNION(
{[Measures].[Internet Sales Amount], [Measures].[Internet Tax Amount]}
, {[Measures].[Internet Total Product Cost]}
)
ON Columns,
//Returns a set containing all of the Dates beneath Calendar Year
//2004 in the Calendar hierarchy of the Date dimension
//except the January 1st 2004
EXCEPT(
DESCENDANTS(
[Date].[Calendar].[Calendar Year].&[2004]
, [Date].[Calendar].[Date])
,{[Date].[Calendar].[Date].&[915]})
ON Rows
FROM [Adventure Works]
Lihat Juga
Fungsi (Sintaks MDX)
Menggunakan Fungsi Anggota
Menggunakan Fungsi Tuple