LOD | 在低層級(jí)上聚合高層級(jí)的聚合數(shù)據(jù)

舉例酸员,通過(guò)LOD找到每個(gè)州產(chǎn)品類別中具有最大品類的是什么

如下可以看到路召,加利福尼亞的Paper是最多的品類。

如下的例子栋烤,在不使用任何字符串操作的前提下谒养,驗(yàn)證LOD的作用,在每個(gè)州中明郭,找到最大的品類

Here’s the algorithm I use for this kind of calculation,這里我針對(duì)這種類似的案例使用這一類方式 I use this pattern pretty regularly這種模式也是比較通常的 ?becausemost of my work is done in MS Access? 因?yàn)槲业拇蟛糠止ぷ魇窃贛S的Access中完成的?where we don’t have more advanced features like partitioning and row numbering functions.Access中沒(méi)有過(guò)多的高級(jí)特性买窟,比如數(shù)據(jù)分區(qū)功能,計(jì)數(shù)功能

使用conutd()去取得每個(gè)品類和每個(gè)州的用戶ID計(jì)數(shù)薯定,是非重復(fù)計(jì)數(shù)始绍,所以取得的是人數(shù)。

在Access中话侄,是通過(guò)稍微復(fù)雜一點(diǎn)的方法亏推,一系列聚合子查詢(Access并沒(méi)有類似count的函數(shù))

但是呢,在tableau中就簡(jiǎn)單了年堆,這就是LOD吞杭。重復(fù)一下,不僅僅是對(duì)用戶計(jì)數(shù)嘀韧,而是基于州的用戶計(jì)數(shù)篇亭,和基于產(chǎn)品類別的計(jì)數(shù)。

對(duì)于類別和州這兩類指標(biāo)锄贷,取得每個(gè)州最大的译蒂。而這個(gè)是Access是一列操作,在tableau中是個(gè)LOD表達(dá)式谊却。

在類別和州的層級(jí)上柔昼,將步驟1和步驟2的結(jié)果組合到一起。這個(gè)操作在Access中需要其他的輔助查詢炎辨。tableau這是LOD表達(dá)的內(nèi)置功能捕透。

在Access中,寫(xiě)一個(gè)計(jì)算,判斷兩組數(shù)據(jù)是否匹配乙嘀,然后再返回對(duì)應(yīng)的類別信息末购。這在Access中使用IIF函數(shù)實(shí)現(xiàn),同時(shí)在tableau中對(duì)應(yīng)的是IIF or IF

然后返回這些結(jié)果虎谢,就可以得到最終的數(shù)據(jù)了盟榴。

但是,這仍然是復(fù)雜的婴噩,待我慢慢講來(lái)擎场。

如果你寫(xiě)的一個(gè)SQL的聚合計(jì)算查詢,已經(jīng)有充足的經(jīng)驗(yàn)將大塊的數(shù)據(jù)分解成更小的顆粒几莽,直到每個(gè)小的顆裂赴欤可以在預(yù)定的層級(jí)做到單獨(dú)的計(jì)算

And when working with SQL as part of that you’ve had practice in imagining what the query is doing prior to seeing the results,?

當(dāng)使用SQL的一部分,你已經(jīng)練習(xí)想象查詢?cè)诳吹浇Y(jié)果之前章蚣,

你在工作的時(shí)候使用SQL作為一部分功能站欺,同時(shí)想象著這個(gè)查詢到底在做啥,

and (if you’re at all like me) have had tons of practice in figuring out where things went wrong when the granularity of the data vis-a-vis the GROUP BY fields, joins,

并且(如果你也是像我一樣)有過(guò)許許多多經(jīng)驗(yàn)in解決出錯(cuò)究驴,在顆粒分組的時(shí)候镊绪。

and when calcs were performed made too many rows, too few rows, or just plain wrong results.

當(dāng)計(jì)算進(jìn)行了太多的行匀伏,過(guò)幾行洒忧,或是錯(cuò)誤的結(jié)果。

更甚够颠,當(dāng)計(jì)算執(zhí)行后熙侍,有n多的行列,n多的報(bào)錯(cuò)履磨,那么我想你是崩潰的

Where LOD expressions getbrain-twistingly complicatedfor people who haven’t had experience writing tons of SQL aggregate queries is that they haven’t had that practice in breaking things down,?

在LOD表達(dá)getbrain歪歪扭扭的complicatedfor人沒(méi)有寫(xiě)SQL查詢噸的經(jīng)驗(yàn)是蛉抓,他們沒(méi)有打破的東西有實(shí)踐,

LOD是給誰(shuí)用的呢剃诅?LOD曲解難懂巷送,給那些人,沒(méi)有太對(duì)SQL聚合查詢經(jīng)驗(yàn)

*plus* in Tableau the aggregations that LOD expressions compute are only visible as results.

*加*畫(huà)面LOD表達(dá)計(jì)算是唯一可見(jiàn)的結(jié)果聚合矛辕。

LOD的聚合計(jì)算只在結(jié)果是可見(jiàn)的笑跛,你不用關(guān)注過(guò)程。


創(chuàng)建并驗(yàn)證LOD聊品,我所使用的LOD飞蹂,為了使LOD的實(shí)現(xiàn)過(guò)程更清晰,我在每個(gè)step都做了對(duì)應(yīng)的表達(dá)式翻屈,用以對(duì)比驗(yàn)證陈哑。


1 首先將想要使用的維度,拖入視圖。此案例中惊窖,我希望使用的都是“州”這個(gè)字段

拖入視圖刽宪,意思是將該維度放入到任何地方,行界酒、列纠屋、頁(yè)面、標(biāo)記盾计,都行的

但是篩選器不包括哦售担,因?yàn)楹Y選器并不能改變視圖聚合的維度或顆粒。


2 拖入其他的字段署辉,構(gòu)建一個(gè)基本的視圖(不含LOD的哦)

看圖族铆,拖入了“州”,以及custom ID的計(jì)數(shù)

3 對(duì)于每個(gè)LOD的表達(dá)式哭尝,指出對(duì)應(yīng)需要的維度


注意:

FIXED哥攘,只能用于這種情況,就是LOD使用固定維度層級(jí)得字段材鹦,不會(huì)依據(jù)Viz視圖情況而改變逝淹。

INCLUDE & EXCLUDE,可以用來(lái)加在任何維度的后面桶唐,也可以放在任何其他的嵌套表達(dá)式內(nèi)層中栅葡。

關(guān)于篩選器的優(yōu)先級(jí)

? ? 篩選器也是優(yōu)先級(jí)順序的,(如下圖)從上到下的順序?yàn)椋?br>

FIXED>維度篩選器>INCLUDE/EXCLUDE

FIXED的表達(dá)式尤泽,是across all the data的欣簇,不用考慮篩選器的影響

所以,如果需要對(duì)FIXED表達(dá)式做篩選坯约,就只能采用上下文篩選器(Context)


這工作會(huì)花費(fèi)一些精力熊咽,不過(guò)為了做到精確的結(jié)果,這個(gè)絕對(duì)必要的闹丐。

就像我們經(jīng)常做的任何事情一樣横殴,在實(shí)踐中,這可以成為第二天性卿拴。

在mark'supdatehe的描述了Joe Mako的當(dāng)前使用的技術(shù)衫仑,就是使用電子表格列出維度和度量,然后使用顏色區(qū)分INCLUDE和EXCLUDE的區(qū)別巍棱。

在這個(gè)例子中惑畴,唯一的附加維度是類別,所以維度是狀態(tài)和類別航徙。

4 使用對(duì)應(yīng)的維度,開(kāi)始一個(gè)LOD的視圖


然后將LOD拖入到視圖中如贷,使用一種集合方式,比如SUM or AVG。

In the case of strings you can use MIN and MAX for validation. If each aggregation returns the exact same result,?

這個(gè)案例中杠袱,你可以使用min or max尚猿,如果每個(gè)聚合返回值都是同樣的結(jié)果,那么很大可能你使用了正確的維度楣富。

then you can be mostly sure that you’ve got the right dimensionality in the LOD workout view.?

I write “mostly” because there are dependencies on the granularity of the data that crop up as you get into nested LOD expressions as well as the main view.

我之所以說(shuō)是“很大可能”凿掂,是因?yàn)橐罁?jù)情況而定,要考慮到嵌套LOD在主視圖的數(shù)據(jù)顆粒度纹蝴,

這里寫(xiě)第一個(gè)表達(dá)式庄萎,返回了用戶的非相同計(jì)數(shù),基于“類別”和“州”

{INCLUDE [Category] : COUNTD([Customer ID])}

And here’s that calc in a view with State & Category as dimensions. We can see that COUNTD(Customer ID) is the same as the SUM, AVG, and MAX of our LOD calc:

如下就是兩個(gè)維度塘安,類別和州糠涛,作為維度的展示〖娣福可以看到忍捡,這種情形下countd和sum。avg切黔,max是相同的

注意了砸脊,countd使用的就是普通聚合,其它三個(gè)使用的LOD(藍(lán)色框)

6 重復(fù)3-5步纬霞,嘗試不同的level

For example, if you are nesting LOD expressions at multiple levels of detail, that can mean putting the same calculation into multiple workout views to see what it’s returning.?

例如凌埂,如果你在多層次的情況下,使用嵌套LOD险领,這意味著可侨舆,使用同樣的計(jì)算在多重工作場(chǎng)景去查看數(shù)據(jù)返回值秒紧。


In order to validate what INCLUDE & EXCLUDE LOD calcs are returning to the data prior to the aggregation at the vizLOD, you can highlight marks and use right-click->View Data->click on Underlying tab to see what they are returning (there’s an example of this below).

為了證實(shí)兩者(INCLUDE和EXCLUDE)的在優(yōu)先級(jí)上的區(qū)別绢陌,可以使用格式編輯,用以區(qū)分二者的區(qū)別熔恢,下邊會(huì)有栗子

?Then you’ll also need to pay attention to how each LOD expression is aggregated in the different views.

在不同的view下脐湾,你還是要多多注意看,每個(gè)計(jì)算的結(jié)果叙淌。

In our case the only other granularity is that for the main view, the State, so we can skip this step.

我們的例子中秤掌,對(duì)于顆粒,我們只有兩個(gè)鹰霍,類別和州闻鉴,1個(gè)是類別,另一個(gè)就是州茂洒,只有以后遇到超過(guò)兩個(gè)類別的時(shí)候孟岛,再去特殊關(guān)注吧

7. Once you have the calcs working in the individual views, bring them one by one into the main workout view. Verify that they are returning the desired results.


一旦在單獨(dú)的視圖中開(kāi)始使用計(jì)算,將給他們逐個(gè)的在主視圖中顯示,記得驗(yàn)證一下結(jié)果是不是你要的結(jié)果渠羞,這個(gè)很重要斤贰。

吶,如下即是次询,在同樣的聚合條件下荧恍,主視圖中countd,非重復(fù)計(jì)數(shù)

此圖比前一個(gè)圖屯吊,去掉了類別字段


復(fù)習(xí)一下看下圖:紫色的是第二次引用的圖送巡,藍(lán)色的是第一次引用的圖

區(qū)別是紫色(第二次)去掉了“類別”

藍(lán)色(第一次)保留了“類別”

紫色的15與,下圖的15是對(duì)應(yīng)的


Since the goal is to return the max COUNTD(Customer ID) for each Category, the MAX(CountD per Category) works.

因?yàn)槟繕?biāo)是返回每個(gè)類別最大Max用戶“非重復(fù)計(jì)數(shù)”盒卸,

But we don’t want that to be returned as an aggregate in the view,

但是我們并不想看的是授艰,返回一個(gè)聚合的數(shù)據(jù)

we want that as a record-level calc so a comparison can be made. The following Max CountD per Cat in State calc does that:

我們想知道的是對(duì)應(yīng)級(jí)別的數(shù)據(jù),這是做個(gè)對(duì)比是有意義的世落。下面的每個(gè)類別Max countd()就是做了這件事

吶淮腾,也就是上邊藍(lán)色圖的15余紫色圖的15啦

{INCLUDE : MAX([CountD per Category])}

公式如此

This uses a little trick in LOD calcs where by not including any specific dimensions we can force an aggregation at the level of detail of the viz (i.e. State) and still return that as a record-level result.

這里用了一個(gè)小技巧,不針對(duì)任何維度的計(jì)算屉佳,只寫(xiě)了INCLUDE谷朝,而后邊不用跟具體維度,它是等效于INCLUDE?

額不知道怎么回答?

Here’s that calc in the workout view at different aggregations, showing it is returning the same result for each version:

Now for step 4 in the algorithm I laid out. Here’s the formula for the Largest Category (initial) calc:

這里武花,在增加一項(xiàng)目圆凰,如下是公式的細(xì)節(jié)(initial的)


IF [CountD per Category] == [Max CountD per Cat in State] THEN

[Category]

END)


意思是,如果 countd等于算出的Max值体箕,那么久返回類別

否則就為空

估算一下結(jié)果专钉,就是15那個(gè),記得吧累铅,只有最多的幾項(xiàng)會(huì)顯示對(duì)應(yīng)的類別跃须,其他的都為空

結(jié)果大概就是這個(gè)樣子咯



繼續(xù)


This calc takes advantage of a second trick with LOD calcs that I hadn’t known about until reviewing #8 in theTop 15 LOD Expressions.?

tableau官方有Top15個(gè)LOD應(yīng)用,作者在讀到第8個(gè)例子之前娃兽,還是對(duì)第二招的技巧不太知道

While we can use the results of a FIXED LOD expression in the view as a dimension or aggregated measure, in the view we can only use INCLUDE & EXCLUDE LOD expressions as aggregated measures.?

然而菇民,當(dāng)我使用了FIXED LOD的結(jié)果,再嵌套IN or EX的方式投储,可以完成很多事情

*However*, just like FIXED LOD expressions the results of INCLUDE & EXCLUDE expressions are returned at a record-level *and* can be evaluated at a record-level.?

盡管如此第练,

So the IF statement evaluation is only True when for a given record the CountD per Category for that record’s Category is also the maximum value in that record’s State, and the calc returns the Category for those records.

所以,IF的狀態(tài)評(píng)價(jià)玛荞,是唯一的

而該計(jì)算返回這些類別的信息

Note that Tableau automatically applies the Count aggregation in the Data window, indicating that this calc has to be aggregated in some way in a view:

記住娇掏,tableau會(huì)在數(shù)據(jù)窗口中,自動(dòng)的應(yīng)用count的聚合

表明這個(gè)計(jì)算不得不被聚合以某種方式

看如下截圖

Because we’re using a mix of calcs meant to work at different levels of detail here, validating this gets a little tricky.?

因?yàn)槲覀兪褂昧嘶旌系挠?jì)算方式勋眯,意味著我們工作在不同的level婴梧,同時(shí)證實(shí)了這個(gè)方式是個(gè)不錯(cuò)的技巧壁涎。

We have to use the View Data->Underlying tab technique to see what’s going on, here I’ve selected Alabama:

現(xiàn)在,我們使用查看數(shù)據(jù)源志秃,詳細(xì)信息怔球,來(lái)看看數(shù)據(jù)怎么變化的。如下是我選擇了亞拉巴馬州的數(shù)據(jù)浮还。


可以看到那個(gè)IF的計(jì)算起作用了竟坛,如我所說(shuō),等于Max的钧舌,顯示類別担汤,不等于Max的顯示null。

結(jié)果顯示洼冻,Office Furnishings和Paper是最多的類別崭歧。

This is because there’s a tie with both having 15 distinct customers. If we wanted to show all the ties we’d run into a key difference between INCLUDE & EXCLUDE vs.?

這是因?yàn)橛袃蓚€(gè)達(dá)成平局了,他們都是15個(gè)Max

于是撞牢,如果我想show出所有的平局競(jìng)爭(zhēng)者率碾,我應(yīng)該去找到三者的關(guān)鍵區(qū)別FIXED,(FIXED,INCLUDE,EXCLUDE這三個(gè)家伙的區(qū)別)

namely that INCLUDE & EXCLUDE LOD expressions *have* to be aggregated in a view, and since the view is at the level of detail of State that meants the aggregations of MIN(), MAX(), etc. all only return a single result, not every result.?



So there’s no way to use the INCLUDE & EXCLUDE to show the ties, I’ve got a follow-up post in the works that describes how an alternative calc using FIXED can show all the ties.

所以使用IN or EX 是沒(méi)辦法顯示tie在哪里,我后邊做了一個(gè)表屋彪,描述了所宰,備選的計(jì)算方式使用FIXED可以顯示所有的tie


To resolve that tie for now, we’ll use the MIN() aggregation:


為了解決tie的問(wèn)題,來(lái)試試min()的效果

看圖畜挥,在Row仔粥,“州”字段的右側(cè)有拖入一個(gè)min

To build the Largest Category (final) calc I chose to apply that aggregation in the calc (that way Tableau won’t be adding anything to the column name in the view) and we’ll add in the CountD per Category as part of as string to show that as well, so it will look like “Office Furnishings (15)” for Alabama. Here’s the formula:

下一步,創(chuàng)建final版本的Max類別計(jì)算字段蟹但,我選擇了在計(jì)算中應(yīng)用聚合躯泰,(tableau在這個(gè)計(jì)算中并不會(huì)加入任何列名)并且我會(huì)添加countd計(jì)算,在每個(gè)類別中华糖,作為xxx的部分麦向,所以就是很像Office Furnishings (15)” for Alabama,如下是公式:

就是在IF的外層缅阳,嵌套了min()

在類別的右側(cè)加了個(gè)括號(hào)

括號(hào)內(nèi)部寫(xiě)的是實(shí)際的count值

MIN(IF [CountD per Category] == [Max CountD per Cat in State] THEN

[Category] + ' (' + STR([CountD per Category]) + ')'

END)


Here’s the calc when looking at the Underlying Data:

在源數(shù)據(jù)中的樣子


And in the view

在視圖中的樣子

Building the final worksheet is a matter of dragging and dropping pills to remove the unneeded measures and generate the final chart:

基于上邊的工作磕蛇,可以著手創(chuàng)建最終的視圖了,簡(jiǎn)單說(shuō)十办,就是拖入有用字段,移除無(wú)用字段超棺。

Why stop here, though? One key feature of using INCLUDE & EXCLUDE LOD expressions is that the results are dependent on the dimensions in the view.?

那么向族,為什么停在這里?

一個(gè)主要的區(qū)別棠绘,它們?nèi)呒啵褪窃倥ぃ晥D中的結(jié)果會(huì)依據(jù)屬兔中的字段維度的不同,而不同的夜矗。

We can take advantage of that (and all the work we’ve done) and simply drag & drop dimensions. Here’s a one-click change to finding the largest category for each Container:

我們可以利用這個(gè)已經(jīng)完成了測(cè)試視圖泛范,做一些簡(jiǎn)單的拖拉維度,即可完成最終視圖紊撕。

如下罢荡,是一個(gè)最終構(gòu)圖的字段截圖,可以參考对扶。


And we can have multiple dimensions, here I’ve added the YEAR(Order Date) to the view with one more click:

那么区赵,我們有多個(gè)維度,我又添加了“年”到視圖中

For those readers who have experience using Tableau table calculations, this last bit is incredibly awesome.?

對(duì)于讀者浪南,那些有經(jīng)驗(yàn)的讀者笼才,使用過(guò)tableau的讀者,這最后一點(diǎn)是難以置信的nb

We could have built any of these views with table calculations, but switching out dimensions would likely break things so every new view would have to be hand-crafted and revalidated,?

我們可以制造任何這些表計(jì)算络凿,但開(kāi)關(guān)的尺寸可能會(huì)打破的東西骡送,所以每一個(gè)新的視圖必須手工重新驗(yàn)證,

whereas with LOD expressions we can be back in the flow of dragging & dropping pills to ask more questions of our data.

而絮记,有了LOD的幫助各谚,,我們可以再次回到思維流的狀態(tài)了,更多的關(guān)注數(shù)據(jù)的故事到千,而不是技術(shù)昌渤。

總結(jié)


?how to work with LOD expressions in a stepwise fashion so you can validate each step of the way, and demonstrated a couple of lesser-known aspects of LOD expressions: using INCLUDE or EXCLUDE without a dimension, using results of INCLUDE or EXCLUDE to do record-level evaluations, and finally how easy it can be (once you’ve done the heavy lifting) to rearrange views using LOD expressions. I hope it’s useful for you, if you have any comments, questions, or other tips, please comment below!


這篇文章描述了另一種算法,使用LOD表達(dá)式憔四,從一個(gè)較低的水平返回一個(gè)維度(細(xì)粒度)到一個(gè)更高的粒度

如何在逐步時(shí)尚LOD表達(dá)工作這樣你就可以驗(yàn)證每一步的方式膀息,并展示了幾個(gè)鮮為人知的方面:使用LOD表達(dá)包括或排除不一個(gè)維度,使用結(jié)果包括或排除做記錄水平的評(píng)估了赵,最后怎么可以輕易(一旦你完成繁重)重新采用LOD表達(dá)意見(jiàn)潜支。我希望這對(duì)你有用,如果你有任何意見(jiàn)柿汛,問(wèn)題或其他提示冗酿,請(qǐng)?jiān)谙旅嬖u(píng)論!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末络断,一起剝皮案震驚了整個(gè)濱河市裁替,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌貌笨,老刑警劉巖弱判,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異锥惋,居然都是意外死亡昌腰,警方通過(guò)查閱死者的電腦和手機(jī)开伏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)遭商,“玉大人固灵,你說(shuō)我怎么就攤上這事〗倭鳎” “怎么了巫玻?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)困介。 經(jīng)常有香客問(wèn)我大审,道長(zhǎng),這世上最難降的妖魔是什么座哩? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任徒扶,我火速辦了婚禮,結(jié)果婚禮上根穷,老公的妹妹穿的比我還像新娘姜骡。我一直安慰自己,他們只是感情好屿良,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布圈澈。 她就那樣靜靜地躺著,像睡著了一般尘惧。 火紅的嫁衣襯著肌膚如雪康栈。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天喷橙,我揣著相機(jī)與錄音阿纤,去河邊找鬼亿眠。 笑死道批,一個(gè)胖子當(dāng)著我的面吹牛错洁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疙剑,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼氯迂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了言缤?” 一聲冷哼從身側(cè)響起嚼蚀,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轧简,沒(méi)想到半個(gè)月后驰坊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哮独,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年拳芙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皮璧。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舟扎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出悴务,到底是詐尸還是另有隱情睹限,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布讯檐,位于F島的核電站羡疗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏别洪。R本人自食惡果不足惜叨恨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望挖垛。 院中可真熱鬧痒钝,春花似錦、人聲如沸痢毒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)哪替。三九已至栋荸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凭舶,已是汗流浹背晌块。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留库快,地道東北人摸袁。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像义屏,于是被迫代替她去往敵國(guó)和親靠汁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容