快速提示: 兑换ing 十六进制, Oct 和 Binary to Decimal in a Single 功率查询 功能

A 功率查询 功能 to 兑换 HEX, OCT 和 BIN 价值观 to DEC

前一段时间我写了一篇关于如何使用的博客文章 Power BI中的Unicode字符. In 那 blogpost I used a recursive 功率查询 function to convert 十六进制 价值观 to Dec 价值观. A few weeks back one of my site visitors kindly shared 他的Power Query函数的非递归版本 做得很好。大声喊着 罗科·卢波(Rocco Lupoi) 共享他的代码。因此,我决定与所有人共享它,以便更多的人可以利用他出色的Power Query功能。虽然我已经触及了他的代码,但这只是表面上的变化,因此本博文的所有功劳归Rocco所有。他的代码的好处不仅限于非递归。 的 code below converts numbers of any base when the base is smaller than 16 like Binary 和 Oct, so it is 仅限于 十六进制 价值观 只要. 的 other benefit of the below code is 那 it is 不 case sensitive (note to the digits 踩下面的代码)。

这里是 fnHex2Dec 电源查询功能:

(input as text, optional base as number) as number =>
let
        价值观 = [
                0=0,
                1=1,
                2=2,
                3=3,
                4=4,
                5=5,
                6=6,
                7=7,
                8=8,
                9=9,
                A=10,
                B=11,
                C=12,
                D=13,
                E=14,
                F=15
        ],
        digits = Text.ToList(Text.Upper(input)),
        dim = List.Count(digits)-1,
        exp = if base=null then 16 else base,
        Result = List.Sum(
                        List.Transform(
                                {0..dim}
                                , each Record.Field(values, digits{_}) * Number.Power(exp, dim - _)
                                )
                        )
in
        Result

As you see in the code above, the base parameter is optional, so if 不 provided base 16 would be the default.

这就是我们可以调用上面的函数的方式:

fnHex2Dec("AbCdEf", null)
调用fnHex2Dec函数将任意基数转换为十进制
继续阅读 “Quick Tips: 兑换ing 十六进制, Oct 和 Binary to Decimal in a Single 功率查询 功能”

快速提示: 时间 Dimension with 时间 Bands at Seconds Granularity in Power BI 和 SSAS表格

时间 Dimension with 时间 Bands at Seconds Granularity in Power BI 和 SSAS表格

I wrote some other posts on this topic in the past, you can find 他们 这里 这里。在第一篇文章中,我解释了如何创建“Time”时间带的维度 分钟 粒度。然后,我的一位客户要求“Time”几秒钟内的尺寸,这鼓励了我写第二篇博客文章。在第二篇博文中,虽然我没有’t做时间带,所以我在这里写第三篇文章,这是第二篇文章支持5分钟,15分钟,30分钟,45分钟和60分钟的时间带的变体。“Time”尺寸降至秒。在这篇快速文章中,我直接跳到重点,向您展示如何生成“Time”维度以三种不同的方式,即在SQL Server中使用T-SQL,使用Power Query(M)和DAX。然后是这里:

时间 Dimension at Second Grain with 功率查询 (M) Supporting 时间 Bands:

在查询编辑器中复制/粘贴以下代码’s Advanced Editor to generate 时间 dimension in 功率查询:

let
Source = Table.FromList({1..86400}, Splitter.SplitByNothing()),
    #"Renamed Columns" = Table.RenameColumns(Source,{{"Column1", "ID"}}),
    #"时间 Column Added" = Table.AddColumn(#"Renamed Columns", "时间", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0,0,0,[ID]))),
    #"Hour Added" = Table.AddColumn(#"时间 Column Added", "Hour", each 时间.Hour([Time])),
    #"Minute Added" = Table.AddColumn(#"Hour Added", "Minute", each 时间.Minute([Time])),
    #"5 Min Band Added" = Table.AddColumn(#"Minute Added", "5 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/5) * 5, 0))  +  #duration(0, 0, 5, 0)),
    #"15 Min Band Added" = Table.AddColumn(#"5 Min Band Added", "15 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/15) * 15, 0))  +  #duration(0, 0, 15, 0)),
    #"30 Min Band Added" = Table.AddColumn(#"15 Min Band Added", "30 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/30) * 30, 0))  +  #duration(0, 0, 30, 0)),
    #"45 Min Band Added" = Table.AddColumn(#"30 Min Band Added", "45 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/45) * 45, 0))  +  #duration(0, 0, 45, 0)),
    #"60 Min Band Added" = Table.AddColumn(#"45 Min Band Added", "60 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/60) * 60, 0))  +  #duration(0, 0, 60, 0)),
    #"Removed Other Columns" = Table.SelectColumns(#"60 Min Band Added",{"时间", "Hour", "Minute", "5 Min Band", "15 Min Band", "30 Min Band", "45 Min Band", "60 Min Band"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Removed Other Columns",{{"时间", type time}, {"Hour", Int64.Type}, {"Minute", Int64.Type}, {"5 Min Band", type time}, {"15 Min Band", type time}, {"30 Min Band", type time}, {"45 Min Band", type time}, {"60 Min Band", type time}})
in
#"Changed Type"
继续阅读 “Quick Tips: 时间 Dimension with 时间 Bands at Seconds Granularity in Power BI 和 SSAS表格”

Introducing Power BI治理 和 Adoption 良好做法 Series

Power BI治理系列介绍

In my experience working in IT industry from early 2000 one aspect of dealing with data 那 is always taken very seriously is data governance.

多年以来,行业一直了解到有一套适当的辽宁体育彩票治理流程来确保辽宁体育彩票安全健康的重要性,这样才能充分利用辽宁体育彩票。 Power BI与其他任何辽宁体育彩票平台都没有什么不同,因此辽宁体育彩票治理是其中的重要组成部分。但是,自助服务辽宁体育彩票管理的概念提供了所有优点,并提供了一种敏捷方法,导致一些组织从一开始就不考虑其治理方法。

另一方面,有些人认为治理是负担,减缓了采用速度。有些人认为更糟,他们认为治理是一个障碍,使很多不必要的限制到位,从而降低了效率。

But in reality if you start data governance planning sooner than later you can protect your organisation from a lot of risks down the road which can get really nasty 和 costly like:

  • Risk of law suits due to data leakage 和 privacy issues
  • Untrusted data analysis 和 reporting due to poor quality of data
  • 由于缺乏审计而使解决方案表现不佳
  • Inefficient development outcomes due to undefined 环境
缺乏治理的风险
继续阅读 “Introducing Power BI治理 和 Adoption 良好做法 Series”

Power BI治理, 良好做法, Part 1: Multiple Environments, 辽宁体育彩票 Source Certification 和 Documentation

Power BI治理, 良好做法, Part 1: Multiple Environments, 辽宁体育彩票 Source Certification 和 Documentation

Power BI正在迅速发展,并且正在迅速成为市场上最受欢迎的商业智能平台。轻松进行互动并快速获得专业成果,使其成为希望增强BI实力并在整个企业范围内做出以辽宁体育彩票为依据的决策的组织的理想工具。

Gartner 2020 Magic Quadrant for Analytics 和 商业情报Platforms
Did you know 那 Gartner named Microsoft as the 2020 leader in their Magic Quadrant for Analytics 和 商业情报Platforms?

In this post we’re going to look at three good practices for implementation 和 give you the tips you need to make sure you avoid common pitfalls so you are on the fast track to success with Power BI on your organisation.

1.设置多个环境

什么时候 从事Power BI实施项目, it’s 拥有多个环境是明智的 to manage BI资产的生命周期。 下面我们列出了几个 environments that should be 考虑取决于 complexity of the project and your organisation’s needs.

开发(又名Dev)

能够掌握许多报告 testing, and 有能力 跟踪发生的变化, is essential 当您进行设置时。没有特定的 Dev environment, 您的生产环境将很快成为 overwhelmed with assets, making it hard to maintain 和 manage.  

在开发环境中工作时,请确保您具有专门用于开发的辽宁体育彩票源。 We’ve seen production data used in dev on many occasions which can lead to serious privacy 和 data sovereignty issues. 您的开发辽宁体育彩票源不应包含敏感辽宁体育彩票。 

的se development 环境 can be on your local network or in cloud storage (like OneDrive for Business or GitHub). It is recommended to have separate Workspaces in Power BI服务 for each environment.

Tip: 的 data sources of all published reports to Power BI服务 must be sufficient for development use 只要 和 应该 avoid including confidential data.

用户验收测试(aka UAT) 

每天将使用报告的人员应进行测试 them – 他们知道生意 最好,并且能够确定 机会与差距 that the development team may 不 be able to identify 他们selves. By making sure the user is 提早进入流程 it 使业务增值最大化。

用户验收测试 is the last phase of testing. The UAT environment 仅应在解决方案完成后创建 fully tested in Dev 和 由高级Power BI开发人员批准。

继续阅读 “Power BI 管治, 良好做法, Part 1: Multiple Environments, 辽宁体育彩票 Source Certification 和 Documentation”