Tuesday, February 22, 2011

MDX Overwrite Semantics and Complex Attribute Relationship

The past month has been extremely busy for me so I didn’t get to write more blogs. Today we’ll resume the exploration of MDX calculation engine. In this post I am going to describe a common mistake made by people when writing MDX calculations that can be very hard to diagnose.

WARNING: The MDX overwrite behavior I am going to describe in this post applies to overwriting to a physical member or the [All] member. Overwriting to a calculated member has its own set of rules which are not covered here.
An Example
Let’s start with a simple example using Adventure Works DW 2008 database. First create a calculated measure, [m], that returns [Internet Sales Amount] for the first quarter of fiscal year 2004.
create member [Adventure Works].[Measures].[m] as
([Internet Sales Amount], [Date].[Fiscal].[Fiscal Quarter].[Q1 FY 2004])

Next send a query to check the value of [m].
select [m] on 0
from [Adventure Works]

m
$2,744,340.48


Now send another query calculating [m] but start with different calendar quarters.
select [m] on 0,
[Date].[Calendar].[Calendar Quarter].members on 1
from [Adventure Works]


m
Q3 CY 2001
(null)
Q4 CY 2001
(null)
Q1 CY 2002
(null)
Q2 CY 2002
(null)
Q3 CY 2002
(null)
Q4 CY 2002
(null)
Q1 CY 2003
(null)
Q2 CY 2003
(null)
Q3 CY 2003
$2,744,340.48
Q4 CY 2003
(null)
Q1 CY 2004
(null)
Q2 CY 2004
(null)
Q3 CY 2004
(null)
Q4 CY 2006
(null)


Why don’t we see the value, $2,744,340.48, in all cells? Didn’t the MDX formula of [m] change whatever calendar quarter to the first quarter of fiscal year 2004? The answer lies in MDX overwrite semantics and attribute relationship of the [Date] dimension.
Examine the Example Based on MDX Overwrite Rules
Before we delve into details, let’s establish some terminologies first. MDX attribute relationship defines functional dependency between two attributes, e.g.
[Calendar Quarter] [Calendar Semester] → [Calendar Year].
If A B, we say B is related to A and A is relating to B. Therefore, [Calendar Semester] and [Calendar Year] are related attributes of [Calendar Quarter], and reversely [Calendar Quarter] and [Calendar Semester] are relating attributes of [Calendar Year].  On the other hand, [Fiscal Week] and [Calendar Quarter] are not related to each other.
Every MDX expression is evaluated in a context. In a simple case, the context includes the current cell which is defined by the current coordinates of all attributes in the cube. When an MDX expression, like ([Internet Sales Amount], [Date].[Calendar Year].[CY 2004]), overwrites the coordinates of some attributes to non-All members, it also overwrites the coordinates of all related and relating attributes. The following diagram illustrates how MDX overwrite semantics work when you set non-All slices to some attributes.

The common mistake I referred to at the beginning of the post is when people forget about the slices left over at the unrelated attributes. When dimension autoexists is applied and the new slices set by the MDX expression do not exist with the slices left over on the unrelated attributes, you end up with cells that don’t exist. Note that we don’t have this problem when there is only a simple linear attribute relationship defined on the dimension.

In case of a single linear relationship, all attributes in the dimension are always overwritten, either explicitly or implicitly, when any attribute is set to a non-All member. The problem arises only when there is a complex attribute relationship, one with tree-like structure.
Going to back to the Adventure Works example, to calculate the value of any cell, an initial cell coordinate is set to a quarter from the [Calendar] hierarchy. Moreover, all related and relating attributes are set implicitly as well. See a simplified version of attribute relationship below. Every attribute in the diagram, except for [Month Name] is set to a slice that corresponds to a calendar quarter.

After applying the MDX expression associated with calculated measure [m], some attribute slices change to new ones, shown as colored boxes below, other attribute slices retain the previous values, shown as white boxes below.

You get a valid new cell only when the new slices correspond to the first quarter of fiscal year 2004 exist with the untouched old slices derived from the original calendar quarter; otherwise you get a cell that doesn’t exist hence a NULL value for the MDX formula. In this case only the third quarter of calendar year 2003 produces valid cell coordinates. To force setting the current coordinate to the first quarter of fiscal year 2004 regardless of the current calendar quarter, you have to explicitly overwrite all attributes related to the [Calendar] hierarchy like below:
create member [Adventure Works].[Measures].[m] as
(
      [Internet Sales Amount],
      [Date].[Fiscal].[Fiscal Quarter].[Q1 FY 2004],
      [Date].[Calendar].[All]
)

Official Rules
The above example is based on overwriting the current coordinate to a non-All member. But what about the other cases? Well, the following table lists all combinations of how overwriting one attribute can affect its related or relating attributes.
Assume A B.

Explicit Overwrite
Result
A.All to A.All
B unaffected
A.x to A.All
B to B.All
A to A.x
B to Exists(B.members, A.x)
B.All to B.All
A to A.All
B.x to B.All
A to A.All
B to B.x
A to A.All


An implicit overwrite is when an attribute is moved because of an overwrite on a relating or related attribute. When an attribute is impacted by both an explicit overwrite and an implicit overwrite, the explicit takes precedence. Implicit overwrites do not overwrite related or relating attributes.
Parent Child Dimension
According to the overwrite rules discussed so far, overwriting the key attribute of a dimension to a non-All member should overwrite all other attributes in the dimension implicitly. But this does not work for parent child dimensions.
If you run query
with member measures.x as
(
      [Measures].[Amount],
      [Account].[Account].[Work in Process]
)
select x on 0,
([Account].[Account].[Raw Materials], [Account].[Account Number].[1162]) on 1
from [Adventure Works]



x
Raw Materials
1162
(null)


You get back null result even though the calculation overwrites the key attribute [Account]. You have to explicitly overwrite [Account Number] attribute to get back the [Amount] for [Work in Process].
with member measures.x as
(
      [Measures].[Amount],
      [Account].[Account].[Work in Process],
      [Account].[Account Number].[All]
)
select x on 0,
([Account].[Account].[Raw Materials], [Account].[Account Number].[1162]) on 1
from [Adventure Works]



x
Raw Materials
1162
$1,393,582.00


The official rule here is that:
Overwriting key attribute of parent child hierarchy does not overwrite other attributes except that of its parent.
Complex Relationships Are Very Common
Unless you define a single linear relationship for a dimension, you will end up with a complex relationship. Specifically, when there are more than two attributes in a dimension and you didn’t define any relationship, the default one is a tree-like relationship.
MDX Writeback with Custom Weight Expression
Users are likely to make the mistake we have discussed so far when the current cell coordinates contain many slices on numerous attributes. This is particularly true when it comes to MDX writeback with custom weight expression. When an MDX UPDATE CUBE statement is sent to Analysis Services, the desired result is allocated to leaf level nodes. So if you are writing a custom weight formula, the current context is always a leaf level cell with a slice on every regular attribute. If you are not careful overwriting all attributes in a dimension, your weight expression is likely to return NULL values and you won’t get the allocation you desired.
Conclusion
The complex rules of MDX overwrite semantics combined with a tree-like attribute relationship can easily lead to some very frustrating bugs in your MDX formula. You must make sure to overwrite slices on all attributes you don’t want to keep and preserve the slices on all attributes you do want to keep. Remember that the rules are different for parent child dimensions. If you have a simple tuple like MDX formula that returns unexpected NULLs, you should check whether you have violated the guidelines given in this blog post.

34 comments:

  1. excelent post Jeffrey, I really enjoyed reading it!

    I just have one question that is not entirely clear to me:
    why does "Fiscal Semester" gets explicitly overwritten wheras "Fiscal Quarter of Year" gets implicitly overwritten?
    both are direclty related to "Fiscal Quarter" and therefor from an "attribute-relationship point-of-view" they are both the same, right?

    regards,
    Gerhard Brückl

    ReplyDelete
  2. Note that the query uses the [Fiscal] user defined hierarchy instead of the [Fiscal Quarter] attribute hierarchy. Therefore all levels that have non-trivial slices in the [Fiscal] hierarchy are explicitly overwritten, this includes the [Fiscal Semester] attribute.

    ReplyDelete
  3. Jeffrey, your posts are such a delight to read! The images made it even more easier to understand...

    Cheers,
    Jason Thomas

    ReplyDelete
  4. so explicit overwrites happen for related attribtes within the queried user-hierarchy whereas implicit overwrites happen for related attributes that are not in the queried user-hierarchy?

    ReplyDelete
  5. Explicit overwrites depend on the MDX expression. [Fiscal Quarter].[Fiscal Quarter].[Q1 FY 2004] would explicitly overwrite [Fiscal Quarter] attribute while implicitly overwrite [Fiscal Semester] and [Fiscal Year] attributes. [Fiscal].[Fiscal Quarter].[Q1 FY 2004] would explicitly overwrite all three attributes since they all belong to the [Fiscal] hierarchy and have non-trivial slices based on the given MDX expression. Another way to explicitly overwrite all three attributes is to write MDX tuple expression ([Fiscal Quarter].[Fiscal Quarter].[Q1 FY 2004], [Fiscal Semester].[Fiscal Semester].[H1 FY 2004], [Fiscal Year].[Fiscal Year].[FY 2004]).

    ReplyDelete
  6. The previous explanation is unsatisfactory. I tried to simplify things a bit too much which seemed to cause some confusion. I updated the pictures in the post to more accurately reflect the overwrite semantics when a user defined hierarchy is involved. When an MDX expression uses a user defined hierarchy, all levels in that hierarchy are explicitly overwritten. In the given example, although both [Month Name] and [Date] attributes are also explicitly overwritten, they are overwritten from All to All, according to the rules, overwritting from All to All will not blow away slices on related attributes, so they have no effect in this case.

    ReplyDelete
  7. Hi,

    Thanks for your great post. I know this is an old post but I just recently came across a case that the information you provided was very useful for.

    I have two questions in regards to some of the comments provided at the end of the blog:

    In the comments section, when using a user defined hierarchy example, you mention:
    "...
    Therefore all levels that have non-trivial slices in the [Fiscal] hierarchy are explicitly overwritten".

    I have two questions:

    1) What is a non-trivial slice? Is it a NON-ALL slice?

    2) When all levels of the UDH hierarchy attributes are explicitly overwritten, do their related and relating attributes get implicitly overwritten in turn as well? For example, in the case provided in this blog, do related/relating attributes of the [Month Name] and [Date] levels also get overwritten to ALL? In your example, the change would be from ALL to ALL but if the row axis of the query had a particular day or month in it, then they would have individual values and the change would be from a slice to ALL. In that case, would attributes like [Day of Week], [Month of Year], etc. also get implicitly set to ALL?

    Thanks,

    Shabnam Watson

    ReplyDelete
  8. The answers to both your questions are yes.

    ReplyDelete
  9. Tech Gadgets reviews and latest Tech and Gadgets news updates, trends, explore the facts, research, and analysis covering the digital world.
    You will see Some Tech reviews below,

    lg bluetooth headset : You will also wish to keep design and assorted features in mind. The most essential part of the design here is the buttonsof lg bluetooth headset .

    Fastest Car in the World : is a lot more than the usual number. Nevertheless, non-enthusiasts and fans alike can’t resist the impulse to brag or estimate according to specifications. Fastest Car in the World click here to know more.

    samsung galaxy gear : Samsung will undoubtedly put a great deal of time and even more cash into courting developers It is looking for partners and will allow developers to try out
    different sensors and software. It is preparing two variants as they launched last year. samsung galaxy gear is very use full click to know more.

    samsung fridge : Samsung plans to supply family-oriented applications like health care programs and digital picture frames along with games It should stick with what they know and they
    do not know how to produce a quality refrigerator that is worth what we paid. samsung fridge is very usefull and nice product. clickcamera best for travel: Nikon D850: Camera It may be costly, but if you’re trying to find the very best camera you can purchase at this time, then Nikon’s gorgeous DX50 DSLR will
    probably mark each box. The packaging is in a vibrant 45.4-megapixel full-frame detector, the picture quality is simply wonderful. However, this is just half the story. Because of a complex 153-point AF system along with a brst rate of 9 frames per minute. camera best specification. click here to know more.

    ReplyDelete
  10. If you want to give your home or office a Luxurious interior design with a small budget kindly
    contact our decor companies in Abu Dhabi.. decor companies in abu dhabi

    ReplyDelete
  11. We provide a complete line of automatic transmission parts, overhaul kits, troubleshooting and overhaul guides to factory re-manufactured automatic transmissions . Shift kits are available, and more importantly shift enhancement kits are available, these enhancement kits fix know problems with automatic transmission. Enhancement kits correct design and manufacturing defects, yes they can be corrected after your vehicle has left the factory. If there is an enhancement kit available for you application be sure you have one installed before your transmission suffers costly failures. automatic transmission parts .

    ReplyDelete
  12. Thank you for excellent article.You made an article that is interesting.
    Best AWS certification training courses. Build your AWS cloud skills with expert instructor- led classes. Live projects, Hands-on training,24/7 support.
    https://onlineidealab.com/aws-training-in-bangalore/

    ReplyDelete
  13. BBA Aviation course is the best (Most Demanded) management course in India. Here, Christian College Bangalore providing BBA Aviation course. You can get the details of Christian College BBA Aviation from the below mentioned link. If you are interested in BBA Aviation, just visit the below link to know about BBA Aviation.
    BBA Aviation Colleges In Bangalore

    ReplyDelete
  14. http://karachipestcontrol. com/-Karachi Best Pest Control and Water Tank Cleaning Services.

    M/S. KarachiPestControl has very oldKarachi Pest Control Services Technical Pest Control workers
    thatfumigation services in Karachi live and add your space sevenfumigation in Karachi
    days every week.Pest services in karachiThis implies we are able toTermite Fumigation in Karachi
    be with you actuallytermite proofing in karachi quickly and keep our costs very competitive. an equivalent
    nativeUnique fumigation technician can see yourBed bugs fumigation in Karachi cuss management
    drawback through from begin to complete.Rodent Control Services Karachi Eco friendly technologies isWater tank cleaner in karachi
    also used.We are the firstWater Tank Cleaning Services in Karachi and still only professional water
    tank cleaning company in Karachi.With M/S. KarachiPestControlyou’re totallyBest Fumigation in karachi protected.


    Check Our Website http://karachipestcontrol. com/.

    ReplyDelete
  15. This comment has been removed by the author.

    ReplyDelete
  16. Genyatra provides train tickets, flight tickets, senior citizen yatra , foreign exchange, visa services to its Clients across World.
    train tickets, flight tickets, senior citizen yatra , foreign exchange, visa services

    ReplyDelete
  17. Weed Supermarket.
    Cannabis oil for sale, buy cannabis oil online, where to buy cannabis oil, cannabis oil for sale, buy cannabis oil online,
    cannabis oil for sale UK, cannabis oil for sale, where to buy cannabis oil UKBuy cbd oil, buying marijuana edibles online legal,
    online marijuana sales, buy cbd oil UK, best cbd oil UK, cheap cbd oil UK, pure thc for sale, cbd oil wholesale UK, cbd oil online buy UK
    Cbd flower for sale uk, cbd buds wholesale uk, cbd flower for sale uk, buy hemp buds uk, cheap cbd, flower uk, buy cbd buds online uk,
    cbd flowers buds uk, cbd buds for sale, cbd buds for sale uk, hemp, buds for sale uk, cbd flower for sale uk, high cbd hemp buds,
    cbd buds uk for sale, cbd buds online buy uk, hemp flowers wholesale uk, cheapest cbd flowers ukMarijuana weeds, buy marijuana weed online,
    marijuana weed in UK, marijuana weed for sale, where to order marijuana weed, cheap marijuana weed online, best quality marijuana weed,
    how to buy marijuana weed, marijuana hash, buy marijuana hash online, marijuana hash for sale, where to buy marijuana hash, buy marijuana hash online UK,
    buy marijuana hash in Germany, buy marijuana hash in Belgium, top quality marijuana hash, mail order marijuana hash, cheap marijuana hash
    You can buy Weed, Cannabis, Vape Pens & Cartridges, THC Oil Cartridges, Marijuana Seeds Online in the UK, Germany, France, Italy, Switzerland,
    Netherlands, Poland, Greece, Austria, Ukraine. We deliver fast using next Day Delivery.
    THC vape oil for sale, dank vapes for sale, buy dank vapes online, mario cartridges for sale, weed vape, thc vape, cannabis vape, weed vape oil,
    buy vape pen online, buy afghan kush online, blue dream for sale, marijuana edibles,

    Visit here https://www.dankrevolutionstore.com/ to know more.

    ReplyDelete
  18. Big Truck Tow: Heavy Duty towing service san jose
    We're rated the most reliable heavy duty towing san jose service & roadside assistance in San Jose!
    Call us now! We're ready to help you NOW!

    Since 1999, tow truck san jose has provided quality services to clients by providing them
    with the professional care they deserve. We are a professional and affordable Commercial
    Towing Company. BIG TRUCK TOW provides a variety of services, look below for the list of
    services we offer. Get in touch today to learn more about our heavy duty towing


    Click here to Find tow truck near me

    ReplyDelete
  19. Keto Pills The Fastest Way to Get Into Ketosis?
    Keto diet pills reviews to let you know how to get into ketosis fast and feel
    young & energetic. These keto diet pills work wonders when taken as advised.
    Read This Informative article from top to bottom about Best Keto diet pills reviews & See
    Keto pills can help you to get into ketogenesis quickly and enjoy life-long benefits of
    maintaining healthy weight.our amazing Keto Diet Pills Recommendation at the end!
    How to get into ketogenesis ?
    If you Don’t know Where to buy keto diet pills click here.
    To Know More Information Click https://ketodietpillsinfo.com/ here.

    ReplyDelete
  20. Talk with Strangerstalk to strangers in Online Free Chat rooms where during a safe environment.
    Many users checking out free chat withomegle kids strangers look for their matches online on each day to day .Having an interview with
    strangers helps people overcome their anxiety, loneliness, and over-stressed lives.So as to
    speak with strangers, the users talk to strangersshould skills to protect themselves from online scams and frauds.
    Chat with random people online anonymously is becoming common as fast because the technology and
    web are advancing.Talking to strangerschat random and having random conversations with random people is great
    especially if it's no login and requires no check in chat in our international chat rooms.
    Our aim isfree chat to form your chatting experience as fast, easy and best by using our random text chat,
    as pleasant, fun and successful as possible.dirty chat Chat with random people online with none log in.

    ReplyDelete
  21. Calculate your EMI for personal loan, home loan, car loan, student loan, business loan in India. Check EMI eligibilty,
    interest rates, application process, loan.
    EMI Calculator calculate EMI for home loan, car loan, personal loan , student loan in India .

    visit https://emi-calculators.com/ here for more information.

    ReplyDelete
  22. incredible article distributed here by you. i've for a long while been itching to adapt new things with respect to this subject, and i have unquestionably adapted new things today. https://eezbatteryreconditioning.com/

    ReplyDelete
  23. This blog is very attraction to me .I really like this article and your writing skill is very fantastic and beautiful . thanks a lot for the good language matt marshall fitness

    ReplyDelete
  24. It’s really a nice and useful piece of information. I am glad that you shared this useful information with us. Please keeps us to date like this .thank you for sharing.https://unlockhipflexorsinfo.com/

    ReplyDelete
  25. I respect this article for the very much investigated substance and magnificent wording. I got so included in this material that I couldn't quit perusing. I am awed with your work and aptitude. Much obliged to you to such an extent.yoga burn free download

    ReplyDelete
  26. Buy  Real registered  EU drivers license |Instant EU License: Buy Real registered EU drivers license  buy driving license| driver license germany |how to buy a car with no drivers license |buy a driving license |Buy Eu Driver's Licenses  Online |Kaufen Sie einen echten registrierten Führerschein |Buy  Registered German driving license |Buy  Real registered  EU drivers license without testing |Kaufen Sie einen echten deutschen Führerschein online| Real drivers license for sale online |Buy  Real registered  EU drivers license |Instant EU License: Buy Real registered EU drivers license  buy driving license| driver license germany |Buy registered drivers license |Real drivers license for sale online |Buy registered drivers license |Order Novelty drivers license for sale Online |Order Novelty drivers license for sale Online |buy a car without drivers license | buy a driver license online | buy a new driving license |WEBSITE LINK  : https://instanteulicense.com/EMAIL : info@instanteulicense.comCALL/TEXT +31684589349WHATSAPP: +31684589349
    can i buy a car with temporary driving license | buy international drivers license | buy driver license online |Old drivers license for sale |Johnny cash drivers license for sale |slash drivers license for sale | cars for sale without drivers license |celebrity drivers license for sale |driver license for sale |
    WEBSITE LINK  : https://instanteulicense.com/
    EMAIL : info@instanteulicense.com
    CALL/TEXT +31684589349
    WHATSAPP: +31684589349

    ReplyDelete
  27. Pentobarbital is also available in the form of the salt of barbiturates. The process of synthesis of pentobarbital is very much like that of amobarbital. A little difference is that the alkylation of    α-ethylmalonic ester is carried out with 2-bromopentane in place of 1-bromo-3-methylbutane and produces pentobarbital.Mechanism of action: Pentobarbital go through first-pass metabolism inside liver and most probably in small and large intestines.Drug-Drug interaction: When pentobarbital is administered with other drugs such as benzodiazepines, ethanol, opioids, antihistamines, and any other sedative-hypnotic drugs, its action is enhanced. More sedative and hypnotic effect is observed.Pharmacokinetics: Oral bioavailability of pentobarbital is 70-90% and rectal bioavailability is 90%. Its protein binding is 20-45% and elimination half-life is 15-48hours.Uses of pentobarbital: Pentobarbital is used for sedation and hypnosis.It is used in the treatment of sleeplessness.It is also used as anesthetic agent for treatments of animals.It is also used in Reye’s syndrome to minimize intracranial pressure.It is also used in euthanasia of animals as well as humans.This drug was used for criminals for putting them to death.Numbutal was the brand name of pentobarbital by Abbott Pharmaceuticals. It was available in yellow capsules in 50gm and 100gm. But this drug is discontinued from 1990 because of some suspicious deaths due to over dosage of Numbutal.NEMBUTAL  sodium pentobarbital for sale  (pentobarbital sodium injection, USP)  where to buy pentobarbital, where can i buy pentobarbital, buy pentobarbital online for animals, Buy sodium pentobarbital salt,  where to buy nembutal pentobarbital, where to buy nembutal online, nembutal pills for sale online, buy nembutal pentobarbital euthanasia, where to buy nembutal online, where to buy nembutal pentobarbital, buy nembutal online for pets sodium pentobarbital for sale, where can i buy nembutal, purchase nembutal online, nembutal pills, where to buy sodium pentobarbital, how to buy pentobarbital, order nembutal with credit card, where to buy sodium phenobarbital  |  buy sodium phenobarbital online  | 
    sodium phenobarbital buy| where to buy pentobarbital for dogs| order pentobarbital euthanasia dose | buy nembutal discreetly | buy nembutal pentobarbital sodium| where to buy euthasol | buy nembutal powder from reliable supplier how to buy pentobarbital, order nembutal with credit card,
    WhatsApp  + 33752817826
    
Email Us info@hospitableending.com
    Website : https://hospitableending.com/

    ReplyDelete
  28. NEMBUTAL  sodium pentobarbital for sale  (pentobarbital sodium injection, USP) is available in the following sizes: where to buy pentobarbital, where can i buy pentobarbital, buy pentobarbital online for animals, Buy sodium pentobarbital salt, where to buy nembutal pentobarbital, where to buy nembutal online, nembutal pills for sale online, buy nembutal pentobarbital euthanasia, where to buy nembutal online, where to buy nembutal pentobarbital, buy nembutal online for pets ,sodium pentobarbital for sale, where can i buy nembutal, purchase nembutal online, nembutal pills, where to buy sodium pentobarbital, how to buy pentobarbital, order nembutal with credit card,
    WhatsApp  + 33752817826
Email Us info@hospitableending.com
    Website : https://hospitableending.com/
    20-mL multiple-dose vial, 1 g per vial (NDC 67386-501-52); and 50-mL multiple-dose vial, 2.5 g per vial (NDC 67386-501-55).
Each mL contains:
Pentobarbital Sodium, derivative of barbituric acid.......................................50 mg
Propylene glycol........................................................................................40% v/v
Alcohol ............................................................................................................10%
Water for Injection..............................................................................................qs (pH adjusted to approximately 9.5 with hydrochloric acid and/or sodium hydroxide.)
Vial stoppers are latex free. NEMBUTAL  sodium pentobarbital for sale
Exposure of pharmaceutical products to heat should be minimized. Avoid excessive heat. Protect from freezing. It is recommended that the product be stored at 20-25 C (68-77 F), however, brief excursions are permitted between 15-30 C (59-86 F). See USP Controlled Room Temperature.

WhatsApp  + 33752817826
Email Us info@hospitableending.com
    https://hospitableending.com/
where to buy sodium phenobarbital  |  
buy sodium phenobarbital online  | 
sodium phenobarbital buy| 
where to buy pentobarbital for dogs| 
order pentobarbital euthanasia dose | 
buy nembutal discreetly | 
buy nembutal pentobarbital sodium| 
where to buy euthasol | 
buy nembutal powder from reliable supplier | 
reliable source nembutal| 
nembutal alternatives| 
nembutal powder| 
buy seconal| 
pentobarbital online mexico| 
where to buy sodium pentobarbital | 
where to buy nembutal pentobarbital| 
buy pentobarbital online for animals| 
where can i buy pentobarbital| 
nembutal pills for sale online| 
where to buy pentobarbital| 
where to buy nembutal online| 
nembutal by mail order| 
buy barbiturates| 
buy barbiturate analogues| 
barbiturate store online | 


    ReplyDelete
  29. ruger rifles for sale online
    ger online catalog
    ruger firearms sales online
    used ruger mini 30 for sale
    ruger no 3 for sale
    used ruger pistols for sale
    new rugers for sale
    ruger #3 rifles for sale.   ruger online catalog
    ruger rifles for sale online
    ruger accessories catalog
    ruger firearms online store
    ruger firearms parts department
    ruger rifles for sale
    ruger new owner register
    ruger firearms online store merchandise
    ruger 20% off couponruger new owner special offerruger firearms rebate offersruger discounts and rebatesruger firearms website
    ruger new owner registration
    ruger register online
    WEBSITE : https://crockrugerarms.com/
    WEBSITE : https://crockrugerarms.com/
    EMAIL : info@crockrugerarms.com

    ReplyDelete
  30. Outstanding article! I want people to know just how good this information is in your article. Your views are much like my own concerning this subject. I will https://thejustreviews.com/ daily your blog because I know. It may be very beneficial for me. thejustreviews.com

    ReplyDelete
  31. What a well written and compassionate article. I found your thoughts and wisdom to be encouraging and helpful. ReviewsByTina

    ReplyDelete
  32. BUY CDC COVID-19 REGISTERED VACCINATION RECORD CARD AT realdocumentservices.com
    BUY DMV REGISTERED DRIVERS LICENCE ONLINE AT
    https://realdocumentservices.com/buy-driving-license-online/
    WhatsApp: +1 (951) 480-4136
    WhatsApp: +1 (951) 480-4136

    WhatsApp: +1 (951) 480-4136
    WhatsApp: +1 (951) 480-4136
    We produce verified registered cdc covid19 vaccination cards that can enable you travel or present at your job side on request, Buy regietered covid19 vaccine card at affordable prices without getting vaccinated

    GET REGISTERED JAB CARD AT AFFORDABLE PRICES, WE PRODUCE AND GIVE OUT REGISTERED COVID CARDS
    BUY JAB CARDS
    BUY CDC COVID-19 VACCINATION CARD
    GET JAB CARD
    OBTAIN JAB CARD
    https://realdocumentservices.com/buy-driving-license-online/
    https://realdocumentservices.com/buy-covid-19-vaccination-card-online/

    ReplyDelete
  33. Красиво е : Hina One Piece
    Красиво е : Sinopsis Film Terbaru
    Красиво е : Zoro One Piece
    Красиво е : Judge One Piece
    Красиво е : Orochi One Piece
    Красиво е : Smoker One Piece
    Красиво е : Asl One Piece
    Красиво е : Devil Fruit One Piece

    ReplyDelete
  34. Kaufen Sie echte Pässe, Führerscheine, Personalausweise, Visa, USA Green Card, Falschgeld. (Whatsapp:....+4915214505402

    https://universaldocuments.site/
    WhatsApp  +1447424887544
    E-Mail an universaldocuments24@gmail.com

    Kaufen Sie echte CONVID19-IMPFKARTEN
    Echte Reisepässe, Führerscheine und andere Dokumente aller Länder zum Verkauf. Kaufen Sie hochwertige, datenbasierte, registrierte, maschinenlesbare, scanfähige Führerscheine, Ausweise, Reisepässe und Staatsbürgerschaftsdokumente. Kaufen Sie echte Pässe, Führerscheine, Personalausweise, Visa, USA Green Card, Falschgeld. Wir sind die besten Hersteller von echten, datenbasierten, registrierten, hochwertigen, echten/gefälschten Pässen, Führerscheinen, Personalausweisen und anderen Staatsbürgerschaftsdokumenten. Kaufen Sie hochwertige, datenbasierte, registrierte, maschinenlesbare, scanfähige Führerscheine, Ausweise, Reisepässe und Staatsbürgerschaftsdokumente. Kaufen Sie echte Pässe, Führerscheine, Personalausweise, Visa, USA Green Card, Falschgeld.

    Wir sind die besten Hersteller von echten, hochwertigen gefälschten Dokumenten.

    Kaufen Sie gefälschten Reisepass British (UK) zum Verkauf diplomatische kanadische falsche ID-Karten online United States (US) Fake ID Card Verkaufen Sie den Führerschein.

    https://fix-mpu.link
    WhatsApp: +4915214505402
    E-Mail an info.fixmpu@aol.com
    Kaufen Sie echte Green Card-Schulungszertifikate, GCSE, Abitur, High School Diploma-Zertifikate, GMAT-, MCAT- und LSAT-Prüfungszertifikate und Kreditkarten, Schuldiplome, Schulabschlüsse, alle unter einem völlig neuen Namen, ausgestellt und in der Datenbank der Regierung registriert System.

    ReplyDelete