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

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

前一段时间我写了一篇关于如何使用的博客文章 Power 双 中的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 双 和 SSAS表格

时间 Dimension with 时间 Bands at Seconds Granularity in Power 双  和 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 双 和 SSAS表格”

Power 双 治理, 良好做法 , Part 2: 版本控制 with 一个驱动器, Teams 和 的SharePoint Online

Power 双 治理, 版本控制 with 商业用OneDrive, 微软团队 和 的SharePoint Online

软件开发生命周期中最重要的方面之一是控制解决方案的不同版本,尤其是在一个项目中,有多个开发人员参与实施的项目中。就像通常在Visual Studio中创建项目并将更改提交回GitHub或Azure DevOps之类的源代码控制系统一样,’建议保留Power 双 报告不同版本的历史记录。我们对源代码控制解决方案的期望是,在开发项目时始终跟踪源代码中发生的所有更改。因此,您可以根据需要轻松地回滚到以前的状态。 

的 other benefit of having a 源代码控制 process in place is when multiple developers are working on a single 项目. Every single one of 他们 makes changes in the source code then they commit all the changes into the 源代码控制 server without overwriting each others’ work. 

但是使用Power 双 会有些不同。 Power 双 报告文件是以二进制格式存储的PBIX文件(嗯,PBIX基本上是一个zip文件吗?),在撰写本文时,尚无官方方法来实施Power 双 源代码控制 在任何源代码控制解决方案中,如GitHub或Azure DevOps(YET)。 

微软上周(6/05/2020)宣布了一项名为“部署管道”的功能完全可以满足我们的需求,但目前是预览功能,仅适用于具有Power 双 Premium的组织。因此,对于我们大多数人来说,这是不可行的。

Having said 那, there is still a way to keep history of changes in the shape of different versions of PBIX files. This is called 版本控制.

的re are several ways you can enable version control over your PBIX files while developing the report. Regardless of the version control platform you need to think about having multiple 环境 和 who can access 他们 for doing what.

环境可访问描述
发展历程开发者数据 modellers 和 report writers access this environment for development purposes.  
用户验收测试 (UAT)开发人员,中小企业,技术主管,Power 双 管理员开发完成后,开发人员将解决方案部署到UAT环境。然后,该解决方案将由SME(主题专家)进行测试,以确保满足业务要求。
预生产 (可选,但推荐)Power 双 管理员技术主管After the solution passed all UAT testing scenarios Technical Leads or Power 双 管理员s will deploy it to 预生产 for final checks to make sure all data sources are correctly pointing to production data sources 和 all reports 和 dashboards are working as expected.  
生产技术主管,Power 双 管理员,最终用户产品前检查完成后,技术主管或Power 双 管理员将解决方案部署到生产环境中,然后供最终用户使用。

版本控制选项

如果您的组织没有高级能力,则“Deployment Pipelines”该功能对您不可用。因此,您需要提出一个解决方案。在本节中,我列出了一些可用的版本控制选项

  • 商业用OneDrive
  • 微软团队 / 的SharePoint在线
继续阅读 “Power 双 管治, 良好做法 , Part 2: 版本控制 with 一个驱动器, Teams 和 的SharePoint Online”

Power 双 治理, 良好做法 , Part 1: Multiple 环境s, 数据 Source Certification 和 Documentation

Power 双 治理, 良好做法 , Part 1: Multiple 环境s, 数据 Source Certification 和 Documentation

Power 双 正在迅速发展,并且正在迅速成为市场上最受欢迎的商业智能平台。轻松进行互动并快速获得专业成果,使其成为希望增强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 双 on your organisation.

1.设置多个环境

什么时候 从事Power 双 实施项目, 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 or GitHub). It is recommended to have separate 工作空间s in Power 双 服务 for each environment.

Tip: 的 data sources of all published reports to Power 双 服务 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 双 开发人员批准。

继续阅读 “Power 双 管治, 良好做法 , Part 1: Multiple 环境s, 数据 Source Certification 和 Documentation”