in pbi-heat-streams/src/data/DataViewConverter.ts [42:76]
public unpackDomainScrub(
dataView: powerbiVisualsApi.DataView,
): TimeDomain | null {
const castScrubPoint = (v: any) => {
if (typeof v === 'string') {
const isNum = /^\d+$/.test(v)
if (isNum) {
return Number.parseFloat(v)
} else {
return new Date(v)
}
}
return v
}
const customFilter = get(dataView, 'metadata.objects.data.filter')
const cond = get(customFilter, 'whereItems[0].condition')
const dateScrubStart = castScrubPoint(
get(
cond,
'left.right.arg.value', // PBI Service
get(cond, 'left.right.value'), // PBI Desktop
),
)
const dateScrubEnd = castScrubPoint(
get(
cond,
'right.right.arg.value', // PBI Service
get(cond, 'right.right.value'), // PBI Desktop
),
)
const isValidScrub =
dateScrubStart && dateScrubEnd && +dateScrubStart !== +dateScrubEnd
return isValidScrub ? [dateScrubStart, dateScrubEnd] : null
}