AMcoder - javascript, python, java, html, php, sql

Ստեղծեք խորանարդի հաշվարկ SSAS-ում՝ օգտագործելով MDX քաղվածք՝ ամսական թիրախը ամենօրյա մակարդակին բաշխելու համար

Ես թիրախների համար ունեմ խորանարդի փաստերի աղյուսակ, թիրախները ամսական մակարդակի վրա են (հունվար = 300, փետր = 450, մար = 350 և այլն)

Սա միացված է իմ խորանարդի ամսաթվի չափին, երբ օգտագործվում է ամիսը որպես միացում, սակայն հատիկի չափերը օրվա մակարդակում են:

Այն, ինչ ես ուզում եմ անել, այնպիսի հաշվարկ է ստեղծել, որ ամսական թիրախը հավասարապես բաշխվի ամսվա օրերին, որպեսզի հունվարի յուրաքանչյուր օր ունենա 300/31 փետրվարի 450/28 և այլն:

Այնուհետև ես ուզում եմ կարողանամ օգտագործել այս հաշվարկված չափումը որպես իմ թիրախ և այն հասանելի դարձնել որպես օրական/ամսական/եռամսյակային/տարեկան թիրախ:

Կարծում եմ, որ դա հնարավոր կլինի MDX հայտարարությամբ (կամ գուցե մի քանիսը օգտագործելով մի քանի հաշվարկված չափումներ), բայց ես այդքան էլ ծանոթ չեմ դրան:

Այսպիսով, այս մոտեցումը կաշխատի և ինչպիսի՞ն կլիներ mdx-ը:

Շնորհակալություն

11.12.2012

Պատասխանները:


1

Եթե ​​դուք կարող եք փոփոխություններ կատարել ձեր աղբյուրի OLTP/բեմադրման տվյալների բազայում, ապա լավագույնը կլինի փոխել ձեր Targets փաստերի աղյուսակը ամենօրյա, եթե ձեզ անհրաժեշտ է այդ մակարդակում զեկուցել: Դուք կարող եք դա անել այն տեսակետից, եթե ձեր OLTP տվյալների բազայում ունեք ամսաթվի չափման աղյուսակ՝ միացնելով ձեր ամսական փաստերի աղյուսակը ձեր ամսաթվի չափմանը ամսվա հատկանիշով և այնուհետև հավասարաչափ բաշխելով թիրախային արժեքը ամսվա օրերի վրա:

Եթե ​​դուք օգտագործում եք SQL Server, և ձեր OLTP սխեման հետևյալն է.

CREATE TABLE dimDate (
    Date Date,
    YearMonth Integer,
    ...
)

CREATE TABLE factMonthlyTarget (
   YearMonth Integer,
   Value Integer,
   ...
)

Ձեր նոր փաստի տեսակետը նման կլինի հետևյալին.

CREATE VIEW factDailyTarget AS
   SELECT 
      dimDate.Date,
      factMonthlyTarget.Value / Months.DaysPerMonth AS Value
   FROM
      factMonthlyTarget, 
      dimDate, 
      (
         SELECT YearMonth, COUNT(*) AS DaysPerMonth
         FROM dimDate
         GROUP BY YearMonth
      ) Months
   WHERE factMonthlyTarget.YearMonth = Months.YearMonth
         AND Months.YearMonth = dimDate.YearMonth
12.12.2012
  • Շնորհակալություն Ես դա անելու հնարավորություն ունեմ, այնպես որ ես կփորձեմ սա: 13.12.2012
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..