Integration Setup
You can find detailed setup instructions herePublishing a model
- Download a semantic model from Honeydew
- Load a semantic model on Power BI Desktop, that is connected to Power BI Service.
- Save the model as a *.pbix file.
- Publish the saved model to the Power BI Service.
- Open the model in the Power BI Service.
- You can now build reports on top of the published model or use the model directly from Power BI Service.
API Integration
The Power BI API integration enables direct publishing of semantic models from Honeydew to the Power BI Service without requiring manual download of a*.pbit / *.pbix files.
You can find instructions on how to set up API integration with Power BI here.
Direct Query
Power BI connects directly to Honeydew in Direct Query mode by using the Honeydew ODBC driver. A Honeydew domain will be presented to the data model as a single virtual table.Excel on Honeydew runs using Power BI connection. See Excel for details.
Metadata Sync
With Metadata Sync, Honeydew synchronizes the following metadata to Power BI:- Table display names (based on domain and entity display names). When no display name is set, Honeydew creates an automatic user friendly name.
- Field type (metric or attribute) - attributes have default aggregation set to “none” and are presented as fields. regardless to data type, while metrics have a default aggregation set and are presented as measures.
- Field display names. When no display name is set, Honeydew creates an automatic user friendly name.
- Field folders. When no folder is set, Honeydew uses entity names as folder names.
- Field hidden property.
- Field descriptions.
- Field format and semantic role (through metadata configuration).
Power BI-specific Metadata
Attributes and Metrics: You can add Power BI-specific metadata, that specifies the default formatting or the semantic role, to an attribute or a metric in the schema:formatstring values (Power BI DAX documentation):
yyyy-mm-dd#,##0;-#,##0
datacategory values:
LatitudeLongitudePostalCodeCityStateOrProvinceContinentPlaceWebUrlImageUrlBarcode
Cross-Filtering and Referential Integrity
Honeydew supports cross filtering similar to Power BI. The following table helps translate Power BI settings to Honeydew:| Power BI Referential Integrity | Power BI Cross-Filtering | Honeydew Join Type (from many to 1) | Honeydew Cross-Filtering |
|---|---|---|---|
| No (Power BI default) | Single (Power BI default) | LEFT | One-to-many |
| No | Both | LEFT (Honeydew default) | Both (Honeydew default) |
| Yes | Single | INNER | One-to-many |
| Yes | Both | INNER | Both |
Data Caching in Power BI
Honeydew supports caching the attributes of entities within Power BI in order to speed up queries over those entities. Caching is done by exposing cached entities as separate “virtual tables” in Power BI with a storage mode.Power BI entity caching is helpful to keep in-memory small dimensions (up to 1GB in total size, up to 1M rows per each entity).For general purpose attribute caching in Snowflake see Entity Caching
- Attributes only.
- Dimensions, not facts: Entities that are not the top granularity, and have a single join path to a higher granularity.
- With one-to-many or none cross filtering
Dual Storage Mode enables Power BI Service to cache entity data.Attribute queries using that entity will be answered in-memory. Other queries (such as metrics or combining the entity with other entities) will be translated in Honeydew with a direct mode.
- Not set: entity will appear as a folder under the main domain virtual table.
- Set: entity will appear as a separate virtual table.
directQuery: No performance impact on queries. The entity appears as a separate virtual table.dual: Speeds up queries that only need entity attributes. There is no performance impact on other queries. Use for dimensions with 1M rows or less.import: Can negatively impact the performance of queries that join across entities. Not recommended - when in doubt, always preferdual.
Limitations
DAX limitations on a Direct Query apply to a Honeydew connection. Logic that would otherwise require advanced DAX can be built directly in Honeydew instead. That includes complex multi-step calculations, filtered or partial metrics, calculated fields, time intelligence and other advanced features. Every Honeydew metric is consumable with Power BI in a Direct Query mode. Refer to relation modeling on how to model 1:1 or many:many relations which are not directly supported. A 1:1 Power BI relationship with a preset cross-filtering direction typically maps to a Honeydew 1:many relation with same direction.Case Sensitive Data
Semantic Model Chaining
You can create chained semantic models to extend the Honeydew semantic model with additional definitions, such as parameters, without modifying the original Honeydew semantic layer. For more information on model chaining, see the Power BI documentation.Workflow
- Publish a semantic model from Honeydew to Power BI Service
- Create a new blank report on Power BI Desktop, connected to the published Honeydew semantic model
- Go to the Modeling tab, and click on Make changes to this model

- In the “A DirectQuery connection is required” popup, click Add a local model

- In the “Connect to your data” dialog, click Submit

- Use the chained model to create your additional definitions, extending the original semantic model created by Honeydew.
- Create reports based on the chained model
Example: Adding Parameters
You can add parameters to chained semantic model that aren’t defined in the original Honeydew semantic layer:- Create a chained semantic model in Power BI Desktop, as described above
-
Add parameters in the chained model:
- Create parameters for filtering, formatting, or calculations
- Example:
Fiscal Year Start Month,Currency Code,Date Range
-
Create reports using the chained model:
- Reports can use the parameters defined in the chained model as filters and other visualizations controls
- Users can interact with parameters through slicers and filters
Limitations
- Calculated columns are currently not supported in Honeydew chained models.
Import
Power BI can import data from dynamic datasets in Snowflake.With a VIEW or a TABLE
Dynamic datasets can be set up deployment to Snowflake. The resulting VIEW or TABLE can be used for a Data Import.With Snowflake Native Application
Create a blank query, and open advanced query editor to write the query below: To read from a dynamic dataset:workspace, a working branch in it (usually would be prod), and a dynamic dataset dataset.
This calls a stored procedure to retrieve dynamic dataset data to Power BI.