That's the original time range asked in the cube query.

On Tue, Aug 9, 2016, 01:46 Tao Yan <[email protected]> wrote:

> Hi Rajat,
>
> Thanks for the explain. I have a clear understanding about dim relation
> now, however, how does the following condition generated:
>
> and ((sales.order_time) >= '2015-04-13 03:00:00') and ((sales.order_time) < 
> '2015-04-13 04:00:00')))
>
> order_time is a dim attributes defined in sales cube, and it does not have 
> any relationships with properties or other dim attributes (The property 
> cube.timedim.partition.order_time does, but is it the same thing?), I wonder 
> how the query could pick up this column.
>
>
> Thanks,
>
>
> On Mon, Aug 8, 2016 at 4:12 AM, Rajat Khandelwal <[email protected]>
> wrote:
>
>> I've created a jira for this:
>> https://issues.apache.org/jira/browse/LENS-1269
>>
>> You should be able to make change in your data locally and see the
>> non-empty results:
>>
>> cat
>> /Users/rajat.khandelwal/Git/lens/lens-dist/target/apache-lens-2.7.0-SNAPSHOT-bin/apache-lens-2.7.0-SNAPSHOT-bin/client/examples/data/sales_aggr_fact2_local3/sales-aggr-fact2-local3.data
>> 2015-04-13 03:00:00,2015-04-13 04:00:00,1,1,1,1,1,1,5,0
>> 2015-04-13 03:00:00,2015-04-13 04:00:00,2,1,2,2,2,1,8,2
>>
>>
>> On Mon, Aug 8, 2016 at 2:46 PM Rajat Khandelwal <[email protected]>
>> wrote:
>>
>>> More details on how it converts to the fallback range:
>>>
>>> Range asked:
>>> (order_time, '2015-04-13-03', '2015-04-13-04')
>>>
>>> Timedim Relation :
>>>
>>> <property name="cube.timedim.relation.order_time" value="delivery_time+[-20 
>>> days,-1 hour]" />
>>>
>>> <property name="cube.timedim.relation.order_time" value="delivery_time+[-2 
>>> hours,-1hour]" />
>>>
>>> The cube defines the first relation, the fact defines the second relation. 
>>> A fact can optionally override the timedim relation defined by cube. So the 
>>> second one is picked :
>>>
>>> Derivation:
>>>
>>> 2015-04-13-03 <=ot < 2015-04-13-04
>>> dt - 2 hours <= ot <= dt - 1 hour => ot + 1 hour <= dt <= ot + 2 hour
>>> => 2015-04-13-04 <= dt < 2015-04-13-06.
>>>
>>> Hope it's clearer now.
>>>
>>>
>>> On Mon, Aug 8, 2016 at 1:29 PM Rajat Khandelwal <[email protected]>
>>> wrote:
>>>
>>>> Hi
>>>>
>>>> So it seems right now the query is designed to return 0 rows. The query
>>>> is there just to demonstrate the fallback feature.
>>>>
>>>> Cube query is
>>>>
>>>> cube select customer_city_name, store_cost from sales where 
>>>> time_range_in(order_time,
>>>> '2015-04-13-03', '2015-04-13-04')
>>>> Driver query comes out to be
>>>>
>>>> SELECT (customer_city.name), sum((sales.store_cost)) FROM 
>>>> a.local_sales_aggr_fact2 sales join a.local_city_table customer_city on 
>>>> sales.customer_city_id = customer_city.id and (customer_city.dt = 
>>>> 'latest') WHERE (((((sales.dt) = '2015-04-13-04') or ((sales.dt) = 
>>>> '2015-04-13-05')) and ((sales.order_time) >= '2015-04-13 03:00:00') and 
>>>> ((sales.order_time) < '2015-04-13 04:00:00'))) GROUP BY 
>>>> (customer_city.name)
>>>>
>>>> Then I modified the driver query and ran:
>>>>
>>>> SELECT (customer_city.name), sales.order_time, sales.store_cost FROM 
>>>> a.local_sales_aggr_fact2 sales join a.local_city_table customer_city on 
>>>> sales.customer_city_id = customer_city.id and (customer_city.dt = 
>>>> 'latest') WHERE (((((sales.dt) = '2015-04-13-04') or ((sales.dt) = 
>>>> '2015-04-13-05'))))
>>>>
>>>> Found the following results:
>>>>
>>>> Bangalore^A2015-04-13 00:00:00^A0.0
>>>> Hyderabad^A2015-04-13 00:00:00^A2.0
>>>>
>>>> It's apparent that both the rows will be filtered out by the translated
>>>> query.
>>>>
>>>> I'll look deeper and replace the example query with something that
>>>> demonstrates the fallback feature and also returns non-empty results.
>>>>
>>>> Let us know if you have any confusion understanding the feature itself.
>>>> I think the video should have covered it.
>>>>
>>>>
>>>> Regards
>>>>
>>>
>
>
> --
>
> *Tao Yan*
> Software Engineer
> Data Analytics Infrastructure Tools and Services
>
>
>
> 206.250.5345
> [email protected]
> https://www.linkedin.com/in/taousc
>

Reply via email to