Continue to learn about MDX!

Source: Internet
Author: User
  • Member percentage Analysis
    Functions: currentmember and parent;
    Analyze the total sales percentage of all cities in each city.
    With member measures. [unit sales percent] as '(store. currentmember, measures. [unit sales])/(store. currentmember. parent, measures. [unit sales]) ', format_string = 'percent'
     
    Select {measures. [unit sales], measures. [unit sales percent]} on columns,
     
    Order (descendants (store .[ USA ]. [Ca], store .[ Store City ], Self), [measures]. [unit sales], ASC) on rows
     
    From sales
  • Key customer Distribution Analysis
    Functions: Count, sum, filter, descendants, etc;
    The number of important customers in each province and their total purchases are analyzed. The "important customer" is defined as a customer's purchase amount or number of purchases reaching or exceeding a certain value.
     
    With member [measures]. [qualified count] As 'count (filter (descendants (MERS MERs. currentmember, [MERs]. [name]), ([measures]. [store sales])> 10000 or ([measures]. [unit sales])> 10 ))'
     
     
    Member [measures]. [qualified sales] As 'sum (filter (descendants (MERS MERs. currentmember, [MERs]. [name]), ([measures]. [store sales])> 10000 or ([measures]. [unit sales])> 10), ([measures]. [store sales])'
     
     
    Select {[measures]. [qualified count], [measures]. [qualified sales]} on columns,
     
    Descendants ([MERs]. [all customers], [State Province], self_and_before) on rows
     
    From sales
     
  • Sort
    Function: Order
    Sort each product category in descending order by store sales indicators, which are classified into intra-dimension Sorting/overall sorting.
    Select {[measures]. [unit sales], [measures]. [store sales]} on columns,
     
    Order ([product]. [product department]. members, [measures]. [store sales], DESC) on rows
     
    From sales
  • Historical cumulative value
    Functions: YTD, sum, and descendants
    Calculate the current year's cumulative value of sales YTD (). Similarly, you can also solve the historical cumulative YTD (), the cumulative MTD () of this month, and the cumulative WTD () of this week, and more general functions periodtodate ().
    With member [measures]. [accumulated sales] As 'sum (YTD (), [measures]. [store sales])'
     
    Select {[measures]. [store sales], [measures]. [accumulated sales]} on columns, {descendants ([time]. [2, 1997], [time]. [month])} on rows
     
    From [warehouse and sales]
  • Arithmetic Operation
    Function: Four arithmetic functions;
    You can perform four arithmetic operations on members and indicators to dynamically derive new members and indicators.
     
    With member measures. profitpercent as '([measures]. [store sales]-[measures]. [store cost])/([measures]. [store cost]) ', format_string = '#. 00%'
     
    Member [time]. [first half 97] as '[time]. [1997]. [Q1] + [time]. [1997]. [Q2]'
     
    Member [time]. [second half 97] as '[time]. [1997]. [Q3] + [time]. [1997]. [Q4]'
     
     
    Select {[time]. [first half 97], [time]. [second half 97], [time]. [1997]. Children} on columns,
     
    {[Store]. [store country]. [USA]. Children} on rows
     
    From [sales]
     
    Where (Measures. profitpercent)
  • Logical judgment
    Function: IIF
    Logical judgment can produce different results based on different conditions. The following example checks whether each store is a big seller of beer and liquor.
     
    With member [product]. [bigseller] As 'iif ([product]. [Drink]. [alcoholic beverages]. [beer and wine]> 100, "yes", "no ")'
     
     
    Select {[product]. [bigseller], [product]. Children} on columns,
     
    {[Store]. [All stores]. [ USA ]. [Ca]. Children} on rows
     
    From sales
  • Member attributes
    Functions: Properties and dimension Properties
    Member attributes are bound to Members, which makes it difficult to select an appropriate method of use. The following is an example of using the member attributes. Each store member lists the store type attributes. The attributes such as the store manager, store size, and store address can also be listed. This method can be used with a little flexibility to solve the problem of displaying the company name> enterprise code in the past.
     
    With member [measures]. [storetype] as '[store]. currentmember. properties ("store type ")',
     
    Member [measures]. [profitpct] as '(measures. [store sales]-measures. [store cost])/measures. [store sales] ', format_string = '##. 00%'
     
     
    Select {descendants ([store]. [USA], [store]. [store name])} on columns,
     
    {[Measures]. [store sales], [measures]. [store cost], [measures]. [storetype], [measures]. [profitpct]} on Rows"
     
    From sales
     
     
    Another usage:
     
    Select {[measures]. [units shipped], [measures]. [units ordered]} on columns,
     
    [Store]. [store name]. Members dimension properties [store]. [store name]. [store type] on rows
     
    From warehouse
  • Complex logic for multi-step computing
     
    Function: can be a logical combination of any function.
     
     
    Find customers who have never bought dairy products. The solution first calculates the total number of dairy products purchased by each customer in the past, and then finds out the customers whose cumulative value is 0. Similarly, in the past, the problem that the tax amount is greater than the average tax amount can be solved similarly.
     
    With member [measures]. [dairy ever] As 'sum ([time]. members, ([measures]. [unit sales], [product]. [food]. [dairy])'
     
    Set [MERs mers who never bought dairy] As 'filter ([Customers]. members, [measures]. [dairy ever] = 0 )'
     
     
    Select {[measures]. [unit sales], [measures]. [dairy ever]} on columns,
     
    [MERs mers who never bought dairy] on rows
     
    From sales
     
  • Period and Period
     
    Function: prevmember, parellelperiod
     
     
    Calculate the sales value of each product for the same period last year and the annual growth rate.
     
    With member [measures]. [store sales last period] as '([measures]. [store sales], time. prevmember) ', format = '#,###. 00'
     
    Member [measures]. [yearly increase rate] as '([measures]. [store sales]-[measures]. [store sales last period])/[measures]. [store sales last period] ', format_string = 'percent'
     
     
    Select {[measures]. [store sales], [measures]. [store sales last period]} on columns,
     
    {[Product]. Members} on rows
     
    From sales
     
    Where ([time]. [1, 1998])
     
     
    In another example, use the parellelperiod function.
     
    With member [measures]. [YTD unit sales] As 'coalesceempty (sum (YTD (), [measures]. [unit sales]), 0) 'member [measures]. [previous YTD unit sales] as '(measures. [YTD unit sales], parallelperiod ([time]. [year])'
     
    Member [measures]. [YTD growth] as '[measures]. [YTD unit sales]-([measures]. [previous YTD unit sales])'
     
     
    Select {[time]. [1998]} on columns,
     
    {[Measures]. [YTD unit sales], [measures]. [previous YTD unit sales], [measures]. [YTD growth]} on rows
     
    From sales;
  • Top NAnalysis
     
    Function: topcount
     
     
    Solve the number of customers who purchased the first five orders in 1998;
     
    Select {[measures]. [store sales]} on columns,
     
    {Topcount ([MERs]. [customer name]. members, 5, [measures]. [store sales])} on rows
     
    From sales
     
    Where ([time]. [1, 1998])
     
  • Member Filtering
     
    Function: filter, limit t
     
     
    The solution is to list the names of eligible customers, the number of yearly purchases, and the amount of yearly purchases.
     
    Select {[measures]. [store sales], [measures]. [unit sales]} on columns,
     
    Filter (customers. [name]. members, [measures]. [store sales]> 10000) on rows
     
    From sales
     
    Whare ([time]. [1, 1998])
     
     
    Another type of member filtering (removing the no media type from all media types) should be set operations.
     
    Select {[measures]. [unit sales]} on columns,
     
    Parameter T ([promotion media]. [media type]. Members, {[promotion media]. [media type]. [no media]}) on rows
     
    From sales
     

Time period
 
Function: Sum, ":" Operator
 
 
Calculate the sales of stores in the United States within a specified period of time.
 
With member [time]. [1997]. [six month] As 'sum ([time]. [1]: [time]. [6])'
 
Member [time]. [1997]. [nine month] As 'sum ([time]. [1]: [time]. [9])'
 
Select {[time]. [1997]. [six month], [time]. [1997]. [nine month]} on columns,
 
{[Measures]. [store salse]} on rows
 
From sales
 
Where ([store]. [USA])

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.