Thursday, September 24, 2009

การเปรียบเทียบ Column ใน Analysis Service

เมื่อเรามีข้อมูลหลาย ๆ ช่วงเวลา และต้องการเปรียบเทียบกัน และแสดงผลต่างนั้น ทางที่ดูแล้วง่าย ก็คือเขียน MDX เอง ดีกว่า

ดังนี้

with member [Measures].[Weight] as '([Measures].[Sales] / ([Order Status].Parent, [Measures].[Sales]))', FORMAT_STRING = "#,###.#%"
member [Measures].[Val] as '[Measures].[Sales]', FORMAT_STRING = IIf(([Measures].[Sales] > ([Time].PrevMember, [Measures].[Sales])), "|#|style=green", "|#|style=red")
member [Measures].[Qtd] as '[Measures].[Quantity]', FORMAT_STRING = IIf(([Measures].[Quantity] > ([Time].PrevMember, [Measures].[Quantity])), "|#|style=green", "|#|style=red")
select NON EMPTY (Union({[Time].[All Years]}, [Time].Children) * {[Measures].[Qtd], [Measures].[Val], [Measures].[Weight]}) ON COLUMNS,
NON EMPTY Order([Order Status].Children, [Measures].Value, DESC) ON ROWS
from [SteelWheelsSales]
where ([Product].[All Products], [Markets].[All Markets])


ไม่อธิบายนะครับดูจาก code ก็จะรู้เรื่องดูอยู่แล้ว

No comments: