Страницы: 1
RSS
Развернуть даты в PQ/Power pivot (автокалендарь + интревальный просмотр ВПР)
 
Всем доброго дня.

Есть таблица, где указана дата цены и цена, которая действует до начала новой даты цены (например, первая цена 01.01.19г, вторая цена 01.02.19г. соответственно первая цена действует месяц).
И есть таблица автокалендарь.
В какую сторону копать, чтоб к каждой дате автокалендаря соответствовала цена, которая относится к промежутку между ценами (что-то типа интервального просмотра ВПР, но уверен в DAX или PQ что-то другое должно быть)?
Т.е. к 02-31.01.19г. должна подтянуться цена от 01.01.19г.

Спасибо.

Ковырял файл, но не получилось. Во вложении.
 
Проковыряли вы ваш файл насквозь, что аж не прикрепился.
Вы определитесь вам нужно в PQ сделать таблицу с ценами на каждый день?
Или в DAX сделать меру, которая будет подтягивать цену из имеющейся (не на каждый день) таблицы справочника?
Покажите в примере что есть, и что надо получить в итоге.
Вот горшок пустой, он предмет простой...
 
PooHkrd, спасибо, что откликнулись. Также пардон за косноязычие.

Нужна таблица в PQ, которая сделает таблицу с ценами за каждый день. Но как это сделать в PQ не дотумкал. Тем более в PQ нет возможности автокалендарь создать (или ошибаюсь?)
 
.
 
artyrH, , спасибо.
Закручено.
Можете пояснить вот это:
Что такое
{0}?
..?
Splitter.SplitByNothing()?
ExtraValues.Error?
Код
a[Дата начала цены]{0}..a[конец]{0}-1}, Splitter.SplitByNothing(),null , null, ExtraValues.Error)
 
Валерий Кузнецов, в файле смотрите
 
Доброе время суток.
Ещё вариант на Power Query.
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Typed = Table.TransformColumnTypes(Source, {{"Дата начала цены", type date}, {"Цена", Int64.Type}}),
    minDate = List.Min(Typed[#"Дата начала цены"]),
    maxDate = #date(Date.Year(List.Max(Typed[#"Дата начала цены"])), 12, 31),
    dateList = List.Dates(minDate, Duration.TotalDays(maxDate - minDate) + 1, #duration(1, 0, 0, 0)),
    addPrice = Table.Join(Table.FromColumns({dateList}, {"Дата"}), {"Дата"}, Typed, {"Дата начала цены"}, JoinKind.LeftOuter),
    fillPrice = Table.FillDown(addPrice,{"Цена"}),
    removeJoinKey = Table.RemoveColumns(fillPrice,{"Дата начала цены"}),
    #"Changed Type" = Table.TransformColumnTypes(removeJoinKey,{{"Дата", type date}})
in
    #"Changed Type"
Страницы: 1
Наверх