2013-08-21 5 views
5

SQL में मैं कुछ इस तरह का उपयोग कर एक विशेष स्ट्रिंग के मैचों के लिए एक कॉलम खोज करना चाहते:MDX बराबर पसंद करने के लिए

SELECT t.attributeNAME 
FROM myTable t 
WHERE t.attributeNAME LIKE '%searchString%' 

मैं उपयोग करने के लिए है कि एक अस्थायी तालिका में पसंद कर सकते हैं और फिर बाद में में परिणाम का उपयोग इसलिए जैसे लंबे स्क्रिप्ट के वर्गों:

--find the keys 
SELECT t.attributeKEY 
INTO #Temp 
FROM myTable t 
WHERE t.attributeNAMELIKE '%searchString%' 

--use the keys 
SELECT SUM(f.measure) 
FROM myFacts f 
    INNER JOIN #Temp t ON 
    f.attributeKEY = t.attributeKEY 

--use the keys again 
SELECT SUM(F.measure) 
FROM myOtherFacts F 
    INNER JOIN #Temp t ON 
    F.attributeKEY = t.attributeKEY 

वहाँ MDX में यह करने के लिए एक समान है? अगर मुझे पता है कि पदानुक्रम से कौन सी चीजें हैं जो मैं कर सकता हूं तो क्या मैं किसी भी प्रकार की खोज स्ट्रिंग का उपयोग किसी विशिष्ट सेट को फ़िल्टर करने के लिए कर सकता हूं?


संपादित

के रूप में मार्क Polizzi द्वारा बताया जवाब देने ऐसा लगता है instr की तरह इस स्थिति में बहुत उपयोगी है और मैं निम्नलिखित कर सकते हैं:

CREATE SET [xCube].[Set_Names] AS 
    {FILTER(
    [xDimension].[xHierarchy].[xLevel].Members, 
    (InStr(1, [xDimension].[xHierarchy].CurrentMember.NAME, "WIL") <> 0) 
     ) 
     } 

GO 

SELECT 
    NON EMPTY 
      [Set_Names] 
    ON ROWS, 
    NON EMPTY 
      [Measures].[x] 
    ON COLUMNS 
FROM [xCube] 

GO 

SELECT 
    NON EMPTY 
      [Set_Names] 
    ON ROWS, 
    NON EMPTY 
      [Measures].[y] 
    ON COLUMNS 
FROM [xCube] 

GO 

SELECT 
    NON EMPTY 
      [Set_Names] 
    ON ROWS, 
    NON EMPTY 
      [Measures].[z] 
    ON COLUMNS 
FROM [xCube] 

उत्तर

2

आप करने में सक्षम हो सकता है Instr फ़ंक्शन का उपयोग करें भले ही यह वाइल्डकार्ड का समर्थन न करे।

+0

+1 ठीक - मेरे चारों ओर खेलते हैं और ओपी मार्क करने के प्रयास में जोड़ें। – whytheq

+0

- हाल ही में यह अन्य एमडीएक्स प्रश्न मार्क जोड़ा गया: [SO QUESTION] (http://stackoverflow.com/questions/18375416/test-if-a-set-exists-before-trying-to-drop-it?noredirect=1 # टिप्पणी 27019375_18375416) – whytheq

+0

@whytheq: प्रश्न की जांच की - कोई विचार नहीं है कि यह संभव है। –

1

सादा MDX में like तरह जैसी कोई चीज नहीं है, लेकिन वहां ASSP परियोजना में एक कार्यान्वयन है: http://asstoredprocedures.codeplex.com/wikipage?title=StringFilters&referringTitle=Home

+0

मुझे संदेह है कि हमारे प्रशासक इस कोड को स्थापित नहीं करना चाहते हैं - लेकिन धन्यवाद (+1) वैसे भी यह एक संभावित भविष्य संदर्भ जैसा दिखता है – whytheq

संबंधित मुद्दे